Re: Папка для хранения общих форматов(Deposit)
Пользователь:
Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 23, March, 2006 23:41
Выявлен целый ряд ошибок, возникающих при работе с папкой Deposit. Проиллюстрирую на конкретных примерах.
В папке Deposit находится файл dbn_web.mnu, содержащий названия баз и их расшифровки. Задача - расшифровать названия.
1. Конструкции <!FORMAT=&uf('Kdbn_web.mnu|','NWPIB')> и <!FORMAT=@nnn> , где nnn.pft - формат, содержащий строку &uf('Kdbn_web|','NWPIB') не работает.
2. Конструкция <!FORMAT=&uf(‘6ddd’)>, где ddd.pft - формат, содержащий строку ‘Строка' - так же не работает.
3. Конструкция &uf('+1W6#',v1050),(if &uf('+5Tdbn_web.mnu')<>'' then if &uf('+1R6')= &uf('+5Tdbn_web.mnu') then &uf('+5Fdbn_web.mnu'), fi else break fi), &uf('+1W6#'), - РАБОТАЕТ
ВЫВОДЫ
Таким образом, в новых версиях дополнительным источником ошибок могут стать противоречивые правила подключения внешних ресурсов. По всей вероятности, это связано с тем, что встроенный форматер работает иначе нежели форматер irbis32.dll. Чтобы банально расшифровать название базы с использованием MNU из Deposit, требуется использовать цикл(повторяющуюся группу); чтобы подключить формат можно применять только конструкцию <!FORMAT=@
В первый момент может возникнуть впечатление, что между данными ошибками отсутствует какая-либо связь, но это неверно: здесь присутствует железная логика. Константин Олегович обеспечил поддержку работы папкой DEPOSIT только для тех функций, которыми пользовался сам...