Интерфейс Lschet

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Интерфейс Lschet

Сообщение savov »

Да опять двадцать пять! Как запустить интерфейс Lschet просто на возврат номера лицевого счета (или nrecа записи), чтоб не переходилд в редактирование лицевого? Какие параметры не пробовалл подставить, ничего не выходит.. Описания этого фейса нет
Может кто запускал?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Интерфейс Lschet

Сообщение Ged »

А чем не нравиться
GETPMEU1

RunInterface('getpmeu1',comp(0),Zar_User.curcex);
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Интерфейс Lschet

Сообщение savov »

Спасибо, конечно, можно и этот. Но я тут посмотрел на форуме, и окончательного ответа не увидел даже по этому интерфейсу, так как же все-таки вернуть номер нрека на человека из какого-либо цеха? Пусть и через getpmeu1.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Интерфейс Lschet

Сообщение Maverick »

Ищи свои выбранные записи в табличке formarks ))) они туда падают после отработки этого интерфейса )))
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Интерфейс Lschet

Сообщение savov »

А как в этом интерфейсе получить нрек? Смотрел форум, но написано, что через маркеры получаем значения, как в таком случае получить нрек счета лицевого для некоего лица в определенном цехе?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Интерфейс Lschet

Сообщение Maverick »

Все лежит в formarks.
formarks.Field1 := lschet.Cex;
formarks.Field2 := lschet.TabN;
formarks.Field4 := lschet.Sovm;
formarks.cPodr := LSchet.nRec;
formarks.choice := 0; //признак того что работаем с лицевыми
Formarks.FIO := Persons.Fio;
Formarks.tPerson:= Persons.NRec;
Formarks.Summa := lschet.Summa10;

А дальше - дерзай
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Интерфейс Lschet

Сообщение Maverick »

т.е. заюзал этот интерфейс. выбрал чего надо. закрыл. полез в таблицу Formarks и выбирай там то что тебе нужно по описанному выше шаблону
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Интерфейс Lschet

Сообщение savov »

Все равно не понятно, как вернуть нрек записи? Я прочитал на форуме, что через маркеры работает данный интерфейс, а поподробнее?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Интерфейс Lschet

Сообщение Maverick »

NREC какой записи ???? LSCHET???? Ну ведь я написал же !!!! getpmeu1 () работает не через маркеры а временную таблицу formarks
Если так непонятно, объясняю еще раз (уже на примере)

Есть твой интерфейс:
Interface ReturnLSchetNREC
Create View As Select * from
Lschet, Formarks, Persons
Where
((
0 == Formarks.Choice And
Formarks.cPodr == Lschet.NRec And
Lschet.tPerson == Persons.NRec And
UserName == Zar_User.OwnName and
));

Panel pnlMain;
Screen scrMain;
buttons
cmReturnLSchet;
<<
<.Выбрать и вернуть.>
>>
End;
End;
HandleEvent
cmReturnLSchet:
{
//сначала очистим временную таблицу
Delete All Formarks;
// затем запустим выбор сотрудников
If RUnInterface (getpmeu1, comp(0), zar_user.curcex)= cmDefault
{
//цикл по выбранным
_Loop ForMarks
{
Message ( 'Выбранный LSCHET.NREC='+Lschet.NRec+' для сотрудника '+Persons.FIO);
};
}
Else Message ('Не выбрано ни одного сотрудника');
};
End;
End.

Теперь понятно????
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Интерфейс Lschet

Сообщение savov »

Спасибо большое! Маверик, извини, но когда я отсылал мое сообщение от 18.11 я не видел почему-то твоих ответов!
Спасибо!
Optimist
Постоянный обитатель
Сообщения: 104
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Moscow
Контактная информация:

Re: Интерфейс Lschet

Сообщение Optimist »

не работает :(
Вообще никакого окна не запускается... Или там не должно быть диалогового окна выбора?

Запускаю нижепреведенный отчет и он мне выдает:
1-е сообщение: нет работников
2-е сообщ. мое: 11

И заканчивается... Где я лажанулся? С параметрами интерфейса может? Они вообще что означают?


.FORM 'Анкета для козначейства'
.ARD
.VAR
InterfaceResult:word;
Evalute:boolean;
.ENDVAR
.CREATE VIEW anketa
AS SELECT Persons.FIO,Persons.BornDate,BCat1.Name,Passports.Ser,Passports.Nmb,Passports.GivenDate,Passports.GivenBy,
PAddress.ZIP,PCat1.Name,PAddress.Street
FROM
LSchet, Persons, Formarks, Address BAddress, Address PAddress,
Passports, Catalogs Document,
Catalogs PCat1, CatLinks PLink1,
Catalogs PCat2, CatLinks PLink2, Catalogs PCat3, CatLinks PLink3,
Catalogs PCat4, CatLinks PLink4,
Catalogs BCat1, CatLinks BLink1,Catalogs BCat2, CatLinks BLink2,
Catalogs BCat3, CatLinks BLink3,Catalogs BCat4, CatLinks BLink4,
Communications Comm1
WHERE ((0 == Formarks.Choice
and Formarks.tPerson == Persons.NRec
and Persons.PasspRus == Passports.NRec
and LSchet.TPerson /== Persons.NRec
and Persons.PasspAddr == PAddress.NRec
and Persons.BornAddr == BAddress.NRec
and Persons.NRec == Comm1.Person
and PAddress.Sity == PCat1.NRec
and PAddress.Sity == PLink1.Inheritor
and PLink1.Ancestor == PCat2.NRec
and PLink1.Ancestor == PLink2.Inheritor
and PLink2.Ancestor == PCat3.NRec
and PLink2.Ancestor == PLink3.Inheritor
and PLink3.Ancestor == PCat4.NRec
and PLink3.Ancestor == PLink4.Inheritor
and BAddress.Sity == BCat1.NRec
and BAddress.Sity == BLink1.Inheritor
and BLink1.Ancestor == BCat2.NRec
and BLink1.Ancestor == BLink2.Inheritor
and BLink2.Ancestor == BCat3.NRec
and BLink2.Ancestor == BLink3.Inheritor
and BLink3.Ancestor == BCat4.NRec
and BLink3.Ancestor == BLink4.Inheritor
and Passports.DocName == Document.Nrec
and 1 == Comm1.SeqNmb
));
.BEGIN
InterfaceResult:= RunInterface(getpmeu1, comp(0), zar_user.curcex);
Evalute:= (InterfaceResult <> 11);
Message(InterfaceResult,0);
END.
.{?INTERNAL;(Evalute);
.BEGIN
Message('РАБОТАЕТ!',0);
END.
.}
.ENDFORM
Optimist
Постоянный обитатель
Сообщения: 104
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Moscow
Контактная информация:

Re: Интерфейс Lschet

Сообщение Optimist »

Забыл сказать: Галактика 5.85.02

Без параметров этот интерфейс выдает тоже самое :(

Может есть еще какой интерфейс? Мне нужно выбрать одного или нескольких чуваков без разницы по LSchet или Persons.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Интерфейс Lschet

Сообщение edward_K »

1. запускалось ли при входе в модуль зарплаты просмотр лицевых счетов?
есть ли чего в лиц. счетах?
фейс этот работает по Curlschet - если заполнение ее не прошло - то и получите
2. запускали ли вы это из модуля зарплаты или еще где?
3. попробуйте добавить програмные блоки в начале с
intinit
в Конце
ExitProc;
либо перед запуском вашего отчета открывайте лицевые счета.
Optimist
Постоянный обитатель
Сообщения: 104
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Moscow
Контактная информация:

Re: Интерфейс Lschet

Сообщение Optimist »

Edward_K, спасибо, попробовал из модуля ЗП запустить - заработало. НО: для проверки воткнул чтоб anketa.persons.fio выводилось и нифига :(

.{TABLE 'anketa.formarks:MAIN'
.BEGIN
Message(anketa.persons.fio,0);
END.
.}

если вместо anketa.formarks написать anketa.somethin'else, то цикл даже не получается.
У интерфейса getpmeu1 какие параметры и что они значат? (я его без параметров использовал).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Интерфейс Lschet

Сообщение edward_K »

1. селект нужно писать аккуратней - наверняка было ругательство при компиляции
and Formarks.tPerson == Persons.NRec
and Persons.PasspRus == Passports.NRec
and LSchet.TPerson /== Persons.NRec
- последняя строка явно не так написана или даже вообще лишняя
в данном случае лучше писать
Formarks.tabn == lschet.tabn
2. если ты делаешь цикл по табле то перед выводом данных из другой не мешает сделать
.begin
if anketa.getfirst persons=0 {}
end.
иначе делаешь цикл по вьюхе и выводишь только поля из as select ...
3.а formarks.tperson нормально заполнился?
4.сделай себе в galnet.cfg и support.cfg
настройку
[database]
TempTableInMem=Off
зайди и туда и туда под одним пользователем
заполни в галактике formarks
и потом попробуй выполни твой select в сапорте
5. куча табл и условий в одной вьюхе тормозит работу и затрудняет разбор полетов.
Ответить