Skip to content

Instantly share code, notes, and snippets.

View TurkerTunali's full-sized avatar

Türker Tunalı TurkerTunali

View GitHub Profile
@TurkerTunali
TurkerTunali / logo_utils.py
Created June 16, 2025 09:07
ERPNext - Logo Tiger Entegrasyonu
########## LOGEDOSOFT BUSINESS SOLUTIONS #############
################## LOGO INTEGRATION ##################
def gzip_zip_base64(content):
import gzip
import base64
import sys
import os
"""
gzip + base64 compression
In this way the compressed object relatively short / small when the effect is not obvious, but since then base64 becomes large, but the compression is relatively large when the object will be effective
{"name":"Raf Etiketi 1","owner":"Administrator","creation":"2025-06-01 11:15:23.967823","modified":"2025-06-01 12:27:43.814669","modified_by":"Administrator","docstatus":0,"idx":0,"print_designer":0,"doc_type":"Item","module":"Stock","default_print_language":"en","standard":"No","print_designer_template_app":"print_designer","custom_format":1,"disabled":0,"pdf_generator":"wkhtmltopdf","print_format_type":"Jinja","raw_printing":0,"html":"<table class=\"label-table\">\n <tbody>\n <tr>\n <td rowspan=\"3\"class=\"image-cell\">\n <img src=\"https://placehold.co/200\" class=\"product-image\" alt=\"Product Image\">\n </td>\n <td colspan=\"2\" class=\"item-name-cell\">\n <div>{{doc.item_name}}</div>\n </td>\n </tr>\n <tr>\n <td class=\"info-row\">\n <div class=\"info-row-text\">Max. miktar: ________ {{doc.stock_uom}}</div>\n </td>\n <td rowspan=\"2\" class=\"qr-code-cell\"
{"name":"User Data History","owner":"Administrator","creation":"2025-05-22 13:50:31.482964","modified":"2025-05-30 01:24:20.204701","modified_by":"[email protected]","docstatus":0,"idx":0,"report_name":"User Data History","ref_doctype":"Version","is_standard":"No","module":"Core","report_type":"Query Report","add_total_row":0,"disabled":0,"prepared_report":0,"timeout":0,"query":"SELECT \n v.name AS version_id,\n v.creation AS change_timestamp,\n v.owner AS changed_by,\n v.ref_doctype AS document_type,\n v.docname AS document_name,\n CASE \n WHEN j.source = 'changed' THEN 'changed'\n WHEN j.source = 'added' THEN 'added'\n WHEN j.source = 'removed' THEN 'removed'\n ELSE 'unknown'\n END AS change_type,\n j.field_name,\n CASE \n WHEN j.source = 'added' THEN NULL\n ELSE CONVERT(j.old_value USING utf8mb4) COLLATE utf8mb4_turkish_ci\n END AS old_value,\n CASE \n WHEN j.source = 'removed' THEN NULL\n ELSE CONVERT(j.new
@TurkerTunali
TurkerTunali / report.json
Created May 7, 2025 08:03
User Change History
{"name":"User Data History","owner":"[email protected]","creation":"2025-04-18 22:58:51.526033","modified":"2025-05-07 10:18:12.185534","modified_by":"[email protected]","docstatus":0,"idx":0,"report_name":"User Data History","ref_doctype":"Version","is_standard":"No","module":"Core","report_type":"Query Report","letter_head":"","add_total_row":0,"disabled":0,"prepared_report":0,"timeout":0,"query":"SELECT \n v.name AS version_id,\n v.creation AS change_timestamp,\n v.owner AS changed_by,\n v.ref_doctype AS document_type,\n v.docname AS document_name,\n CASE \n WHEN j.source = 'changed' THEN 'changed'\n WHEN j.source = 'added' THEN 'added'\n WHEN j.source = 'removed' THEN 'removed'\n ELSE 'unknown'\n END AS change_type,\n j.field_name,\n CASE \n WHEN j.source = 'added' THEN NULL\n ELSE CONVERT(j.old_value USING utf8mb4) COLLATE utf8mb4_turkish_ci\n END AS old_value,\n CASE \n WHEN j.source = 'removed' THEN
@TurkerTunali
TurkerTunali / excel_download_client.js
Created April 2, 2024 14:46
Excel Create and Download Frappe (ERPNext)
frappe.ui.form.on('Sevkiyat', {
refresh: function(frm) {
frm.add_custom_button('Çeki Listesi Oluştur', async function() {
let columns = ["Batch", "Item Code", "Roll ID", "Customer", "Sales Order", "Net Weight [Kg]", "Gross Weight [Kg]", "Meter [cm]", "Width [cm]", "Diameter [cm]"];
let data = [];
for(let dItemIndex = 0; dItemIndex < frm.doc.shipment_detail.length; dItemIndex++) {
let docBatch = await frappe.db.get_doc("Batch", frm.doc.shipment_detail[dItemIndex].batch);
console.log(docBatch.reference_name);
let docWO = await frappe.db.get_value("Stock Entry", docBatch.reference_name, "work_order");
@TurkerTunali
TurkerTunali / rn_dynamic_test1.json
Last active December 18, 2023 21:14
rn_dynamic_test1
{ "buttons": [
{
"text": "Google",
"onPress": "() => alertButtonPressed('Button google pressed.')"
},
{
"text": "Facebook",
"onPress": "() => alertButtonPressed('Button facebook pressed.')"
},
{
@TurkerTunali
TurkerTunali / AttachItemFiles.js
Last active April 18, 2025 02:18
This client script will attach files from the items by types to the current document.
function GetFileAttachments(frm, arrItemCode) {
//Get files which are added to given items
frappe.db.get_list("File", {
filters: [
['attached_to_name', 'in', arrItemCode],
['attached_to_doctype', '=', "Item"]
],
fields: ["file_name", "file_url", "folder"],
limit: 9999
}).then((data) => {
{
"$jason": {
"head": {
"title": "Frappe Mobile"
},
"body": {
"style": {
"border": "none",
"background": "#FFFFFF"
},
SELECT
YEAR(INVOICE.DATE_) Yıl,
ITEMS.CODE MLZ_KODU,
ITEMS.NAME MLZ_ADI,
CASE MONTH(INVOICE.DATE_)
WHEN 1 THEN '01.Ocak' WHEN 2 THEN '02.Şubat' WHEN 3 THEN '03.Mart'
WHEN 4 THEN '04.Nisan' WHEN 5 THEN '05.Mayıs' WHEN 6 THEN '06.Haziran'
WHEN 7 THEN '07.Temmuz' WHEN 8 THEN '08.Ağustos' WHEN 9 THEN '09.Eylül'
WHEN 10 THEN '10.Ekim' WHEN 11 THEN '11.Kasım' WHEN 12 THEN '12.Aralık' ELSE '' END AS [Ay],
CASE INVOICE.TRCODE WHEN 7 THEN 'Perakende Satış Faturası'
<?xml version="1.0" encoding="ISO-8859-9"?>
<SALES_DISPATCHES>
<DISPATCH DBOP="INS">
<TYPE>8</TYPE>
<NUMBER>TKI2021000002450</NUMBER>
<DATE>27.12.2021</DATE>
<TIME>186843136</TIME>
<DOC_NUMBER>TKI2021000002450</DOC_NUMBER>
<ARP_CODE>V0006-BUC</ARP_CODE>
<SOURCE_WH>2</SOURCE_WH>