#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'}),},