Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Насчет выходных форм
Пользователь: DiManiac (IP-адрес скрыт)
Дата: 09, November, 2004 19:15

Хотим сделать такую вещь.
Есть выходная форма INVENT - "Лист инвентарной книги (индивидуальный учет)", которая создается по определенному номеру КСУ. Фактически, это немного измененная TAB4BSW.
Нам надо изменить ее так, чтобы она создавалась по интервалу инвентарных номеров.
Что для этого надо сделать? Изменить саму форму? Или только файл in12.ws, который указан в SELTABW.PAR? Получается добиться, чтобы две строки для ввода интервала дат появились, но не работает =(

Re: Насчет выходных форм
Пользователь: DiManiac (IP-адрес скрыт)
Дата: 11, November, 2004 13:45

Я, конечно, напутал =) О строках для ввода дат речь пошла, потому что я в виде эксперимента пробовал сначала "пришить" этот критерий отбора к моей форме, т.к. подобный критерий уже есть в других формах. И не смог.
А надо все-таки интервал инвентарных номеров.

Re: Насчет выходных форм
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 12, November, 2004 10:37

Использовать механизм отбора по датам у вас не получится, т.к. это зашито в программе - по первой дате+префикс строится запрос, который дополняется всеми месяцами и годами, начиная от начальной даты до конечной. По этому запросу и отбираются записи. Вам надо придумать инверсию, которая позволяла бы отбирать инвентари. Или делать таблицу по отмеченным записям. Или в файле таблица.SRW прописать проверку на инвентарный номер (if v910^B>'???' and v910^B<'???' then v910^B fi - записи не удовлетворяющие условию отбрасываются), но как быть с повторениями поля?

Re: Насчет выходных форм
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 12, November, 2004 18:09

Если за основу взята таблица TAB4BSW, то в ней отбираются все экземпляры индивидуально как множественные ключи сортировки, поэтому проблемы "с повторениями поля" быть не должно


Re: Насчет выходных форм
Пользователь: DiManiac (IP-адрес скрыт)
Дата: 13, November, 2004 12:27

Хм... Я попробовал изменить раздел [KeyOptions] в файле invent.srw таким образом:

В начало строки

if s(v215^y)=''then(if p(v910)then...

добавил

(if v910^B>'1' and v910^B<'999999' then(

а в конец, соответственно

)fi)

По идее, должен выводить то же самое, что и без этих добавлений, но выдает, что пустой результат сортировки =(

Re: Насчет выходных форм
Пользователь: DiManiac (IP-адрес скрыт)
Дата: 30, November, 2004 12:28

Светлана Михайловна, помогите советом! Что не так?

Re: Насчет выходных форм
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 30, November, 2004 15:31

1. Вы сделали двойное вложение (скобки в скобках)
2. Если нужно отделить док-ты, у которых хотя бы в одном повторении поля соблюдалось условие сочетания значений подполей, то мы это делаем через функцию RSUM (см., например, tabing.srw или tabindw.srw)
3. Сравнение чисел лучше делать через функцию val : (if val(v910^b)>1 and val(v910^b)<9999 ...


Re: Насчет выходных форм
Пользователь: DiManiac (IP-адрес скрыт)
Дата: 03, December, 2004 09:11

Светлана Михайловна, правильно ли я понимаю, что для выполнения задачи можно поступить только одним способом:

1) В качестве условия отбора записей для выходной формы взять какой-нибудь фиктивный критерий, которому удовлетворяли бы все записи комплектования; (поскольку в seltabw.par не предусмотрено задание способа формирования таблицы, при котором отбираются все записи БД)

2) Загнать мин. и макс. инв. номера из опросного листа в 991^a и 991^b, после чего в .srw поставить условие
(if val(v910^b)>val(991^a) and val(v910^b)<val(991^b) ...

Re: Насчет выходных форм
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 03, December, 2004 13:27

Напишите мне по эл. почте и объясните, что именно Вы хотите получить в Вашей таблице invent



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.