Библиотека XCARRY : Проводка нескольких документов одной транзакцией с регистрацией их в виде сделки
Скачать (zip-файл; Размер - 13333)Обсудить в форуме
Описание
Классы библиотеки позволяют
1. Провести несколько документов (в произвольные главы, валюту, с покрытием и без) одной транзакцией.
2. Зарегистрировать проведенные документы как сделку (сложную проводку).
Код библиотеки, пример и описание библиотеки в прилагаемом архиве.
1. Провести несколько документов (в произвольные главы, валюту, с покрытием и без) одной транзакцией.
2. Зарегистрировать проведенные документы как сделку (сложную проводку).
Код библиотеки, пример и описание библиотеки в прилагаемом архиве.
Текст примера
import xcarry; var OO = XCarryDeal, res, d = TRecHandler("document.dbt"), od = TRecHandler("obdocum.dbt"), odc = TRecHandler("obdocum.dbt"); record rdc ("documnt$.dbt"); // Заполняем структуру D d.rec.Account_Payer = ... ... // Заполняем структуру RDC (пример записи не объектного типа) rdc.Code_Currency = 840; rdc.Account_Payer = ... ... // Заполняем структуру OD od.rec.Chapter = 4; od.rec.Account_Payer ... ... // Заполняем структуру ODC odc.rec.Chapter = 3; odc.rec.Code_Currency = 840; odc.rec.Account_Payer ... ... // Добавляем документы OO.AddDoc(d, 1); // Рублевый балансовый документ OO.AddDoc(dc, 2); // валютный баласовый документ (проводка с покрытием) OO.AddDoc(od, 1); // рублевый внебаласовый документ OO.AddDoc(odc, 3); // валютный внебалансовый документ (проводка без покрытия) // Добавляем параметры сделки OO.DL.Clear(); OO.DL.rec.Origin = 1; OO.DL.rec.Date = {curdate}; OO.DL.rec.EndDate = {curdate}; OO.DL.rec.Descr = "Сделка зарегистрирована из макроса!"; OO.DL.rec.Oper = {oper}; OO.DL.rec.State = 2; // Инициализируем начальный документ сделки документом RDC OO.InitDLIniD(rdc); // Проводим OO.TestMode = FALSE; OO.ToRegDeal = TRUE; res = OO.CarryDocs(); // Печатаем отчет OO.ORep.PrintReport(1); if (res) println("Документы проведены успешно!"); else println("Документы не проведены!"); end;