Re: Проблемы использования БД подписки
Пользователь:
Соколинский К.Е. (СЗТУ) (IP-адрес скрыт)
Дата: 09, April, 2004 17:58
Спасибо за совет, но ещё до получения вашего сообщения, нам уже удалось разрешить проблему, и сделать это даже более эффективным способом.
В файле movekp.gbl, я заменил функцию &unifor('IPRIVATE,PP,') на поле с указанием смещения - v33*4. И, как не странно, это обеспечило целый ряд преимуществ по сравнению с предложенным вами способом:
1. При заполнении поля «Период подписки для проверки по каталогу» через меню, функция &unifor('IPRIVATE,PP,') выдаёт значение периода с четырьмя точками(«..../1-3» «..../1»), т.е. не обрабатывает содержание поля. В то же время, в тексте корректировки предполагается сравнение со значениями периодов без точек (напр. «&unifor('IPRIVATE,PP,'):'/1-1'»). Это может породить ошибки.
2. При использовании одного постоянного значения периода подписки может неправильно проставляться цена подписки на издания, подписанные на разные периоды. Таким образом, если мы захотим обновить цену на издания с разными периодами подписки, то будем вынуждены выделить издания, заказанные на один период, внести изменения в «Настройке», нажать «Обновить описания по КП», после этого выделив другую группу проделать всё сначала. Это неудобно.
3. Хотя предложенный реализованный вами способ обновления цены ДОЛЖЕН ДЕЙСТВОВАТЬ он НЕ ДЕЙСТУЕТ! Причины этого, за отсутствием времени я пока не смог выяснить.
Таким образом, вышеописанные исправления в файле movekp.gbl являются ЕДИНСТВЕННЫМ средством заставить обновление цен работать и к тому же значительно упрощают этот процесс.