Корекция и осчетоводяване на документи

Следният проблем възникна в конфигурацията на PUB 1Cv7.7. Ежедневно се издават около 200 фактури за продажба и още толкова фактури "автоматично" по постъпили заявки от купувачи. След като продуктите бъдат доставени на купувачите, операторът ръчно коригира някои фактури в базата данни.

Поставяме задачата: при промяна на документите за продажба е необходимо автоматично да се промени подчинената фактура. Сравнително просто решение без VC е леко да модифицирате модула за формуляр за фактура:

// Предварително зададена процедура Фактури

Param = Форма. Параметър ;

If Param = "Reissue" Тогава

Нека добавим нова процедура към модула за формуляр на документ за изпълнение:

// Предварително дефинирана процедура за изпълнение

Ако DateDoc DateProhibitedEditing Тогава

Ако ReturnStatus()= 0 Тогава

docSF = CreateObject( "Document.Invoice" );

docSF . ИзберетеДокументи (DateDoc, DateDoc);

Докато dokSF. GetDocument() = 1 цикъл

Ако docSF . DocumentBase = CurrentDocument() Тогава

SF = docSF. currentDocument();

OpenForm( docSF.CurrentDocument() , параметър);

docSF = CreateObject( "Документ . Фактура" );

docSF . FindDocument (SF);

Ако docSF . Избрано ()= 1 Тогава

docSF . Коментар = "Променено: " + Потребител ;

Ако премина ()= 1 тогава

И накрая, модулът за обработка на групови корекции и осчетоводяване на фактури

Ако EmptyValue( Date1 ) = 1 Тогава

Предупреждение("Началната дата на отчетния период не е посочена!");

Ако Дата1 > Date2 Then Warning( "Невалиден отчетен период!" +Line Separator+ "Началната дата е по-голяма от крайната дата на периода." );

Ако PeriodCheck()=0 Тогава

ElseIf Date1 EditProhibited Date Then

Предупреждение ("Не можете да публикувате документи преди датата на забраната за редактиране!");

docSF = CreateObject( "Document.Invoice" );

docSF .SelectDocuments( Дата1, Дата2);

Докато dokSF. GetDocument() = 1 цикъл

Ако docSF . База документи. View ()= "ProductImplementation" Тогава

Ако ( docSF . Публикувано ()= 1 ) и ( PostUnpostedOnly = 1 ) Тогава

OpenForm( docSF.CurrentDocument() , параметър);

Ако docSF . База документи. Преминал ()= 1 Тогава

Notify( "Документите са завършени. Време: " + Save(Format((_GetPerformanceCounter() - StartTime )/ 1000 , "P12.1" )) + " сек." ); EndProcedure //Генериране

Дата1 = ТекущаДата() - 1;

Дата2 = ТекущаДата() - 1;

Специални оферти

docSF

корекция

осчетоводяване

документи

документи

документи

осчетоводяване

осчетоводяване

документи

docSF

Коригирането и осчетоводяването на документи, като фактури, въведени въз основа на документи за продажба, може да се организира по много начини. Описан е сравнително прост подход, който е внедрен и работи от няколко години в реално счетоводство 1Cv7.7. Без външни компоненти.

(1) Вашата схема на решение е описана в обработката! Ако фактурата и фактурата са идентични, нищо във фактурата няма да се промени!

Програмистът не води счетоводство, не създава документи за продажба, фактури и други документи! Улеснява работата на счетоводителя. Всичко се прави от счетоводител! Той отговаря за резултата и получава бонус! Мисля, че нашите счетоводители сменят фактури и фактури, ако купувачът не е взел нещо от продукта, той го е задраскал. Документите се препечатват и на следващия ден нов комплект се носи на купувачадокументи. Може би това не е съвсем правилно по отношение на фактурите, защото има коригиращи фактури.

Не предлагам методология за работа на счетоводството, описах как можете да коригирате фактурата АВТОМАТИЧНО и да коригирате фактурата!