Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Комплектатор :  ИРБИС Irbis
 
Seltab64.par - я сейчас буду ругаться...
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 07, December, 2006 19:28

Здравствуйте. Сначала опишу проблемы: 2006.1 d4 АРМ Комплектатор. Режим "Поступление". База данных - каталог. Вид поиска - "N КСУ поступления". Выбираем к примеру значение 2006/26 (ставим на против зеленую "птичку"). Меню СЕРВИС-ВЫХОДНАЯ ФОРМА. Исходные документы - отмеченные. Таблицы, выходной формат - "АСТ - акт на получение партии книг по номеру акта. Кнопка "Выполнить". Подтверждающее сообщение (зачем оно там уже не понятно) - Вы выбрали таблицу для результатов поиска? Отвечаю ДА.
В ответ окно сообщения - ОШИБКА. Нет заданного рабочего листа подполей - IUBNT - act.ws

Вот в кратце проблема. Причем эта ошибка еще и не всегда возникает. Условия появления ошибки пока не выявил. Иногда лист находится. Задаем номер акта и получаем ПУСТОЙ ОТЧЕТ!!! Это тоже проблема. Не знаю уж связаны они между собой или нет.

Ладно. Стал разбираться в подключении выходных форм в АРМе Комплектатор (представьте себе, до сих пор не было нужны :). Справочники для каждой базы - хорошо. FileSelTab - хорошо. Смотрю на seltab64.par и просто в ауте (дальше буду ругаться). Это вообще что-то с чем-то. Большего хаоса я ни где не видел. Четкой структуры у файла нет ВООБЩЕ. Описание из Общего описания:
Каждая таблица описана в нем набором строк, а именно:
• 1-я строка...
• 2-я строка...
• 3-я строка...
• 4-я строка...
• 5-я строка...
• 6-я строка...
Набор строк, описывающих таблицу, заканчивается строкой ‘*****’.

Лично я понима это так. Файл начинается с описания формы в 7 строк. Далее идет еще 7 строк и т.д.
Открываю этот файл и сразу паника. Первый 14 строк:

1 - имя таблицы
2 - метод 1 - поиск по элементам опроса; 2 - по отмеченным
3 - имя РЛ опроса
4 - для метод 1 формат на временной записи с элементами опроса, дает поисковое выражение на отбор записей в таблицу; для метода 2 формат на отмеченных записях, результаты складываются логикой ИЛИ и дают выражение на отбор записей в таблицу
5 - формат, выполняющийся на найденных записях п.4; сли результат 1 - запись идет в таблицу
6 - формат на временной записи с элементами опроса, дает значение модельного поля 991, которое добавляется к каждой записи, идущей в таблицу, при форматировании

TABX
2
dp1s.ws
|"NKSU=|V88^A| $"|

V1V2,if p(v13) then "^B"v13,'^C1' fi,if p(v14) then '^B'&unifor('G0-'v14*3),'!' fi
*****

Что это еще за коменты внутри СТРУКТУРИРОВАННОГО файл?!! Ладно. Это пережил кое-как. Думаю, раз до описания формы
пропущего 7 строк, то кое-как можно на структуру натянуть (хотя звездочки в конце не помешали бы).
Смотрю далее. Тут вообще ступор. Несколько строчек, которые описывают тот самый приведенный в примере ACT:

...
*****

ПОСТУПЛЕНИЕ КНИГ

ACT - на отдельный акт
1
act.ws
if p(v30) then '"AS=',v30,'"' fi

if p(v30) then'^A'&unifor('G0-'v30*3),"^B"v30.2 fi,"^C"v12
*****

ACTS - на КСУ (может быть несколько актов)
1
acts.ws
if p(v88) then '"KSU=',v88,'"' fi

"^A"v88,"^B"v12
*****

ИНВЕНТАРНЫЕ СПИСКИ
...

Тут для описания формы ACT задействовано ЦЕЛЫХ 10 СТРОЧЕК!!! Да еще и комент какой-то фиг знает. Более того, для описания следующей формы задействовано 8 СТРОК!!! Не, ну вообще беспредел. Это кто вообще писал?!!! Кто составлял формат?!! Кто вообще писал парсер всего этого хаоса?!! Как это может вообще работать (тем более только по случаю)?!!
Срочно мне объясните. Вот как чувствовало мое сердце, что не стоит лезть в подключение форм в комплектаторе. Как знал...

ЗЫ. Если я где-то что-то не понял или рассуждаю не правильно, то поправьте. Я извинюсь за громкий тон и как-нибудь заглажу свою вину перед разработчиками этого режима. А пока тут вообще ничего не понятно.

Очень жду скорого ответа.

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Куделя (IP-адрес скрыт)
Дата: 08, December, 2006 05:54

А где 10 строк? Везде ровно по 6 строчек + *****=7 вроде... Может там чтение справа налево :)? В смысле находим звездочки, от них вверх 6 строк, а все остальное незначимо... Поэтому после комментов в начале файла звезды и не стоят. Это я так предположения строю.
А зачем отмечать номер партии в словаре для вывода ACT? Там везде указан метод 1, т.е. все равно будет произведен поиск на основе указанных в опросном листе данных. Может тут чего нехорошо?
У меня у самого кстати с этой формой пожизненные проблемы трудно уловимого характера

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 08, December, 2006 10:50

Про метод 1 я конечно же учел. Но ведь при попытке выполнить форму все-таки всплывает
Цитата:
Вы выбрали таблицу для результатов поиска?
ДА НЕТ
Тогда может все-таки кто-нибудь скажет, что значит это сообщение. По поводу формата файла. НЕ РАЗУ не видел, чтобы файлы с конца читались :). Но в любом случае это не четкая структура и тем более уж она не соответствует заявленной в документации.

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 08, December, 2006 14:14

Куделя написал(а):
-------------------------------------------------------
> У меня у самого кстати с этой формой пожизненные
> проблемы трудно уловимого характера

Форма ACT выполняется в случае, когда одна партия КСУ разделена на несколько частей с разными номерами актов (в записи КСУ в первом повторении поля 88 номер акта не ставится, а на каждый акт - отдельное повторение поля 88).
Форма ACTS - для партии с единственным актом (единственное поле 88)

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 08, December, 2006 17:29

По-поводу сообщения: Вы выбрали таблицу для результатов поиска?
ДА НЕТ. Хотелось очень вас предупредить, что не надо отмечать записи и выбирать при этом таблицу, в которую пойдут результаты поиска. А то вы будете думать, что отметили записи и увидели их в таблице, чего не будет и по поводу чего будете задавать вопросы. Может формулировка д.б. другой - подскажите. Файл SelTab делали (еще в DOS версии) "под себя", не думая что будем открывать его пользователям. Куделя (спасибо) правильно понял его структуру и не ругался.

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 08, December, 2006 22:05

Как можно понять структуру, которой нет :)?
Относительно режима в целом: сообщение вообще не должно показываться. Оно только смущает. Пусть пользователи думают, что хотят. Ведь в опросном рабочем листе они все равно ставят те параметры, которые им нужны. По поводу сабж: у меня предложение более глобальное. Может пора перейти на xml-формат хранения внутренних настроек? Все-таки 21-й век на дворе. К тому же он более логичен для ручной правки (а без нее не обойтись, какие бы инструменты вы не создавали).
Ладно. Все-таки не зря поругался :). Но в общем-то конечной проблемы (вывод пустой формы) это не решает. Ведь когда я смотрю по словарю указанный номер КСУ, то записи в правой части рабочей области присутствуют. Хочется получить их при выполнении формы ACT. Может, конечно, для этого другая форма предназначена. Направьте на правильный путь в этом случае.

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Куделя (IP-адрес скрыт)
Дата: 11, December, 2006 04:04

А по словарю актов то записи есть? Глупый вопрос конечно... но, м.б. просто нет 88^y

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: ochagova (IP-адрес скрыт)
Дата: 11, December, 2006 10:37

Форма будет не пустой, если есть книги по заданному вами номеру акта. Согласно seltab.par отбор будет по запросу AS=заданный номер. Далее работает формат (Максим Панев, как продвинутый пользователь, это легко увидит) acth.pft, в котором задействовано поле 991. Насчет xml - согласна. Еще можно обдумать выдачу объяснительных сообщений в случае пустых поисков.

Re: Seltab64.par - я сейчас буду ругаться...
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 12, December, 2006 17:31

Давайте попробуем еще раз. Условия теже примерно
1. Режим "Выбытие".
2. Выбираем базу данных - каталог. ПРОШУ ОБРАТИТЬ НА ЭТО ВНИМАНИЕ. БАЗА НЕ CMPL!!!
3. Вид поиска - "Партия книг (номер записи КСУ)".
4. Выбираем к примеру значение "А4/2006 09.08.2006".
5. Меню СЕРВИС-ВЫХОДНАЯ ФОРМА.
6. Таблицы, выходной формат - SPACTW.
7. Кнопка "Выполнить".
8. Указываем в листе то же значение словаря.
Получаем список книг в табличном виде. Примерно так же нужно сделать и для для ПОСТУПЛЕНИЯ. Какую форму нужно выполнить при тех же условиях, только для для КСУ поступления?

Цитата:
А по словарю актов то записи есть?
Если выбрана база CMPL, то записей нет. Если база каталога, то есть. Но в базе каталога не предумотрены формы ACT и ACTS. Так же могла бы подойти форма TABF4W. Но и она не предусмотрена в базе каталога.

Два вечный вопроса: кто виноват? и что делать?



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