Страница 1 из 1
Присоедененные формы
Добавлено: 30 апр 2015, 14:27
rozum
Доброго дня всем!Я понимаю что вопрос битый ,но все таки прошу промощи
Есть прототип TD_BEL(трудовой договор для Беларуси) на основе него создаю шаблон контракта,но в прототипе во-первых не все поля указаны а во-вторых ещё и специфически описаны,в частности поле dat1( сумма оклада)мне необходимо вытащить дополнительно 2 поля
1)это оклад из тарифной сетки
2)оклад уже с повышающим коэффициентом.
Связи нашла по тарифной ставке это поле(tarstav.summa1) а общая сумма это поле из (appointments,taxrate)Создала create view t1 но не могу определить по какому полю связать прототип и t1?
.linkform ’Contract1’ prototype is ‘ TD_BEL ’
.nameinlist ’Контракт_1’
.group " TD_BEL"
.var
Sum1:double // appointments.taxrate это полный оклад с надбавками по сотруднику
Sum2:double // tarstav.summa1 это ставка из тарифной сетки
.Endvar
.create view t1
as select appointments.taxrate,tarstav.summa1
from persons, lschet, appointments, tarstav
where((
PersonsTabNmb==persons.nrec
and lschet.tperson == persons.nrec
and persons.appointcur == appointments.nrec
and appointments.tariff == tarstav.nrec));
.Fields
Fio
Sum1
Doubletostring(comp(0),sum1)
.EndFields
.{table ‘t1.appointments’
.begin
Sum1:=appointments.taxrate
End.
.}
^
^(^)
.endform
Re: Присоедененные формы
Добавлено: 30 апр 2015, 15:52
edward_K
1. Вы уверены, что прототип TD_BEL? Группа может быть, но прототипа я такого не нашел.
2. Если доступно редактирование форм из галактики, то в сервис - конфигуратор - параметры
включите опцию Forms - Fcnev. Из галки выходить не надо - идите в печать и нажмите на стандартной форме F4 .
тот ли этот прототип?
3. Вообще прототипы и формы лежат в каталоге Frm - там их и нужно поискать. Если нет фильтра по группе, то его можно отобразить в списке отчетов - убрать что он скрытый в настройке списка.
4. После того как найдете прототип, то ищите в нем что нибудь типа AppointCur, NewAppoint и так далее. PersonsTabNmb откуда взялось?
Re: Присоедененные формы
Добавлено: 30 апр 2015, 16:55
rozum
прототип именно td_bel он находится в frm в Z_StaffReports\FRM. а как тогда можно на основе своей выборки не опираясь на прототип выкинуть отчет в определенное место.Например чтобы в модуле управление персоналом в самом приказе на прием по кнопке договора(там такая есть кнопка) выводился этот шаблон контракта для формирования? я пробовала просто группу указывать,так не цепляет((
Re: Присоедененные формы
Добавлено: 30 апр 2015, 17:25
edward_K
Да. бедноватый прототип
У вас есть возможность подтянуть назначение по AppointDate
- у одного чела не должно быть назначения от одной и той же даты.
то есть подцепить по полям person + lprizn + appointdate
Поскольку поле в прототипе совпало в именем поля то для поиска нужно завести переменную, записать в нее AppointDate, и уже по ней искать.
Чтобы реализовать свой поток вам потребуется как минимум докомпиляция события по кнопке договор, чтобы вызвать там свой интерфейс формирования или форму через RunForm - вы можете сделать и автономную форму с параметрами.
Re: Присоедененные формы
Добавлено: 30 апр 2015, 18:36
rozum
Спасибо за помощь
Я правильно поняла что мне допустим необходимо создать:
Apd: date
затем в where прописать что appointdate==appointments.appointdate
а затем в
begin прописать что apd:=appointdate?
Просто при таком раскладе выдает ошибку что не может преобразовать? подскажите плиз как эту date прописать
Re: Присоедененные формы
Добавлено: 02 май 2015, 09:05
edward_K
Код: Выделить всё
where (( .. apd == appontments.appointdate ..))
.begin
...
apd:=AppointDate // apd:=StrTodate(AppointDate,'DD/MM/YYYY')
if vvv.getfirst appointments<>0
message('Чего то не так')
end.
Re: Присоедененные формы
Добавлено: 04 май 2015, 11:33
Irina_
Здравствуйте.
Стандартный отчет на основе прототипа TD_BEL доступен через База данных – Перечень приказов. РД Прием на работу, кнопка «Договор». Или База данных – Прием на работу. Вас это не устраивает? Конечно прототип не особо удобный, но в своем отчете можете добавить выборку, как минимум по таблицам Titledoc, Partdoc, Contdoc, Appointments. Назначение искать по условию Appointments.nrec = Contdoc.Cstr.
Re: Присоедененные формы
Добавлено: 04 май 2015, 13:53
rozum
здравствуйте спасибо за помощь.Я просто хочу зацепить create view t1 к td_bel, а если быть точнее в прототипе есть поле DAT1( тариф/оклад) но мне необходимо
1.прописать в скобках эту сумму прописью (это поле оклада с повышающим коэффициентом)
2.Добавить новое поле из тарифной ставки(без коэффициента опираясь только на выбранный разряд) и прописать тоже его в скобках.
Я пробую сцепить по полю appointdate и дату мне показывает а вот поля appointments.taxrate это полный оклад с надбавками по сотруднику и полеtarstav.summa1 это ставка из тарифной сетки выдает
0(ноль рублей)
Re: Присоедененные формы
Добавлено: 04 май 2015, 13:53
rozum
спасибо буду пробовать дальше
Re: Присоедененные формы
Добавлено: 04 май 2015, 16:18
rozum
с одним разобралась выдает в отчет appointments.taxrate
вот теперь как следующее прописать чтобы выводило tarstav.summa1
Re: Присоедененные формы
Добавлено: 04 май 2015, 18:23
Irina_
Во view таблица tarstav с условием appointments.tariff == tarstav.nrec
Когда нашли назначение сделайте
if t1.GetFirst Tarstav = tsOk, чтобы стать на нужную запись. Тогда Tarstav.Summa1 – это оклад по ЕТС. Но думаю правильно брать поле Tarstav.Tarif, т.к. для повременщиков нужна ЧТС, а не оклад.
Re: Присоедененные формы
Добавлено: 04 май 2015, 18:55
rozum
Спасибо большое.Но я по моему уж совсем туплю, заранее прошу прощения за это.
Но не могу я в коде правильно прописать то есть
.linkform’Contract2015’ prototype is ‘td_bel’
.nameinlist ’Контракт_1’
.group " TD_BEL"
.var
Apd: date
.Endvar
.create view t1
as select * from appointments, tarstav, Contdoc
where((Apd==appointments. Appointdate(noindex)
And Appointments.nrec = Contdoc.Cstr
and appointments.tariff == tarstav.nrec));
.Fields
apd
t1.appointments.taxrate
DoubleToString(0, appointments.taxrate )
T1.tarstav.tarif
DoubleToString(0,tarstav.tarif)
.EndFields
.begin
apd:=StrTodate(AppointDate,'DD/MM/YYYY')
If t1.getfirst appointments<>0 // по этому условию все верно отрабатывает,
{ }
If t1.getfirst tarstav=tsOk // как правильно прописать это условие?
{}
End.
^
^(^)
^(^)
.endform
Re: Присоедененные формы
Добавлено: 05 май 2015, 13:50
rozum
Спасибо всем за помощь данные есть!!!