Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 06, February, 2004 13:39

Здравствуйте

Первый вопрос. Почему TABF3W переименовали в TABF3G?
Какие отличия, корретировки внесли в это представление в версии 2003.2 по сравнению с 2002.2?

Второй вопрос. Для версии 2002.2 пришлось немного изменить файлы TABF3W, чтобы выходная форма более соответствовали нашим нуждам. Теперь при переходе к версии 2003.2 попытался просто вставить старые файлы табличного представления вместо новых.
Но кроме полей Автор и заглавие, Год издания, остальные - пусты.
У этих полей поменялись идентификаторы?
Посоветуйте, как быстро и безболезненно можно перекинуть табличное представление, с которым работаю в 2002.2 в версию 2003.2.

И последнее, в версии 2003.2 появился GenPFT для редактирования форм подобных TABF3W. А где можно поподробнее почитать-посмотреть про встроенный язык, на котором эти формы написаны?

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 06, February, 2004 18:04

Tabf3g - аналог формы Tabf3w, выполненный с помощью Генератора (есть tabf3g.tbg).
Обеспечено отсечение ложных вхождений экземпляров либо c тем же номером акта но другого года, либо номер которого "входит" в заданный номер (например, экз-ры с №3 подцеплялись к №акта 30 ).
Если Вы хотите использовать Вашу старую форму TABF3W (а ее форматы также сохранены в дистрибутиве), перепишите в директорию CMPL все Ваши измененные файлы, а в TABPRW.MNU дополнительно включите имя формы TABF3W или замените им Tabf3g.


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 06, February, 2004 19:23

Спасибо.

Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 13, February, 2004 13:40

Ещё вопрос по таблице.

Начало файла "tabf3w.pft".
'\trowd \trqc\trgaph108\trleft-108\trkeep
\clbrdrt\brdrs\brdrw15
\clbrdrl\brdrs\brdrw15
\clbrdrb\brdrs\brdrw15
\clbrdrr\brdrs\brdrw15
\cellx470

Этот код отвечает за размеры заполняемых полей? Не шапки таблицы, а именно под ней - столбцы куда вписываются значения полей?
Просто размеры шапки я вручную поменял в другом файл с расширением tabf3w.tab.


А вот эти пытаюсь менять, но на таблицу влияния не оказывает. В чём проблема?

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 13, February, 2004 19:04

Ответила в письме, что причина в несоответствии термина словаря и обработки его в таблице: в словаре стоит AS=<ГГ-№ акта-> (то есть за № акта стоит -), а в таблице &unifor('G0!'&unifor('Av991*3#1'))=v910^y (то-есть конец акта определяется знаком !)


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 16, February, 2004 10:40

Спасибо Вам большое за ответы. Благодаря Вам акт почти приобрёл необходимый вид.
Осталось несколько вопросов.
В файле TABF3HW.PFT, который является заголовком для нашей таблицы есть такой код:
(if p(v88) then if v88^y=&unifor('G0-'&unifor('Av991*3#1')) then '\par \qc \fs25 ',
' АКТ N ',v88^y,'\par \qc \fs20 Поступило всего 'v88^f,' экз.\par На общую сумму ',v88^g,' руб.'fi fi/)),'\par '

Его результат при выводе
"АКТ N
Поступило всего 38 экз.
На общую сумму 3250.19 руб."

Почему не указывается номер акта? Я посмотрел - поле v88^y отвечает за номер индивидуального акта.
Плюс выдаётся цифра 38 экземпляров, хотя реально их 26. Опять же поле v88^f соответствует общему количеству экземпляров.
Притом в конце таблицы всё идёт правильно
"Итого в партии : 26 экз. на сумму 3250.19 р."
Но здесь экземпляры считаются как-то по-другому
Итого в партии : 'f(val(v1,' 0'),0,0)' экз. на сумму 'f(val(v2,' 0'),0,2)


В чём может быть проблема?


Re: TABF3W
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 16, February, 2004 15:16

Да, в этой таблице была ошибка, данные, которые вы видите в таблице берутся из первого повторения поля 88 записи КСУ, что неверно. Светлана Михайловна, по-моему, это исправляла, но она будет только через неделю.

Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 17, February, 2004 09:59

Прошу прощения, я не совсем понял. Ошибка именно в реализации этой таблицы в ИРБИС или в той конкретной реализации-модификации, которую непосредственно использую я?
Как бороться?
Ждать Светлану Михайловну?

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 24, February, 2004 20:49

(if p(v88) then if v88^y=&unifor('G0-'&unifor('Av991*3#1')) then '\par \qc \fs25 ',
' АКТ N ',v88^y,'\par \qc \fs20 Поступило всего 'v88^f,' экз.\par На общую сумму ',v88^g,' руб.'fi fi/)),'\par '

Здесь 2 ошибки - одна моя (удалите вторую закрывающуюся скобку после fi fi/)) и одна Ваша - в &unifor('G0-'&unifor('Av991*3#1')) опять не заменили разделительный знак - (дефис) на Ваше изменение ! (восклицательный знак)
Возможно, лишняя скобка не мешает.


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 27, February, 2004 10:17

Как раз в версии 2003.2 поле номера акта формируется как -03-186, то есть моей изначальной задачей была замена всех "!" на "-".
Таким образом запись, с "-" является верной.
Но почему-то не срабатывает.
А вторая скобка действительно не мешает.

Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 27, February, 2004 10:58

Описался, поле номера акта идёт как 03-186-
А в версии 2002.2 как 03!186!

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 27, February, 2004 11:52

У Вас (только у Вас) было 03-186!
Попробуйте такой вариант.


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 27, February, 2004 11:59

Не совсем понятно.
Что было 03-186! ?
У меня номера КСУ 03-186-
И я везде поменял ! на -

Сейчас попробовал поставить ! в код заголовка
(if p(v88) then if v88^y=&unifor('G0!'&unifor('Av991*3#1')) then '\par \qc \fs25 ',
но это не помогло

Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 27, February, 2004 12:04

Программа заходит в if
Просто не срабатывает поле v88^y. Когда я в это же место вставил поле v88^a, то на выходе получил
АКТ N 2003/101 .
Получается, что проблема в самом поле v88^y. Оно является пустым.

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 27, February, 2004 14:03

Ответила в письме и дала необходимые изменения - проблема была связана с изменением работы format32.dll с альтернативными записями (поле настройки теперь в них не передается, ранее пользовались ошибочным вариантом)


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 01, March, 2004 11:47

Теперь всё заработало. Большое спасибо.
У меня остался последний вопрос.
Как заставить его вести сортировку по названию книги, по убыванию. Где это можно прописать?

Re: TABF3W
Пользователь: Дунаевская С.М. (IP-адрес скрыт)
Дата: 01, March, 2004 16:52

Сортировка - только по возрастанию
Замените в tabf3w.srw требование формальной сортировки по номерам в БД f(val(MFN),0,0) требованием нужной Вам сортировки, например, в tabbaw.srw - сортировка по автору, заглавию


Re: TABF3W
Пользователь: Loins (IP-адрес скрыт)
Дата: 04, March, 2004 14:10

Спасибо.



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