Форма-прототип
Добавлено: 25 авг 2014, 19:23
Сами разрабатывали свой модуль с документами, справочниками, разными отчетами. Есть форма-прототип для отчетов, как в эту форму-прототип добавить новую переменную? Это все делали до меня...
Сама форма-прототип:
Сама форма-прототип:
Код: Выделить всё
/*
Форма-Прототип 'SF'
d1 d2 - дата с/по
master - nrec выбранного мастера из таблицы sfpersons,
также является временной переменной, для наложения ограничений на формирование отчета
mastFIO - ФИО мастера
! Шапка документа
nrecDoc - nrec документа в таблице, sfdocs.atl_nrec
datedoc - Дата документа, sfdocs.datedoc
numbshift - Номер смены (1 - 0:00-8:00, 2 - 8:00-16:00, 3 - 16:00-24:00), sfdocs.numbshift
typedoc - Тип документа, sfdocs.typedoc :
1 - Литье
2 - Керосиновый контроль
3 - Сортировка (Туннельная печь)
4 - Пересортировка из 1 сорта
5 - ППД (Печь переменного действия)
6 - Вторичный обжиг
7 - Холодное лечение
8 - Лечение полуфабриката
9 - Пересортировка из 2 сорта
10 - Фотополимерная лечка
numbGlBr - Номер глаз.бригады (1-4), sfdocs.numbglazbring
numbVag - Номер вагонетки, sfdocs.numbrailroad
numbKiln - Номер печи (1|2), sfdocs.numbkiln
page - Страница документа, sfdocs.page
experiment - эскперимент (К), sfmclist.experiment
cperNrec - nrec литейщика, sfdocs.csfperson = sfpersons.atl_nrec
cperNumb - Номер литейщика, sfdocs.csfperson->sfpersons.numbworker
cperFio - ФИО литейщика, sfdocs.csfperson->sfpersons.sffio
cperAllFIO - ФИО литейщика ОК, sfdocs.csfperson->sfpersons.cperson->persons.fio
cperTabnmb - Табельный номер, sfdocs.csfperson->sfpersons.cperson->persons.tabnmb
cperType - Тип работника, sfdocs.csfperson->sfpersons.typeWorker
cperCmas - nrec мастера у литейщика, sfdocs.csfperson->sfpersons.cmaster = sfpersons.atl_nrec
cperNumbBr - Номер бригады литейщика, sfdocs.csfperson->sfpersons.numberbring
! тоже самое по мастеру, технологу, обжигальщику и контролеру
cmasNrec cmasNumb cmasFio cmasAllFIO cmasTabnmb cmasType - мастер
cpertechNrec cpertechNumb cpertechFio cpertechType cpertechCmas cpertechNumbBr - технолог
cperburnNrec cperburnNumb cperburnFio cperburnType cperburnCmas cperburnNumbBr - обжигальщик
cpercontrNrec cpercontrNumb cpercontrFio cpercontrType cpercontrCmas cpercontrNumbBr - контролер
! МЦ привязанные к документу, sfmclist.csfdoc = sfdocs.atl_nrec,
! используются МЦ с katmc.isArch = 5
collMCNrec - nrec коллекции к которой относится МЦ, exclassseg.nrec
collMC - Название коллекции, exclassseg.name
'SELECT exclassseg.nrec, exclassseg.name
FROM exclassval, exclassseg, sfmclist
WHERE (( sfmclist.ckatmc == exclassval.crec and // равносильно katmc.nrec = exclassval.crec для МЦ
1411 == exclassval.wtable and
3 == exclassval.classcode ))
and ( exclassval.cclassseg = exclassseg.nrec );'
sfmclistNrec - nrec МЦ в таблице sfmclist, sfmclist.atl_nrec
mcNrec - nrec МЦ, sfmclist.ckatmc->katmc.nrec
mcBarkod - Номер (баркод) МЦ, sfmclist.ckatmc->katmc.barkod
mcName - Название МЦ, sfmclist.ckatmc->katmc.name
mcGrNrec - nrec группы МЦ, sfmclist.ckatmc->katmc.cgroupmc = groupmc.nrec
mcGrName - Название группы МЦ, sfmclist.ckatmc->katmc.cgroupmc->groupmc.name
mcGrKod - Код группы МЦ, sfmclist.ckatmc->katmc.cgroupmc->groupmc.kod
mcPrSort - Процент сортности по МЦ, sfmclist.ckatmc->katmc.volume
mcMassa - Масса МЦ, sfmclist.ckatmc->katmc.massa
sfmclistDatecasting - Дата отлитого изделия, sfmclist.datecasting
sfmclistCsfperson - nrec литейщика, sfmclist.cperson = sfpersons.atl_nrec
sfmclistCsfpersonNumb - Номер литейщика, sfmclist.cperson->sfpersons.numbworker
sfmclistCsfpersonSffio - ФИО литейщика, sfmclist.cperson->sfpersons.sffio
sfmclistCsfpersonFIO - ФИО лиейщика в ОК, sfmclist.cperson->sfpersons.cperson->persons.fio
sfmclistCsfpersonTabnmb - Табельный номер литейщика,sfmclist.cperson->sfpersons.cperson->persons.tabnmb
sfmclistCsfpersonCmast - nrec мастера литейщика, sfmclist.cperson->sfpersons.cmaster
sfmclistCsfpersonCmastNumbMast - Номер мастера литейщика, sfmclist.cperson->sfpersons.cmaster->sfpersons.numbworker
sfmclistCsfpersonCmastSffio - ФИО мастера литейщика, sfmclist.cperson->sfpersons.cmaster->sfpersons.sffio
sfmclistCsfpersonNumbBr - Номер бригады литейщика, sfmclist.cperson->sfpersons.numberbring
sfmclistCpLech - nrec лекаря, sfmclist.cpersonLech = sfpersons.atl_nrec
sfmclistCpLechSffio - ФИО лекаря, sfmclist.cpersonLech->sfpersons.sffio
sfmclistCpLechNumbW - Номер лекаря, sfmclist.cpersonLech->sfpersons.numbworker
sfmclistCpLechCmast - nrec мастера лекаря, sfmclist.cpersonLech->sfpersons.cmaster
sfmclistСpK - nrec керосинщика, sfmclist.csfpersonK
sfmclistСpKSffio - ФИО керосинщика, sfmclist.csfpersonK->sffio
sfmclistСpKNumbW - Номер керосинщика, sfmclist.csfpersonK->numbWorker
sfmclistCpKCmast - nrec мастера керосинщика, sfmclist.csfpersonK->cmaster
sfmclistСpGl - nrec глазуровавшего, sfmclist.csfpersonGl
sfmclistСpGlSffio - ФИО глазуровавшего, sfmclist.csfpersonGl->sffio
sfmclistСpGlNumbW - Номер глазуровавшего, sfmclist.csfpersonGl->numbWorker
sfmclistCpGlCmast - nrec мастера глазуровавшего, sfmclist.csfpersonKGl->cmaster
sfmclistСpZ - nrec чистильщика, sfmclist.csfpersonZ
sfmclistСpZSffio - ФИО чистильщика, sfmclist.csfpersonZ->sffio
sfmclistСpZNumbW - Номер чистильщика, sfmclist.csfpersonZ->numbWorker
sfmclistCpZCmast - nrec мастера чистильщика, sfmclist.csfpersonZ->cmaster
sfmclistNumbglazbring - Номер глаз.бригады с которой списывается МЦ, sfmclist.numbglazbring
sfmclistQuantity - Количество изделия
При sfdocs.typedoc:
1 - Количество выставленного изделия литейщиком для керосинового контроля
(маршрутный лист по Литью)
2 - Общее количество прошедшее керосиновый контроль
(включая плохую оправку, с лечения полуфабриката и посечки)
8, 4, 9 - поле отсутствует
3, 5, 6, 7, 10 - количество 1 сорта
sfmclistQuantityfillup - Количество залитого изделия при sfdocs.typedoc = 1 (Литье)
! Дефекты привязанные к МЦ в документе sfdefects.csfmclist = sfmclist.atl_nrec
sfdefCclasdisc - nrec дефекта, sfdefects.Cclasdisc = clasdisc.nrec
sfdefCclasdiscName - Код дефекта, sfdefects.Cclasdisc->clasdisc.name
sfdefCclasdiscComment - Название дефекта, sfdefects.Cclasdisc->clasdisc.comment
sfdefQuantity - Количество дефекта, sfdefects.quantity
sfdefCsfpersons - nrec литейщика у которого нашли брак в след. смене, sfdefects.csfperson
sfdefCsfpersonsNumb - Номер литейщика, sfdefects.csfperson->sfpersons.numbworker
sfdefCsfpersonsSffio - ФИО литейщика, sfdefects.csfperson->sfpersons.sffio
sfdefTypebr - Тип дефекта: sfdefects.typebr
1 - Брак
2 - 2 сорт
3 - На горячее лечение
4 - На холодное лечение
5 - Плохой оправки
6 - Примечание брака в литье
7 - На лечку полуфабриката
8 - На фотополимерную лечку
*/
.form 'SF'
.NameInList 'Список сорта'
.fields
d1 d2
master
mastFIO
nrecDoc datedoc numbshift typedoc numbGlBr numbVag numbKiln page
cperNrec cperNumb cperFio cperAllFIO cperTabnmb cperType cperCmas cperNumbBr
cmasNrec cmasNumb cmasFio cmasAllFIO cmasTabnmb cmasType
cpertechNrec cpertechNumb cpertechFio cpertechType cpertechCmas cpertechNumbBr
cperburnNrec cperburnNumb cperburnFio cperburnType cperburnCmas cperburnNumbBr
cpercontrNrec cpercontrNumb cpercontrFio cpercontrType cpercontrCmas cpercontrNumbBr
collMCNrec collMC
sfmclistNrec mcNrec mcBarkod mcName mcGrNrec mcGrName mcGrKod mcPrSort mcMassa
sfmclistDatecasting
sfmclistCsfperson sfmclistCsfpersonNumb sfmclistCsfpersonSffio
sfmclistCsfpersonFIO sfmclistCsfpersonTabnmb
sfmclistCsfpersonCmast sfmclistCsfpersonCmastNumbMast sfmclistCsfpersonCmastSffio sfmclistCsfpersonNumbBr
sfmclistCpLech sfmclistCpLechSffio sfmclistCpLechNumbW sfmclistCpLechCmast
sfmclistСpK sfmclistСpKSffio sfmclistСpKNumbW sfmclistCpKCmast
sfmclistСpGl sfmclistСpGlSffio sfmclistСpGlNumbW sfmclistCpGlCmast
sfmclistСpZ sfmclistСpZSffio sfmclistСpZNumbW sfmclistCpZCmast
sfmclistNumbglazbring
sfmclistQuantity sfmclistQuantityfillup
sfdefCclasdisc sfdefCclasdiscName sfdefCclasdiscComment sfdefQuantity
sfdefCsfpersons sfdefCsfpersonsNumb sfdefCsfpersonsSffio sfdefTypebr
!sfdefCclasdiscCode
.endfields
.{
Список дефектов
c ^ по ^
мастер ^ ^
nrec │ Дата │смена│ тип │ ГлБр │Вагонетка │печь │ стр.
──────────────────┼────────────┼─────┼──────┼───────┼──────────┼──────┼──────────
.{
@@@@@@@@@@@@@@@@@ │ @@@@@@@@@@ │ @@@ │ @@@@ │ @@@@@ │ @@@@@@@@ │ @@@@ │ @@@@@@
nrecPer номер ФИО тип Nrec мастера №бригады
Рабочий @@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@ ^ ^
@@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@
Мастер @@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@ ^ ^ @@@@
Технолог @@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@
Обжигальщик @@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@
Контролер @@@@@@@@@@@@@@@@ @@@@@@ @@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@ @@@@@@
****************************************************************************
.{
collMCNrec, collMC Коллекция: ^ ^
sfmclistNrec, В док. Nrec МЦ: ^
mcNrec, mcBarkod, mcName МЦ: ^ ^ ^
mcGrNrec, mcGrName, mcGrKod Группа МЦ: ^ ^ ^
mcPrSort, mcMassa % сортности и Масса: &&.&% &&.& кг
sfmclistDatecasting Дата литья: ^
sfmclistCsfperson, sfmclistCsfpersonNumb Литейщик: ^ ^
sfmclistCsfpersonSffio ^ ^ ^
sfmclistCsfpersonCmast, sfmclistCsfpersonCmastNumbMast,
sfmclistCsfpersonCmastSffio Мастер рабочего: ^ ^ ^
sfmclistCsfpersonNumbBr Номер бригады: ^
sfmclistCsfpersonLech nrec лечащего: ^ ^ ^ ^
sfmclistСpK nrec керосинщика: ^ ^ ^ ^
sfmclistСpGl nrec глазуровавшего: ^ ^ ^ ^
sfmclistСpZ nrec чистильщика: ^ ^ ^ ^
sfmclistNumbglazbring Номер бригады с которой списывается кол.: ^
sfmclistQuantity Количество: ^
sfmclistQuantityfillup Залито : ^
.{
sfdefCclasdisc nrec ^
sfdefCclasdiscName Код ^
sfdefCclasdiscComment Название ^
sfdefQuantity Количество ^
sfdefCsfpersons nrec ФИО ^
sfdefCsfpersonsNumb №работника ^
sfdefCsfpersonsSffio ФИО ^
sfdefTypebr тип ^
! sfdefCclasdiscCode Код дефекта ^
.}
.}
****************************************************************************
.}
.}
--------------------------------------------------------------------
.endform