All pastes #1517656 Raw Edit

DSL for Kaa

public python v1 · immutable
#1517656 ·published 2009-08-04 07:33 UTC
rendered paste body
#DSL-code for http://img199.imageshack.us/img199/7403/kaalinv.png or http://img27.imageshack.us/img27/3010/kaawin.jpg{"tblTMPDEPPRECEIPT": { # Имя шаблона        'ResTitle': 'Расход на склад ГП',  #То, что пишется на вкладке        'Table' : 'TMPDEPPRECEIPT', #Наименование таблицы из СУБД        'Fields': {'NDoc': ('N док-та', 3, 'inG', 'inP', 'SK'), #Описание полей из запроса. Формат ниже:                   'Stamp': ('Дата', 11, 'inG', 'inP', 'SK'),  #'Поле': ('Наименование поля', длина, 'Показывать в таблице', 'И на панели', 'Сортировать или нет'),                     'SSum': ('Сумма', 7, 'inG', 'inP', 'SK'),                   'Quantity': ('Кол-во', 5, 'inG', 'inP', 'nS'),                   'LastName': ('OTK', 8, 'inG', 'inP', 'SK'),                   'Sdal': ('Сдал', 8, 'inG', 'inP', 'SK'),                   'Memo': ('Примечание', 15, 'noG', 'inP', 'SK'),                   'TMPSTOREHOUSE': ('Пр.Скл.', 2, 'inG', 'inP', 'SK'),                   'Pname': ('Изделие', 16, 'inG', 'inP', 'nS'),                   'CtCode': ('ШВИ', 4, 'inG', 'inP', 'nS'),},        'FieldPosition':('NDoc', 'Stamp', 'SSum', 'Quantity', 'Sdal',  'LastName', 'Pname', 'CtCode', 'Memo', 'TMPSTOREHOUSE'), #Порядок полей. Используется потому, что словари не держат порядка ввода, однако оказался очень полезен для контроля видимости их в рантайме        'Query':'''select pr.* from v_deppreceipt pr        join tmpdeppreceipt d on d.id=pr.id        order by  pr.stamp desc, pr.ndoc desc''', Собственно запрос        'FilterForm':'fltDepPreceipt', Форма для фильтра        'ChildLink': ('resDBDepPreceipt', 'IDTMPDEPPRECEIPT',)  #Описание шаблона для связанной конструкции (реализация Master-Detail), которая ниже по вложенности. Текущая конструкция вызывается подобным образом.    }},    {'Tasks': ('tskMoveDepPreceipt', 'tskPrintTmpStorehouse', 'tskSeveralInvoices',)} #Перечень задач. Задачи это все то, что невписывается в забивку данных, для которых предназначена таблица.    ]#Описание диалога редактирования и фильтрации.:    'tblTMPDEPPRECEIPT':       {'NDoc' : ('edit', 'N док-та'), #поле ввода. Вводимые данные контролируются типом поля        'Stamp' : ('date', 'Дата'), #поле ввода даты (календарик)        'OTK' : ('combo', 'tblMWorkers1', 'ОТК'), #Поле для ввода данных из списка, видно на рисунке. 'tblMWorkers1' - таблица, с фамилиями, которую видно на рисунке. Ее описание, похоже на шаблон выше        'ENTEREDBY' : ('combo', 'tblMWorkers', 'Сдал'),        'TMPSTOREHOUSE' : ('checkbutton', 'Промежуточный склад'), #Есть еще радиобуттон и группа чекбоксов        'Memo' : ('edit', 'Примечание'),        'FieldPosition':('OTK', 'NDoc','Stamp', 'ENTEREDBY', 'TMPSTOREHOUSE', 'Memo'),        '$Actions$':({'Распечатать накладную':'cmPintInvoiceFP'}, #Выполнение неких действий, кроме релактирования прямо на форме редактирования, реализуется командами типа 'cmCondirmRec'.                     {'Подтвердить поступление на склад':'cmCondirmRec'}),},