Окно выбора руководителя
Модераторы: m0p3e, edward_K, Модераторы
Окно выбора руководителя
Подскажите, пожалуста, как сделать, чтобы перед печатью формы frm или rtf появлялось окно выбора руководителя?
Мне нужно изменить приказ на командировку и командировочное удостоверение, чтобы в них была подпись не директора, как сейчас, а того, кого выберет пользователь.
Мне нужно изменить приказ на командировку и командировочное удостоверение, чтобы в них была подпись не директора, как сейчас, а того, кого выберет пользователь.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Окно выбора руководителя
диалог вызвать. но там каждый раз перед печатью надо будет писать вручную... точно так же можно прямо в форме править... это если frm
Re: Окно выбора руководителя
А есть какие-нибудь функции, типа выбора комиссии, похожие?Алексей писал(а):диалог вызвать. но там каждый раз перед печатью надо будет писать вручную... точно так же можно прямо в форме править... это если frm
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Окно выбора руководителя
Код: Выделить всё
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: Окно выбора руководителя
А как это сделать для rtf ?Можно просто запускать окно с выбором чела - вам же одна подпись нужна, а выбор сохранять в DSK.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Окно выбора руководителя
Либо фейс стартануть - что лучше, либо диалог - но обработку придется делать в RTF
Если собираете проектом, то лучше использовать объекты - в проект включате vih объекта, а в фейсе переменную с типом = фейс объекта.
Для выбора проще юзать igetkau - поиск. Судя по вопросу свои фейсы вы делать не умеете. Можете кадровский подобрать какой нибудь из приказов - параметры в папке exe\galdoc\имя компоненты. Будет неясно с параметрами спрашивайте(нужно getifccurrentfieldname в фейсе выбора)
Если собираете проектом, то лучше использовать объекты - в проект включате vih объекта, а в фейсе переменную с типом = фейс объекта.
Для выбора проще юзать igetkau - поиск. Судя по вопросу свои фейсы вы делать не умеете. Можете кадровский подобрать какой нибудь из приказов - параметры в папке exe\galdoc\имя компоненты. Будет неясно с параметрами спрашивайте(нужно getifccurrentfieldname в фейсе выбора)
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Окно выбора руководителя
ещё, как вариант, сделать настройку пользовательскую, куда писать человека и при печати просто читать настройку.
Re: Окно выбора руководителя
Z_STAFF::ChoiseYourPersons, к примеру...edward_K писал(а):фейс стартануть - что лучше
-
- Сообщения: 18
- Зарегистрирован: 21 май 2015, 13:10
- Откуда: Слободской, Кировская обл.
Re: Окно выбора руководителя
а есть такой же интерфейс, но для выбора не комиссии, а группы подписантов?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
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Окно выбора руководителя
Ctrl+F4
Getifccurrentfieldname
Потом ищите его в exe\Galdoc\!GSDK.chm или сразу в компонента.chm
За деталями ищите vih в FRM\компонента.zip Как правило имя vih совпадает с именем фейса, но бывают исключения, поэтому при неудачном поиске по имени поищите еще по содержимому.
Наверное вы про FreeSigner или как его там.
Getifccurrentfieldname
Потом ищите его в exe\Galdoc\!GSDK.chm или сразу в компонента.chm
За деталями ищите vih в FRM\компонента.zip Как правило имя vih совпадает с именем фейса, но бывают исключения, поэтому при неудачном поиске по имени поищите еще по содержимому.
Наверное вы про FreeSigner или как его там.
-
- Сообщения: 18
- Зарегистрирован: 21 май 2015, 13:10
- Откуда: Слободской, Кировская обл.
Re: Окно выбора руководителя
спасибо, будем искать.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);
ругается
Ошибка: Нет такой функции, поля или метода : CGREPORT_VZACHET
правильно ли я понимаю, что нужно подключить \FRM\AllGal.FrmSrc\SRC\Inc\Reports.inc
Последний раз редактировалось ded_gambit 11 май 2017, 10:57, всего редактировалось 1 раз.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Окно выбора руководителя
Лучше исходники в FRM распаковывать
Ищем там по содержимому, в Reports.inc
cgReport_VZachet = 7313; // отчеты модуля "Расчеты с поставщиками и получателями"
поскольку вы не компилите проектом, вам проще вставить значение константы.
Ищем там по содержимому, в Reports.inc
cgReport_VZachet = 7313; // отчеты модуля "Расчеты с поставщиками и получателями"
поскольку вы не компилите проектом, вам проще вставить значение константы.
-
- Сообщения: 18
- Зарегистрирован: 21 май 2015, 13:10
- Откуда: Слободской, Кировская обл.
Re: Окно выбора руководителя
т.е.edward_K писал(а):Лучше исходники в FRM распаковывать
Ищем там по содержимому, в Reports.inc
cgReport_VZachet = 7313; // отчеты модуля "Расчеты с поставщиками и получателями"
поскольку вы не компилите проектом, вам проще вставить значение константы.
Код: Выделить всё
iFeeSigners.InitFeeSigners(7313);
при проверке интерфейс выбора подписантов не показывается
upd насколько я понял, это установка ограничения на уже выбранных где-то в другом месте групп подписантов.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Окно выбора руководителя
FeeSigners.vih
Код: Выделить всё
...
Расширение объекта для работы с подписантами
#end
ObjInterface ObjFeeSignersExt;
#doc
Открытие главного окна с возвратом результата закрытия
#end
// RunMainWindow = true - была выбрана группа подписантов
Function RunMainWindow(wType: word) : boolean;
end;
...
VipInterface FeeSigners Implements
ObjFeeSigners,
ObjFeeSignersExt,
ObjFeeSignersExt2,
ObjFeeSignersExt3,
ObjFeeSignersExt4,
ObjFeeSignersExt5
-
- Сообщения: 18
- Зарегистрирован: 21 май 2015, 13:10
- Откуда: Слободской, Кировская обл.
Re: Окно выбора руководителя
моя не пониматьDen писал(а):FeeSigners.vih
никак не взлетает.
Код: Выделить всё
iFeeSigners.RunWindowFeeSigners (7313);;
Код: Выделить всё
iFeeSigners.RunMainWindow (7313);
Возникло необработанное исключение
ExObjIfcNoLoad (ExRef)
ошибка загрузки объекта из ресурсного файла (FeeSigners)
в Commission.vih все так чотко по полкам с примерами расписано, а здесь - нет.
может быть, кинете куском кода? во всех формах, которые нахожу у себя интерфейс окна выбора подписантов вызывается до запуска формы.
и/или где почитать про подключение стандартных интерфейсов в свои формы