Еще раз о неуникальных обозначениях субсчетов в списках.



Posted by Валентин, Донецк (195.58.228.155) on September 11, 2001 at 07:08:12:

Здравствуйте, Аркадий.

Следуя Вашим рекомендациям, данным в сообщениях “О неуникальных обозначени-ях субсчетов в списках. Другой подход.” и “Re: О неуникальных обозначениях субсчетов в списках. Другой подход.” я все-таки добился поставленной задачи, нужного мне парти-онного учета. Однако, наверно так и должно быть, возникли некоторые вопросы, которые, может быть, будут интересны и другим участникам WWWBoard.

Приведу фрагменты настройки, т.к. они напрямую относятся к моим вопросам.

Приход
---Получение Товара
| ---? No No
| ---? KT Откуда
| ---? KV К_во
| ---? CN Цена
| @TP tk PRIH pragma 1
| zz *KT (SM) Сумма Прихода
---Привязка Товара к Партии
| zz =9 STAMP_N

Содержание файла PRIH.
* Приход Товара
*****************************************************************************
TV = [n1 $D] Счет Товара
SM = KV*CN Сумма Прихода Товара
*****************************************************************************
DE = [intsn dc] ; ME = [intsn mc] День и Месяц Строкой
! dc in 1..9 DE = '0'+DE Если в Числе Дня и Месяца < 2 Знаков
! mc in 1..9 ME = '0'+ME Добавляем Ноль
DT = DE+'.'+ME+'.'+[intsn yc] Дата Прихода Товара
*****************************************************************************
! [type No] = 0 No = [intsn No] No Накладной в Строку
! [type KT] = 0 KT = [intsn KT] No Счета Поставщика в Строку
********************* СОЗДАНИЕ СУБСЧЕТА СЧЕТА STMP ********************
ST = [stamp 3] Штамп Операции
if [ex *ST] = 0 Если Нет Счета Штампа Операции
u = 'DON-1' ; p = '1' ; d = '' Пользователь, Пароль, Пожелания Серверу
f = [dir 1]+ST+'.in' Каталог Для Записи Файла Запроса
vi = 'A ·STMP·'+ST+'·'+DT+'·' Запрос: Создать С/счет ST Счета STMP с Датой
vi = u+'·'+p+'·'+d+'·'+vi Запрос с Каталогом Для Записи Файла Запроса
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^vi > file f
endif Конец Если
*****************************************************************************
[plus *KT,'OS', -SM] Задолженность Поставщику
********************** ЗАПИСЬ ФАКТА ПРИХОДА ТОВАРА *******************
fact prtv TV kto KT k_vo KV cena CN summa SM No No opr ST
$ = KV ; stop

Содержание файла STAMP_N.
* Привязка Товара к Штампу
*****************************************************************************
rewind facts range mc+dc/100,mc+dc/100
: Povtor
search prtv ?TV kto ?KT k_vo ?KV cena ?CN summa ?SU No ?No opr ?ST
if [success]
DE = [intsn [fact_d]] ; ME = [intsn [fact_m]] День и Месяц Строкой
if [fact_d] in 1..9 DE = '0'+DE ; endif Если в Числе Дня и Месяца < 2 Знаков
if [fact_m] in 1..9 ME = '0'+ME ; endif Добавляем Ноль Строкой
DT = DE+'.'+ME+'.'+[intsn yc] Дата Прихода Товара
*** ЗАПИСЬ ЗНАЧЕНИЙ ЭКСТРАПАРАМЕТРОВ ДЛЯ ПАРТИОННОГО УЧЕТА ****
[set *ST,'ST', TV+KT] Товар, Чей Товар в Партии ST
[set *ST,'No'+TV+KT, No] No Приходной Накладной в Партии ST
[set *ST,'DT'+TV+KT, DT] Дата Товара в Партии ST
[set *ST,'KV'+TV+KT, KV] К-во Товара в Партии ST
[set *ST,'CN'+TV+KT, CN] Цена Товара в Партии ST
*****************************************************************************
goto Povtor
endif
*****************************************************************************
$ = 0

А теперь, собственно, вопросы.

1. Казалось бы можно было все это сделать в одном ф/к. Но, очевидно, сначала выполняется ф/к, а потом запрос из него т.к. программа сообщает об отсутст-вии счета ST. Нельзя ли обойти эту прроблему?
2. При самом скромном подсчете получаются интересные цифры:

а) при количестве операций в месяце от 20 до 30 тысяч на предприятии про-центов 10 операций по приходу товара.
б) отсюда раздувание плана счетов от 2000 до 3000 для счета штампа опера-ций. К концу года ну пусть 20000.

3. При переходе на следующий год остаются партии товара, пришедшие в про-шлом году. Ну и, конечно, возможен вариант, на штамп непроданного товара (все бывает) наложится приход другого товара с этим же штампом.
4. Можно было бы написать форму для создания других уникальных штампов, которые не штампует сервер. А эту массу ненужных субсчетов удалять в ло-кале? Как-никак они займут порядочно места, чтобы оставлять их на сле-дующий год.
5. Но даже если их оставлять, то дойдем до предела 17576000. Какой же это бу-дет план счетов?

Отсуда: может быть Вы подскажете, как всегда, какое-нибудь оригинальное реше-ние? А также я буду рад, если посетители доски конструктивно выскажут свое мнение по этому вопросу.

С уважением, Валентин, Донецк.



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