Re: Запрос из первичных документов



Posted by Анатолий Анимица on February 16, 2000 at 14:18:07:

In Reply to: Запрос из первичных документов posted by Ирена Вилде on February 16, 2000 at 08:03:21:

Ирена Вилде последовательно задает вопросы, из которых видно, что освоение "Финансов без проблем" у нее идет успешно и в правильном направлении. Рад - и попробую предложить вариант решения задачи регистрации "одним махом" некоторого набора данных, например, с привязкой к первичному документу - пусть на ее примере приема на работу сотрудника с отражением этого радостного события в первичном документе (ПД).
Сразу понятно, что если есть ПД, значит, есть и операция, создавшая этот ПД. С другой стороны, размер одной операции (380 байт) не позволит вогнать туда уж очень много данных. Поэтому разделим данные на две группы - динамическую и статическую. Первая будет отражать те атрибуты сотрудника (субсчет 70, естественно), которые условно "краткосрочные" и будут использоваться в пересчетах сервера - оклад, число льгот, отдел, входящие СГД ОГД УПН (совокупный доход, облагаемый доход, уплаченный налог) - и по большому счету больше ничего не нужно. Это - в вопросы операции. Остальные данные условно постоянные - не будут использоваться как информация в пересчетных операциях сервера - место рождения, например, или номер паспорта, или имена детей и их даты рождения. Будем их запоминать в extrd.dat подобно реквизитам предприятий-контрагентов. Их естественно привязать к субсчету как опроному индексу. Остался один вопрос: "от операции" или "от документа", как любят у нас здесь спорить уважаемые пользователи (Дж. Свифт об этом хорошо написал в свое время). По большому счету все равно, с какого конца разбивать это яйцо - поэтому рассмотрим оба способа.

1. От операции. Отведем одну из ветвей-вопросов под запуск формы 70 pragma N (ну вы меня поняли). Эта форма сначала все дотошно спросит про этого человека, а потом отдаст операции ту единственную строку, что уйдет в значение этого поля операции (например, 'REGISTERED' - 10 байт). А динамические данные - в первых 7..9 полях. И все! [ged 70-xxx+'index i'] - и ПД готов заполнить все свои бантики в соответствующих полях. А динамические - схатить ясно из ветвей или, лучше, из факта о приеме.

2. От документа. Вылить воду из чайника и перейти к варианту 1. Или, если конкретно: в отчетной форме спросить ВСЕ, динамические данные загнать в запрос на создание операции, зарегистрировать ее, а ПД сам получится.
3. Так можно запоминать очень большие агрегаты динамических и статических данных, если генерить группы операций - и в этом случае выгоднее пользоваться все-таки вариантом 2 - потому что исчезает нужда в спецификации вопросов, можно использовть простую "одоневетвь" - цепочку вопрос N ответ N, а смысл потом ловить из контекста вопросов ветви. И не надо никаких редакторов - все данные должны попасть в базу. Пусть там лежат, они кушать не просят.

ААА







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