Страница 1 из 2

добавление новой формы доп.соглашения

Добавлено: 04 авг 2014, 13:42
Юлия Игоревна
Доброго всем всем дня!!! :grin:
помогите пожалуйста разобраться как написать новую форму дополнительного соглашения :(
нашим кадровикам не подходит форма, которая есть в Галактике (Управление персоналом- 6 лист картотеки- Печать- Дополнительное соглашение)
вот они мне скинули форму
я ее попробовала изменять :
но ка же получать данные то!! :eek:
.linkform 'ds_pgk_3' prototype is Nformt5_2004
.nameinlist '***Дополнительное соглашение (специализированное) '
.group ‘назначения’''
.create view DOPSOGL
from persons, address, passports
where () Как правильно написать в конструкции where? так чтобы вытащить адрес проживания сотрудника и паспортные данные???


'ДОПОЛНИТЕЛЬНОЕ СОГЛАШЕНИЕ № _____'
к трудовому договору №____ от ________________
ОАО "СИБ СТРОЙ " в лице руководителя, Директора по правовому обеспечению и кадрам Алексеева Алексея Алексеевича,
действующего на основании Доверенности 82/16 1д от 2111.10.2013г, именуемое в дальнейшем «Работодатель», с одной стороны, и физическое лицо
^
Паспорт^
именуемый в дальнейшем «Работник», с другой стороны, при совместном упоминании
«Стороны» заключили настоящее соглашение
о нижеследующем: ......................................текст......


 Адреса и подписи сторон:

Работник Работодатель
ФИО ^


Адрес проживания
^

Экземпляр соглашения получен
(Подпись) (Ф.И.О.)


.endform

прошу прошу помогите начинающему администратору Галактики!!! :???:

Re: добавление новой формы доп.соглашения

Добавлено: 04 авг 2014, 14:04
edward_K
как то так

Код: Выделить всё

                   Comp(NewAppNrec)== Appointments.nRec
       and Appointments.Person== Persons.nRec and Persons.PasspRus== Passports.nRec 
        and Persons.Passpaddr==Addressn.nRec 
        and Addressn.Csterr==Sterr.nRec
        
1. Ищите прототип в папке Frm (Nformt5_2004 здесь) каким либо файловым менеджером по содержанию (Far, Total Commander) - будет 2 раза - брать самый свежий.
2. прототип этот лучше отложить в сторону - чтобы если при следующем обновлении он поменяется, было с чем сравнить.
3. Дальше журнал и сопоставляете с полями с Nrec в имени или с типом comp
4. По поводу адреса. Можно и так собрать, но лучше заюзать объект из AdrFunc.vih ( переменная для использования в AdrFunc.var - в форме вы просто вставляете в секцию .var-.andvar переменную без var) - ищите там же в frm. Например iAdrFunc.GetFullAddress(Persons.Passpaddr).
Для компиляции vip в проекте должно быть #include AdrFunc.vih ( в cfg пропишите /i на путь к нему)
Для компиляции Fcom в форму нужно что то типа
.declare
#include #include AdrFunc.vih
.end
перед .var

Re: добавление новой формы доп.соглашения

Добавлено: 04 авг 2014, 14:57
KATZ
В открытую дверь зачем ломиться? В прототипе есть и паспортные данные, и адрес.

Re: добавление новой формы доп.соглашения

Добавлено: 06 авг 2014, 10:54
Юлия Игоревна
Спасибо Вам большое... :grin:
а скажите откомпилировала я свою форму(при компиляции не вышло никаких ошибок) а она в Галактике у меня не появилась
Что делать??

Re: добавление новой формы доп.соглашения

Добавлено: 06 авг 2014, 11:13
edward_K
очень мало инфы. Чем компилили? Я знаю 3 способа. Куда?

Re: добавление новой формы доп.соглашения

Добавлено: 08 авг 2014, 06:36
Юлия Игоревна
edward_K писал(а):очень мало инфы. Чем компилили? Я знаю 3 способа. Куда?
в Саппорте в модуле Компилятор отчетов FCOM
открываю форму на редактирование и далее нажимаю Компиляция фрмы

Re: добавление новой формы доп.соглашения

Добавлено: 08 авг 2014, 10:47
edward_K
точно не скажу куда вы там скомпилили - не помню какой параметр в Cfg отвечает, но по умолчанию компилиться в atlantis_user.res в "рабочую папку" ярлыка на запуск сапорта. Этот рес надо отложить в сторонку(из сапорта выйти) и подключить через консоль управления - репозитарий - компоненты к системе galnet (посмотрите как стандартные ресурсы подключены).
Очень рекомендую вам создать там папку (во всех базах, куда я попадаю, делаю папку _Dopres) и в ресурсе указать эту папку.
Приоритет ставите 3008 и больше (я обычно ставлю от 10000). Ресурс лучше положить в exe\_Dopres - чтобы вы видели, что это ваше.
тогда в сапорте ресурс прописываете так %StartPath%_DOPRES\\my_hello_world.res
После этого запускаете галку и идете в "сервис - информация - о рабочей станции - ваш рес должен быть в конце. Если это не произошло проверяете все по новой.
Вообще лучше сразу учиться использовать компилятор vip , проекты, а лучше сразу повозиться с viper(вопросы по нему задавайте в существующей ветке), поскольку в Fcom далеко не все можно, а комплить по одному файлу тоже не есть гуд.

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 10:27
Юлия Игоревна
а как вытащить поле оклад в доп.соглашение?

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 11:02
edward_K
прототип смотрите

Код: Выделить всё

sum_rubl
sum_kop
sum_rubl_str
rubl
sum_kop_str
kop
- в разных вариациях дадут требуемое.

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 11:23
Юлия Игоревна
галка говорит нет таких функций

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 12:03
edward_K
Ну если речь идет о прототипе Nformt5_2004 то там есть или у вас версия не та - ищите в своем frm последний(он будет в 2 архивах - вам z_stafforder).

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 12:27
Юлия Игоревна
спасибо)

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 13:41
Юлия Игоревна
а если у человека несколько записей на 6 листе (были переводы)
как вытащить номер трудового договора с первой записи??

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 14:08
edward_K
Ну если в прототипе нет(а вроде был)

то
from APPOINTMENTS APPOINTFIRST(APNTBYPERSON )
where ((
...
and Persons.nrec == APPOINTFIRST.persons
and (Appointments.lprizn = APPOINTFIRST.lprizn)
))
...
if(vvv.getfirst APPOINTFIRST=0, vvv.APPOINTFIRST.CONTRACTNMB,'')

Re: добавление новой формы доп.соглашения

Добавлено: 18 авг 2014, 15:46
m0p3e
Можно проще:
persons.appoitfirst == appoitments.nrec