Пример создания простой печатной формы — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Программа) |
Hisava (обсуждение | вклад) м |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 53: | Строка 53: | ||
end | end | ||
− | ( _ )->( DbGoTop() ) | + | ( _ )->( [[DbGoTop]]() ) |
− | SetDataPipeLine( _, 2 ) | + | [[SetDataPipeLine]]( _, 2 ) |
finally | finally | ||
− | HideMsg( msg ) | + | [[HideMsg]]( msg ) |
end | end | ||
Строка 64: | Строка 64: | ||
// _2 - имя | // _2 - имя | ||
// _3 - количество | // _3 - количество | ||
− | |||
= Смотрите также = | = Смотрите также = | ||
[[Информация для разработчиков системы фабиус]] | [[Информация для разработчиков системы фабиус]] |
Текущая версия на 12:25, 2 августа 2017
Существует задание - создать форму по передаче остатков
Для создания печатной формы открываем именно то место в программе, где пользователь будет нажимать F5
В нашем случае в соответствии с заданием это ПК1 Вафельный ( 6 ) - Движение сырья, продукции, брака - Изделия - Одна смена
Нажимаем SHIFT+F9 "ДизОтч". Открывается справочник R221
Добавляем бланк, для этого нажимаем на клавишу F6
Все, что надо заполнить показано на картинке
Нажимаем F3. Затем нажимаем ENTER
Дизайнер отчетов
После изменения получаем такой отчет ( в конечном итоге, в результате )
Программа
<REPORT/OPENPIPELINE>
local sql, _, fld, msg, i try msg := WaitMsg( 'Подготовка данных' ) fld := ' _0,N,5; _1,N,5; _2,C,80; _3,N,14,2; ' _ := CreateTmpFile( fld, '_', ~IsFreeDel := true, ~Own := PrintForm() ) sql := [ Select ANAL2, EAMNT From REPS] + Ret_f_ext() + [ Where SHIFT = '] + SHIFT + [' and ANAL1 = ] + ANAL + [ and REFL1 = 'R10 ' and ; REFL2 = 'R11 ' and ANAL2 > 0 and EAMNT > 0 ] SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _3 ) ] + sql, OpdataPath ) // r11 sql := [ Update _ Set _2 = Left( PNAME, 80 ) From ] + TmpFilePath( _ ) + [ _ left outer join R11 ON _1 = KOD ] SimpleSql( sql, ReflisPath ) ( _ )->( DbGoTop() ) i := 0 Select( _ ) while !eof() i := i + 1 ( _ )->_0 := i DbSkip() end ( _ )->( DbGoTop() ) SetDataPipeLine( _, 2 ) finally HideMsg( msg ) end // _0 - номер по порядку // _1 - код // _2 - имя // _3 - количество