Страница 1 из 2
Окно выбора руководителя
Добавлено: 17 апр 2014, 09:40
novichok
Подскажите, пожалуста, как сделать, чтобы перед печатью формы frm или rtf появлялось окно выбора руководителя?
Мне нужно изменить приказ на командировку и командировочное удостоверение, чтобы в них была подпись не директора, как сейчас, а того, кого выберет пользователь.
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 10:37
Алексей
диалог вызвать. но там каждый раз перед печатью надо будет писать вручную... точно так же можно прямо в форме править... это если frm
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 10:45
novichok
Алексей писал(а):диалог вызвать. но там каждый раз перед печатью надо будет писать вручную... точно так же можно прямо в форме править... это если frm
А есть какие-нибудь функции, типа выбора комиссии, похожие?
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 11:10
edward_K
Код: Выделить всё
var
iCommission : Commission;
sCommission:string ;
Код: Выделить всё
чего т там
if (NullVipRef(iCommission))
{ LoadVipInterface(iCommission);
iCommission.InitCommission(cgCommission_Sklad ); //cgCommission_OS
}
if cCommission>0
{ iCommission.SetCommission(cgCommission_Sklad,cCommission)
}
set sCommission := iCommission.GetSelectionName;
iCommission.RunWindowSelection(word(1));
set sCommission := iCommission.GetSelectionName;
set cCommission := iCommission.GetSelection
wCommissionCount := iCommission.GetComponentsCount;
wnum_dolg:=1 ;
// if iCommission.GetCommissionChairMan
For (wcommissionNum := 0; wcommissionNum <= wcommissionCount; wcommissionNum := wcommissionNum + 1)
{ wdolg:=iCommission.GetComponentPost(wcommissionNum) ;
wfio:=iCommission.GetComponentFIO (wcommissionNum) ;
case wcommissionNum of
Можно просто запускать окно с выбором чела - вам же одна подпись нужна, а выбор сохранять в DSK.
Ну еще вариант использовать подписантов из СФ.
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 11:23
novichok
Можно просто запускать окно с выбором чела - вам же одна подпись нужна, а выбор сохранять в DSK.
А как это сделать для rtf ?
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 11:51
edward_K
Либо фейс стартануть - что лучше, либо диалог - но обработку придется делать в RTF
Если собираете проектом, то лучше использовать объекты - в проект включате vih объекта, а в фейсе переменную с типом = фейс объекта.
Для выбора проще юзать igetkau - поиск. Судя по вопросу свои фейсы вы делать не умеете. Можете кадровский подобрать какой нибудь из приказов - параметры в папке exe\galdoc\имя компоненты. Будет неясно с параметрами спрашивайте(нужно getifccurrentfieldname в фейсе выбора)
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 12:01
Алексей
ещё, как вариант, сделать настройку пользовательскую, куда писать человека и при печати просто читать настройку.
Re: Окно выбора руководителя
Добавлено: 17 апр 2014, 12:54
RAJAH
edward_K писал(а):фейс стартануть - что лучше
Z_STAFF::ChoiseYourPersons, к примеру...
Re: Окно выбора руководителя
Добавлено: 10 май 2017, 17:28
ded_gambit
edward_K писал(а):Код: Выделить всё
var
iCommission : Commission;
sCommission:string ;
Код: Выделить всё
чего т там
if (NullVipRef(iCommission))
{ LoadVipInterface(iCommission);
iCommission.InitCommission(cgCommission_Sklad ); //cgCommission_OS
}
if cCommission>0
{ iCommission.SetCommission(cgCommission_Sklad,cCommission)
}
set sCommission := iCommission.GetSelectionName;
iCommission.RunWindowSelection(word(1));
set sCommission := iCommission.GetSelectionName;
set cCommission := iCommission.GetSelection
wCommissionCount := iCommission.GetComponentsCount;
wnum_dolg:=1 ;
// if iCommission.GetCommissionChairMan
For (wcommissionNum := 0; wcommissionNum <= wcommissionCount; wcommissionNum := wcommissionNum + 1)
{ wdolg:=iCommission.GetComponentPost(wcommissionNum) ;
wfio:=iCommission.GetComponentFIO (wcommissionNum) ;
case wcommissionNum of
а есть такой же интерфейс, но для выбора не комиссии, а группы подписантов?
Re: Окно выбора руководителя
Добавлено: 10 май 2017, 21:40
edward_K
Ctrl+F4
Getifccurrentfieldname
Потом ищите его в exe\Galdoc\!GSDK.chm или сразу в компонента.chm
За деталями ищите vih в FRM\компонента.zip Как правило имя vih совпадает с именем фейса, но бывают исключения, поэтому при неудачном поиске по имени поищите еще по содержимому.
Наверное вы про FreeSigner или как его там.
Re: Окно выбора руководителя
Добавлено: 11 май 2017, 10:28
ded_gambit
edward_K писал(а):Ctrl+F4
Getifccurrentfieldname
Потом ищите его в exe\Galdoc\!GSDK.chm или сразу в компонента.chm
За деталями ищите vih в FRM\компонента.zip Как правило имя vih совпадает с именем фейса, но бывают исключения, поэтому при неудачном поиске по имени поищите еще по содержимому.
Наверное вы про FreeSigner или как его там.
спасибо, будем искать.
Код: Выделить всё
.declare
#include FeeSigners.vih
.enddeclare
.var
iFeeSigners : FeeSigners;
.endvar
...
iFeeSigners.InitFeeSigners(cgReport_VZachet);
// подписанты собственной организации
if (iFeeSigners.FindFeeSignersByNRec(cSigners))
if (iFeeSigners.GetSignerFirst)
do
{
SignCount := SignCount + 1;
wfio := iFeeSigners.GetSignerFIO(7);
wdolg := iFeeSigners.GetSignerRole;
if (wdolg = '') wdolg := iFeeSigners.GetSignerPosition(1);
if wdolg+wfio!=''
.............
}
while (iFeeSigners.GetSignerNext);
добавил в пути путь на FeeSigners.vih
ругается
Ошибка: Нет такой функции, поля или метода : CGREPORT_VZACHET
правильно ли я понимаю, что нужно подключить \FRM\AllGal.FrmSrc\SRC\Inc\Reports.inc
Re: Окно выбора руководителя
Добавлено: 11 май 2017, 10:56
edward_K
Лучше исходники в FRM распаковывать
Ищем там по содержимому, в Reports.inc
cgReport_VZachet = 7313; // отчеты модуля "Расчеты с поставщиками и получателями"
поскольку вы не компилите проектом, вам проще вставить значение константы.
Re: Окно выбора руководителя
Добавлено: 11 май 2017, 11:55
ded_gambit
edward_K писал(а):Лучше исходники в FRM распаковывать
Ищем там по содержимому, в Reports.inc
cgReport_VZachet = 7313; // отчеты модуля "Расчеты с поставщиками и получателями"
поскольку вы не компилите проектом, вам проще вставить значение константы.
т.е.
насколько я понимаю, в этом месте должен вызваться интерфейс выбора подписантов?
при проверке интерфейс выбора подписантов не показывается
upd насколько я понял, это установка ограничения на уже выбранных где-то в другом месте групп подписантов.
Re: Окно выбора руководителя
Добавлено: 11 май 2017, 13:15
Den
FeeSigners.vih
Код: Выделить всё
...
Расширение объекта для работы с подписантами
#end
ObjInterface ObjFeeSignersExt;
#doc
Открытие главного окна с возвратом результата закрытия
#end
// RunMainWindow = true - была выбрана группа подписантов
Function RunMainWindow(wType: word) : boolean;
end;
...
VipInterface FeeSigners Implements
ObjFeeSigners,
ObjFeeSignersExt,
ObjFeeSignersExt2,
ObjFeeSignersExt3,
ObjFeeSignersExt4,
ObjFeeSignersExt5
Re: Окно выбора руководителя
Добавлено: 12 май 2017, 11:24
ded_gambit
Den писал(а):FeeSigners.vih
моя не понимать
никак не взлетает.
эта строчка пролетает без вызова окна
эта при запуске выдает ошибку
Возникло необработанное исключение
ExObjIfcNoLoad (ExRef)
ошибка загрузки объекта из ресурсного файла (FeeSigners)
в Commission.vih все так чотко по полкам с примерами расписано, а здесь - нет.
может быть, кинете куском кода? во всех формах, которые нахожу у себя интерфейс окна выбора подписантов вызывается до запуска формы.
и/или где почитать про подключение стандартных интерфейсов в свои формы