Управление наименованиями счетов в приложениях ФБП



Posted by Анатолий Анимица on November 27, 1999 at 14:56:32:

In Reply to: Скромные пожелания posted by Владимир, Вологда on November 27, 1999 at 00:11:03:

Я уже в Москве. Продолжим, и я начну с этого сообщения Владимира Антипина. Которое мне очень понравилось. Как реализовать изменение наименования субсчета, не останавливая сервер?

Очень просто. Допустим, в некоторой форме нужно напечатать наименование субсчета (или счета, все равно). Как мы сейчас это делаем:

n1=[ia SCHET];n2=[n2 *n1]
^^^^^^^n1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n2


а теперь добавим подпрограмму n2:

:n2 подпрограмма наименования счета (c extrd.dat)
* вход n1 выход n2

n2=[ged n1]

if n2=0 n2=[n2 *n1];endif

n2=[strip n2]

return выход из п/п n2


Как видим, подпрограмма пытается сначала извлечь наименование из extrd.dat, а если его там нет, использует наименование счета. Строка n2=[strip n2] добавлена для того, чтобы пресечь появление значений "пусто" в строковой переменной n2, иначе в некоторых случаях может, например, формат строки съехать, или ошибка типа при конкатенации (сложении) строк возникнет - лучше позаботиться обо всем заранее. Если теперь в исходной программе заменить оператор n2=[n2 *n1] на call n2 - мы получим искомое. Возникает вопрос - а где, когда и как изменить значение наименования счета? Я рекомендую внести это в ту программу, которая управляет реквизитами и прочими extrd.dat-значениями различных субчетов. Такой механизм реализуется в проекте FA2000 - поскольку я почти месяц был вне возможности нормальной работы, проект несколько задержался - буду догонять.
Еще раз спасибо за вопрос.
P.S. В общем случае неверно следующее заявление:
: Насколько я понимаю, ни в дереве, ни в операциях, не содержится ссылок на наименование субсчета.
Наши умельцы могут использовать все - в том числе и extrd.dat как место, где допустимо хранить информацию, влияющую на вектор состояния системы (ну там остатки, обороты и прочее - то, чем занимаются операции). Точно так же никто не может помешать в файле-коэффициенте проверить, есть ли в наименовании субсчета какой-нибудь признак и в соответствии с результатом изменить выход файла-коэффициента: проводку, факт, экстрапараметр. Это нехороший стиль программирования, и, на мой взгляд, правильно будет сказать - сервер ФБП гарантирует правильность пересчета состояния системы, если в операциях не используется информация, содержащаяся в наименованиях счетов и extrd.dat. В противном случае вся ответственность принимается на себя разработчиком приложения.
С уважением
Ваш ААА


Пpишедшие ответы: