Обсуждение:Проверка внебаланса (глава 3): равенств 9999==Актив & 99998==Пассив
0 (0)
Обсуждение:Проверка внебаланса (глава 3): равенств 9999==Актив & 99998==Пассив ( Обсуждение примера 06.09.2003 10:52 )
0(0)Макропроцедура проверки документов внебалансового учета (3 глава) на предмет выполнения равенств:
итог БС 99999 == сумме итогов всех активных БС,
итог БС 99998 == сумме итогов всех пассивных БС.
Показания к применению: например, при расчете баланса в RS-Bank получено сообщение "Сумма остатков на пассивных счетах (кроме 99999) глава 3 не равна остатку 99998 (валюта 0)".
Ограничение: работает только по файлу архивных документов.
Период проверки задается константами в тексте макроса.
Посмотреть пример
>> Ответитьпроверку сделал сразу при вводе дока в obdocar3.mac, помогает, то же самое внес и в ( S_Andrey 23.12.2003 13:52 )
0(0)obdocum3.mac
file oa (obacnt) key 0; /* добавлено для проверки */
/* определение типа счета */
macro typeo(acc)
oa.chapter=3;
oa.account=acc;
if (geteq(oa)) return trim(oa.kind_account); else return ""; end;
end;
macro Проверить_документ( Режим, Тип_документа )
/* проверка недопустимость корреспонденции активных счетов с 99998
и пассивных с 99999 */
if (substr(Документ.account_payer,1,5)=="99999")
if (typeo(Документ.account_receiver)=="П") msgbox("Недопустимая корреспонденция счета!"); return 1; end;
elif (substr(Документ.account_receiver,1,5)=="99999")
if (typeo(Документ.account_payer)=="П") msgbox("Недопустимая корреспонденция счета!"); return 1; end;
end;
if (substr(Документ.account_payer,1,5)=="99998")
if (typeo(Документ.account_receiver)=="А") msgbox("Недопустимая корреспонденция счета!"); return 1; end;
elif (substr(Документ.account_receiver,1,5)=="99998")
if (typeo(Документ.account_payer)=="А") msgbox("Недопустимая корреспонденция счета!"); return 1; end;
end;
return 0;
end;
>> Ответить