В тази публикация M.A. Власова, учител-консултант в Центъра за сертифицирано обучение на компанията "1C: Автоматизация", разглежда подробно механизма, реализиран в "1C: Комплексна автоматизация 8" за извършване на заключителните операции на месеца, който е предназначен за образуване на сделки, изисквани от закона, закриване на редица сметки и определяне на финансовия резултат от дейността. На статията се придава особено значение и практическа стойност от препоръките на автора за организиране на контрол върху правилността на рутинните операции, както и разглеждане на операциите за приключване в края на годината.

Процедура за приключване на месеца

Процедурата за приключване на месец се състои от редица рутинни операции: изчисляване на амортизацията, изплащане на разходите за работно облекло и специално оборудване, определяне на цената на движение на материалните запаси за месеца, преоценка на чуждестранна валута, отписване на бъдещи разходи като текущи разходи, определяне на действителната себестойност на произведените продукти и услуги, идентифициране на отклонения в оценките на приходите и разходите в счетоводството и данъчното счетоводство, изчисляване на данъка върху дохода, изчисляване на задълженията по ДДС и др. Всички тези операции се извършват от отделни нормативни документи, създадени и проведени излизат в определена последователност.

За да се улесни работата на потребителя при извършване на рутинни операции в конфигурацията „1C: Интегрирана автоматизация 8“, е създадена функционалността „Затваряне на месеца“. Тя ви позволява да конфигурирате и контролирате процедурата за приключване в края на месеца и помага да координирате взаимодействието на отговорните лица, извършващи отделни регулаторни операции.

Настройване на процедура за приключване в края на месеца

Първо се извършват предварителните настройки (меню - Регулаторни операции - Настройване на края на месеца). Всички настройки за затваряне на месеца са елементи от едноименната директория. Всяка настройка се създава независимо от организациите, съставляващи предприятието, и може да се използва за всяка от тях.

Формулярът за настройка определя периода, от който може да се прилага, както и признаци за отразяване в счетоводното, данъчното и управленското счетоводство. Трябва също така да изберете опцията за данъчна система - обща или опростена (с различни видове данъчна основа), тъй като съставът на сделките е различен за различните данъчни режими.

На отметката Обобщени настройкитези операции, които трябва да се извършат, са отбелязани. По подразбиране настройката за приключване на месеца включва всички операции, които могат да бъдат извършени, с изключение на тези, които не съответстват на счетоводните настройки (меню И Интерфейс "Мениджър на акаунти". - Настройка на счетоводството - Настройка на счетоводни параметри).

По този начин, в съответствие с настройката на счетоводните параметри в програмата, може да се поддържа пакетно счетоводство или да се използва режимът на разширен анализ на разходите (RAUZ). При използване на RAUZ, ресурсоемки рутинни операции Възстановете последователността на партидното отчитанеИ Коригирайте разходите за отписване на материални запасине са изпълнени, следователно в диаграмата, представена на фиг. 1, те са неактивни и използването им не може да бъде конфигурирано.

Ориз. 1.Списък на рутинните операции, които ще бъдат извършени при приключване на месеца

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

За всяка регулаторна операция трябва да бъде назначено отговорно лице. При директно изпълнение на процедурата за приключване на месец, програмата ще генерира задача за него. Отговорниците за извършване на рутинни операции са назначени в раздела със същото име. Това става лесно, като в лявото поле изберете операцията, а в дясното - потребителя (или групата потребители), който трябва да я извърши, и след това използвате стрелката (фиг. 2).

Ориз. 2.Назначаване на потребители, отговорни за извършване на рутинни операции

На отметката Разпределение на разходитеТрябва да посочите методите за разпределение на разходите, които се използват от настройката за затваряне в края на този месец. По подразбиране всички разходи на отдели от типа "Основно производство" и "Спомагателно производство" се разпределят според обема на продукцията, а разходите на отдели с тип "Други" се разпределят според плановата себестойност на продукцията.

Ако е необходимо, настройката за разпределение на разходите може да бъде променена, като изберете свой собствен метод на разпределение, например за всяка разходна позиция на всеки отдел (при изчисляване на разходите в зависимост от вида на производството - материалоемко, трудоемко и т.н. - или други характеристики на предприятието, както и в съответствие с одобрената организация нормативна документация).

Освен това трябва да имате предвид, че за да може разпределението на разходите да се извърши правилно от програмата, е необходимо кореспонденцията между отделите на предприятието и отделите на организациите да бъде конфигурирана в базата данни (меню Интерфейс "Пълен" - Справочници - Компания - Деления).

Също така, в настройката за приключване в края на месеца за всяка рутинна операция е посочено кои документи трябва да бъдат създадени и осчетоводени, когато се извърши.

По правило всяка регулаторна операция съответства на един или повече документи, които трябва да бъдат създадени и изпълнени. Тази кореспонденция е конфигурирана в информационния регистър Списък на нормативните документи за операции. Отваря се попълнено по подразбиране, когато щракнете върху бутона на командната лента Нормативни оперативни документи(фиг. 3). По правило не е необходимо да го попълвате специално.

Ориз. 3.Документи за извършване на рутинни операции

Ако е необходимо, списъкът със съвпадения може да се попълни автоматично с настройки по подразбиране (бутон на командната лента I), преди което всички създадени преди това записи ще бъдат изтрити. За някои регулаторни операции документите не се инсталират по подразбиране при попълване:

  • или поради необходимостта от извършване на допълнителни действия (например може да се наложи да въведете процента на дейностите в UTII при изчисляване на заплатите и данъците „заплата“);
  • или поради множеството създавани документи, резултатите от попълването на които зависят от предишните (операция Изчисляване на заплати и единен социален данък);
  • или поради липса на документи (рутинна операция може да се извърши не само чрез документ, но и чрез специална обработка);
  • или поради факта, че процедурата за извършване на рутинна операция е подробно описана в отделна диаграма.

Също така е възможно да конфигурирате списък с отчети, които ще бъдат достъпни за потребителя, за да наблюдава резултатите от извършване на рутинна операция от формуляра Редовна експлоатация(чрез бутон на командния панел Доклади).

Настройките се извършват в информационния регистър Списък с доклади за рутинни операции(бутон на командния панел на формата за настройки за затваряне на месеца Доклади за регулаторни операции). За една рутинна операция може да се посочи произволен брой отчети. Настройването на състава на отчетите не е задължително.

Съставът и последователността на операциите са отразени в графичната диаграма (документ Настройване на края на месецаотметка Схема). Разрешаването/забраняването на изпълнението на рутинна операция и назначаването на отговорни лица може да се направи директно на диаграмата.

Нека разгледаме процедурата за извършване на процедурата за приключване в края на месеца.

Стартиране на процедурата по приключване в края на месеца

В менюто се създава процедура за приключване на нов месец Интерфейс "Счетоводител" - Регулаторни операции - Процедура за приключване на месеца.

Във формата на Затваряне на месецаВ раздела Параметри трябва да посочите:

  • приключващ месец;
  • организация;
  • настройки за затваряне на месеца;
  • принадлежност към видовете счетоводство (управленско, счетоводно, данъчно).

След това трябва да заредите настройките и да стартирате процедурата, като използвате бутоните със същото име.

След извършване на тези стъпки ще се появи информационен прозорец, в който потребителят ще бъде информиран какви рутинни операции ще бъдат извършени и на кое отговорно лице са възложени. Ако не са необходими промени, щракнете върху бутона Стартирайте.

По време на процедурата за приключване в края на месеца:

  • автоматично се генерират задачи за отговорни лица за извършване на рутинни операции;
  • При извършване на следващата рутинна операция автоматично се извършва преход към следващата операция - генерират се нови задачи. Освен това някои операции могат да се извършват паралелно (по едно и също време).

Процедурата по приключване в края на месеца се счита за завършена след приключване на всички регулаторни операции.

Следене на хода на процедурата

На отметката Схемапроцедури Затваряне на месецаМожете, като използвате графични изображения, ясно да видите текущото състояние на отделните регулаторни операции (фиг. 4):

  • операциите, които не се изпълняват (поради програмни настройки), са разположени на бял фон; допълнително се отбелязва: „Не е изпълнено”;
  • деактивираните от потребителя операции се показват в сиво;
  • операциите, възложени за извършване от текущия потребител (или потребителската група, към която той принадлежи), са очертани в удебелена рамка;
  • операциите, за които все още не са генерирани задачи, се показват в светъл цвят без никакви контури;
  • операциите, за които в момента са генерирани задачи (и които чакат изпълнение), са оградени с червена пунктирана линия;
  • завършените операции са защриховани;
  • Когато процедурата по приключване на месеца приключи, фонът на диаграмата става тъмен.

Ориз. 4.Графично представяне на процедурата за приключване в края на месеца

Текущото състояние на процедурата за приключване в края на месеца ("започнато", "завършено") се показва в горната част на формуляра. Можете да отворите формуляра за рутинна задача, като щракнете двукратно с левия бутон на мишката върху съответния елемент от графичната диаграма или рутинната задача в списъка с рутинни операции. С помощта на формуляра за рутинни задачи можете да създавате и осчетоводявате наведнъж всички документи, необходими за извършване на рутинна операция, да проверявате резултатите от тяхното осчетоводяване в регистрите с помощта на бутоните на менюто, да преглеждате отчети за изпълнението на рутинни операции (референции, изчисления), и също така въведете информация в програмата за това, че тази регулаторна операция е завършена.

Извършване на рутинни операции

Лицата, отговорни за извършване на рутинни операции, могат да видят изпратените им задачи за извършване на рутинни операции под формата на списъка „Рутинни операции“ (меню Интерфейс "Счетоводител" - Регулаторни операции - Регулаторни операции).

За извършване на всяка регулаторна операция трябва да се извършат следните действия.

1. Създайте и изпълнете съответните (възложени на регулаторна операция) нормативни документи или извършете обработка. Обработката се извършва отделно от бизнес процеса на приключване на месеца, като се използват бутоните на главното меню на програмата. Създаването на документи може да се извърши и отделно от бизнес процеса, но е разумно това да стане от формата на нормативна задача - с помощта на едноименния бутон, който ви позволява автоматично да създавате необходимите документи. Формулярът за рутинна задача се отваря чрез щракване с левия бутон върху графичното представяне на процедурата на диаграмата за приключване на месеца или чрез щракване върху съответния ред в списъка с рутинни задачи.

2. Проверете резултата.

3. Маркирайте рутинната операция като завършена (бутонът „Маркиране като завършена“). Освен това, ако рутинна операция е присвоена на процедурата за затваряне на месеца, но всъщност не се изисква нейното изпълнение (за което програмата показва съответното съобщение), тогава за такава рутинна операция в нейната форма можете да присвоите действието „Изпълни без проверки”.

Нека разгледаме операциите, включени в регулаторните.

Извършете допълнителна обработка на документи

Тази операция се извършва чрез обработка със същото име (меню Интерфейс "Счетоводител" - Отложено - Допълнителна документация). Процедурата е необходима, когато за организацията е зададен режим на отложена обработка на документи (фиг. 5).

Ориз. 5.Настройка на режима на отложено публикуване

При обработка документите, които през месеца са осчетоводени в съответствие с режима на отложено осчетоводяване само в част от необходимите регистри, ще бъдат осчетоводени във всички останали регистри.

След приключване на окончателната обработка на документите, отбелязваме рутинната операция за завършена. В този случай в списъка с рутинни операции програмата ще отметне квадратчетата, показващи, че операцията е завършена, а на графичната диаграма елементът, съответстващ на завършената рутинна операция, ще бъде засенчен (фиг. 6).

Ориз. 6.Маркирайте за завършване на рутинна операция

В същото време, в списъка с рутинни операции, процедурата за приключване на месеца ще генерира задача за изпълнение на следващата рутинна операция, която ще се появи очертана с пунктирана линия на графичната диаграма.

Подобни действия трябва да се извършват при извършване на всяка рутинна операция.

Възстановете последователността от изчисления за придобивания (продажби)

Тези рутинни операции се извършват от обработката Възстановяване на състоянието на сетълменти с контрагенти (меню Интерфейс "Счетоводител" - Регулаторни операции - Възстановяване на последователността на изчисленията), който има за цел да идентифицира наличието на аванси (фиг. 7).

Ориз. 7.Възстановяване на последователността на разплащанията с контрагенти

Чрез възстановяване на последователности обработката генерира транзакции и движения на специализирани регистри, свързани с изплащането на дълга и компенсирането на авансови плащания за сетълменти с доставчици и клиенти.

В допълнение, за сетълменти в чуждестранна валута, обработката коригира постъпленията и сумите на продажбите при компенсиране на аванси с различен процент, а също така преоценява салда по всички сметки в чуждестранна валута и генерира записи за курсови разлики в счетоводното и данъчното счетоводство.

Възстановете последователността на партидното отчитане

Ако фирмата не използва RAUZ, тогава е необходимо да се извърши допълнителна операция, извършена от обработката Поща по партиди (меню Интерфейс "Счетоводител" - Отчитане на разходите - Извършване на партиди), който е предназначен:

  • да се възстанови правилната последователност на отчитане на партиди от материални запаси, ако документите за получаване и отписване са извършени със задна дата;
  • за регулирано отписване на себестойността на партиди инвентар, в случай че такова отписване не е извършено по време на осчетоводяване на документи (т.е. при настройване на счетоводни параметри квадратчето Отписване на партиди при осчетоводяване на документи беше не е избран).

Ако партидната счетоводна последователност не е възстановена, трябва да проверите отчитането на транзакциите за получаване и продажба (отписване) на партиди от инвентар и да се уверите, че всички документи, свързани с движението на инвентара, са публикувани в информационната база. (можете също да се уверите, преди да започнете обработката, че няма отрицателни салда в сметките за инвентар (например, като използвате отчета Списък на стоките в складовете).

За да улесните намирането на грешки, се препоръчва също да използвате бутона „Настройки“ в горната част на обработката Извършване на партиди, и като изберете елемент от менюто Настройки за обработка, поставете отметка в квадратчето Спрете груповата обработка, ако няма достатъчно партиди. След като обработката приключи, всички съобщения за ненаписани партиди могат да бъдат получени от прозореца за съобщения и дневника.

Коригирайте разходите за отписване на материални запаси

Ако RAUZ не се прилага, тогава организацията при затваряне на месеца трябва да извърши рутинна операция за коригиране на стойността на отписаните материални запаси. Извършва се от документа (меню - Документация - Регулаторни операции - Коригиране на разходите за отписване на стоки). Корекцията е необходима за:

  • изчисляване на среднопретеглената цена на отписване на партиди при използване на метода „Средно“ за оценка на материалните запаси (през месеца разходите бяха взети предвид с помощта на пълзящата средна и тази операция я преизчислява).
  • преизчисляване на стойността на материалните запаси, включително допълнителните разходи за тяхното придобиване, ако такива разходи са били отразени в счетоводните записи след отписването на активите.

Паралелно изпълнение на рутинни операции

Някои рутинни задачи могат да се изпълняват паралелно (фиг. 8). Това може да се види в списъка с рутинни задачи и още по-ясно в графичната диаграма (задачите са разположени на едно и също ниво, всяка оградена с пунктирана линия).

Ориз. 8.Възлагане на няколко рутинни задачи едновременно

Избор на операция Изчислете амортизацията на дълготрайните активи , който е предназначен за изчисляване на амортизация и, ако е необходимо, амортизационен бонус в съответствие с настройките, направени при приемане на дълготрайния актив за счетоводство (пускането му в експлоатация). Отворете прозореца за рутинни операции, като щракнете двукратно с левия бутон на мишката върху елемента, показан на графичната диаграма, и щракнете върху бутона „Създаване на документи“. В резултат на това ще бъде създаден документ „Амортизация на дълготрайни активи“, датиран от последния ден на месеца, който се затваря. От формата на регулаторна сделка можете да осчетоводите документ, като щракнете върху съответните бутони и да видите резултата от осчетоводяването в счетоводството и данъчното счетоводство (фиг. 9).

Ориз. 9.Осчетоводяване на създадения документ Амортизация на ДМА

След това операцията по амортизация трябва да бъде маркирана като завършена. Това става с помощта на бутон Маркирайте като завършенопод формата на рутинна операция или с помощта на меню Действия - Завършенов списъка с рутинни операции.

Следните операции се извършват по подобен начин.

Изчисляване на амортизация на нематериални активи. Тази операция ще натрупа амортизация на нематериални активи и ще отпише разходите за научноизследователска и развойна дейност (R&D) при извършване на създадения документ Амортизация на нематериални активи.

П изплатете разходите за специално облекло. По време на тази операция част от разходите за специално облекло и специално оборудване ще бъдат отписани, ако не са били напълно изплатени при въвеждане в експлоатация. Това ще стане при осчетоводяване на документа Погасяване на разходите (работно облекло, специално оборудване, инвентар).

Отпишете RBP.По време на тази операция част от разходите за бъдещи периоди ще бъдат прехвърлени към текущите разходи чрез документа .

Преоценка на чуждестранна валута. Преоценката се извършва с помощта на документа "Преоценка на средства в чуждестранна валута", по време на който преизчисляването на валута и дългове, деноминирани в чуждестранна валута, се извършва в съответствие със счетоводното и данъчното законодателство.

Изчислете разходите за застраховка. Документът „Разходи за доброволно осигуряване“, създаден при извършване на тази операция, е предназначен за отписване на бъдещи разходи за доброволно осигуряване на служители в счетоводството (76.01.2 „Плащания (вноски) за доброволно осигуряване на служители“) и данъчно счетоводство (97.02 „Отложено разходи за доброволно осигуряване”) застраховка на служители”).

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

  • ТРЗ(меню Интерфейс "Изчисляване на заплатите на служителите на организациите" - Изчисляване на заплати - Разплащателни ведомости);
  • Единно изчисляване на социалния данък(меню Интерфейс "Изчисляване на заплатите на служителите на организациите" - Данъци - Единно изчисляване на социалния данък);
  • Отразяване на работната заплата в регулаторното счетоводство(меню Интерфейс „Изчисляване на заплатите на служителите на организациите“ - Счетоводство на заплатите - Отражение на заплатите в регулаторното счетоводство).

Операция Изчислете ДДС включва създаването на много регулаторни документи и следователно напредъкът на неговото прилагане може да се наблюдава с помощта на отделна графична диаграма (фиг. 10). След приключване на всички предписани регулаторни операции, фонът на диаграмата потъмнява и операцията Изчислете ДДСна основната диаграма става завършен (защрихован).

Ориз. 10.Графична схема на изпълнението на нормативните операции по ДДС

Разпределете разходите по вид дейност, стандартизирайте разходите

При осчетоводяване на документ Редовни данъчни счетоводни операции (данък общ доход)тези рутинни операции, които са маркирани в диалоговата форма на документа, ще бъдат изпълнени.

Разпределение на разходите по вид дейност (UTII/не-UTII).Тази операция се използва, ако наред с дейностите, подлежащи на плащане на UTII, се извършват дейности, които не попадат в определения специален режим. Операцията разпределя разходите, които не могат да бъдат пряко приписани на нито един вид дейност, пропорционално на дела на приходите от всеки вид дейност в общия доход.

Рациониране на разходите за реклама. Рациониране на разходите за доброволно осигуряване и разходите за възстановяване на лихвените плащания на служителите. Нормиране на развлекателните разходи.Тези транзакции се използват във връзка с посочените разходи, взети предвид за данъчни цели съгласно стандартите, установени в глава 25 от Данъчния кодекс на Руската федерация.

Изчислете себестойността (BU, NU). Изчислете себестойността (CC)

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

Операция Изчисляване на разходитеналични само при използване на RAUZ. Извършва се от документа Калкулиране на производствените разходина няколко действия, чийто състав може да бъде различен за различните организации (фиг. 11).

Последователността на действията в документа няма значение, тъй като програмата съдържа алгоритъм за автоматичното им изпълнение в правилната последователност.

Ориз. единадесет.Калкулиране на производствените разходи

Генерирайте финансови резултати

Тази нормативна операция служи за определяне на финансовия резултат за приходите и разходите, отразени през месеца в сметки 90 „Продажби” и 91 „Други приходи и разходи”. Финансовият резултат, идентифициран с този документ, се отписва по сметка 99 „Печалби и загуби“.

Създаденият документ може също да отпише загуби от минали години за целите на данъчното счетоводство, в съответствие с изискванията на член 283 от Данъчния кодекс на Руската федерация. Размерът на загубите се изчислява, както следва: ако към момента на приключване на месеца има дебитно салдо по сметка 97.11 „Загуби от минали години“, размерът на отписването на бъдещи разходи се изчислява съгласно правилата, посочени в анализи, изградени върху справочника Бъдещи разходи. Получените суми се отписват по сметка 99.01 „Печалби и загуби без данък върху дохода“.

Изчислете данък върху дохода

Документ I изчислява постоянни и отсрочени данъчни активи и пасиви в съответствие с нормите на PBU 18/02 „Отчитане на изчисленията на данък върху дохода“, определя размера на условния разход (или доход) за данък върху дохода, а също така начислява текущ данък върху дохода в бюджета ( с разпределение по бюджетни нива).

Затворете годината

Документ Закриване на годинатареформира счетоводния баланс и приключва сметки за приходи и разходи в данъчното счетоводство. Такъв документ се създава в края на декември.

След приключване на всички рутинни операции, предвидени от стартиралата процедура за приключване в края на месеца, тази процедура се счита за завършена. Фонът на графичната диаграма, показваща рутинните операции, потъмнява (фиг. 12).

Ориз. 12.Графична диаграма на завършената процедура по приключване в края на месеца

Отмяна на рутинни операции за приключване на месеца

Ако трябва да отмените някоя от рутинните операции за затваряне на месеца, трябва да изпълните следните действия. В диаграмата на текущата процедура за приключване на месеца (меню Редовна дейност - Приключване на месеца) трябва да щракнете с десния бутон върху графичното изображение на операцията, която се отменя, и да изберете действие Отменете изпълнението на рутинна операция.

В този случай програмата ще отмени изпълнението на избраната рутинна операция и всички рутинни операции, следващи отменената в схемата, ще бъдат изтрити. Обработката на документи, създадени като част от тези регулаторни операции, също ще бъде отменена.

За да отмените изпълнението не само на една рутинна операция, а на цялата процедура за приключване на месеца, трябва да кликнете върху бутона за меню Действияформуляри за процедура за приключване на месеца, трябва да изберете артикула Отменете началото на процедурата. Програмата ще отмени изпълнението на всички рутинни операции и документи, а процедурата за приключване в края на месеца ще бъде прехвърлена в състояние „не е стартирано“.

Удостоверения за изчисления за окончателни сделки за месеца

За създаване на счетоводна документация и извеждането й за одобрение и съхранение на хартиен носител е предоставен набор от отчети, наречени „Справки-изчисления“ (меню Интерфейс "Счетоводство и данъчно отчитане" - Регулаторни операции - Помощ и изчисления).

Те включват следните сертификати и изчисления:

  • Преоценка на чуждестранна валута(преоценените сметки се отразяват в контекста на анализи, курсови разлики);
  • Отписване на разходи за бъдещи периоди(показва сумата на всеки RBP, разпределен за текущи разходи, баланса на неотписаната сума);
  • Рациониране на разходите(отчетът включва бази за нормиране на развлекателни, рекламни и други разходи, суми, взети предвид при изчисляване на данъка върху дохода на базата на начисляване за данъчния период и за последния месец);
  • Постоянни и временни разлики(отразява постоянни и временни разлики, процедурата за признаване и отписване на постоянни и отсрочени данъчни активи и изчислени въз основа на тях пасиви);
  • Изчисляване на данък общ доход(сравняват се приходите и разходите, взети под внимание и невзети предвид за целите на глава 25 от Данъчния кодекс на Руската федерация, финансовият резултат се идентифицира според счетоводните данни, показват се корекции на счетоводния финансов резултат, данъкът база за данък върху дохода, данъкът се изчислява);
  • Преизчисляване на стойността на активи и пасиви за бъдещи периоди(използван при преизчисляване на ONA и ONO по време на законодателното намаляване на ставката на данъка върху дохода от началото на 2009 г.).

Много хора си спомнят проблема с бавната обработка и повторното прехвърляне на документи в комбинацията 1C 7.7 - MS SQL.

Веднъж се сблъсках със същия проблем, след като прехвърлих търговската база на моето предприятие от DBF към SQL.

Тогава беше внедрена тази технология. Въпреки че самата идея ми се появи малко по-рано.

Дадено: партидно осчетоводяване на стоки, FIFO, отписване на себестойността в момента на повторно осчетоводяване на документа. До 2500 документа с движения по стоковата и касова отчетност на ден, което възлиза на около 60 000 на месец. Средно 22 реда на документ за изпълнение на описа. Чести корекции в стоковите документи за текущия месец "със задна дата". Продажби от TP. Контрол от директора на разходи/надценка онлайн. Средното време за обработка на документи Изпълнение на стоки и материали (като най-„тежки“) е 2-2,5 секунди.

Необходимо е: бързо, за предпочитане в рамките на 4-5 часа, да възстановите цялата последователност преди затваряне на месеца. Освен това животът показва, че процесът може да се повтори 2-3 пъти. В същото време, без да се правят промени в структурата и кодирането на конфигурацията.

Нека да разгледаме движенията в регистъра "Партидна наличност" на документа Изпълнение на инвентаризация:

Знаем, че при отписване на партиди от инвентарни позиции, балансът се отписва от партидата, която е пристигнала първа. Ако количеството стоки, които се отписват, е по-голямо от количеството в баланса на дадена партида, се извършва отписване от следващите партиди.

Нека да разгледаме „Партидната декларация за инвентара и материалите“:

Има копие на партидата. Какви условия могат да доведат до това?

1. “Обхождане” на документи от предходната партида;

2. Намаляване на количеството/стойността в разписката/документа за получаване;

3. Увеличение на количеството в документите за изписване;

4. Възможно е връщане да е премахнато от тази партида;

5. Документът може да е преместен според часа на документния дневник - от края на деня към началото или още повече - от един ден в друг.

Вече не ни интересува кой, кога, какво, къде и защо. Нашата цел е да премахнем „зачервяването“.

Ако правите това на ръка, какво е необходимо за това? Точно така, повторно публикуване на документи с последователни номера 3845 и 3846. След това те ще се „плъзнат“ към следващата партида. След това актуализираме отчета и виждаме дали има „зачервяване“ в следващата партида.

В същото време за всички останали документи повторната обработка няма да играе никаква роля! Всички продукти ще останат в своите „родни“ партиди.

Е, какво ни пречи да напишем аналитичен модул, който да проверява тази кореспонденция между страните? Нищо.

Анализът показа, че подобни промени в общата маса на движенията възлизат на не повече от 10% от общия брой документи на месец. Но все още е по-лесно да прехвърлите 6000, отколкото 60 000.

Това означава, че последователно за всеки документ от обработения период изграждаме таблица на съотношението на броя на стоките в документа, салда по партиди и движения в партидния регистър на този документ:

Несъответствията в балансите и партидите се маркират с цвят.

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

Между другото, в директна SQL заявка е възможно да се приложи вариант на пълен анализ на такива ситуации, което успяхме да направим в резултат: заявката ни върна само редове с недостиг на стоки. За този пример това биха били продуктови линии № 3, 6, 8.

Открихме несъответствия и ги проверихме отново. След това следващият.

Анализът на плащанията беше организиран по аналогия.

Този подход направи възможно извършването на предварителен анализ със скорост до 5 документа в секунда. И предвид факта, че самият анализ вече не изискваше блокиране на базата данни чрез превключване към изключителен режим и не пречеше на процесите на създаване и поддържане на текущи документи, в бъдеще възстановяването на последователността често се случваше не само през нощта, но и в работно време без особена намеса за служителите.

23/10/2015

Паралелно групово възстановяване

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

Типичните 1C конфигурации, например „1C: Manufacturing Enterprise Management“ (UPM), отдавна предлагат много механизми за опростяване на тези изчисления, например инструментите на механизма RAUZ (разширен анализ на счетоводството на разходите). Този механизъм наистина позволява в някои случаи значително да се опростят технически и следователно да се ускорят функциите за изчисляване на разходите. Единственият проблем е, че не винаги е възможно да се използва този подход и предприятията трябва да използват доброто старо партидно счетоводство и заедно с това да използват процедурата за възстановяване на партидното счетоводство.

В повечето случаи, при значителен поток от документи, задачата за „възстановяване на партиди“ е най-трудоемката и отнемаща време в процеса на затваряне на месеца и изчисляване на разходите. Нека да го разгледаме по-отблизо от всички страни и да видим какви начини има за оптимизиране и намаляване на времето.

Първото нещо, с което се сблъсквате при изпълнението на проекти за оптимизиране на работата на процедурата за партидно възстановяване, са остарели методи за извършване на тази процедура, а именно пълна повторна обработка на документи. Понякога това са само определени видове документи, участващи в „партиди“, понякога всичко безразборно. Струва ни се, че този подход идва от онези времена, когато наистина нямаше други алтернативи, или от онези конфигурации, в които това беше единственият начин. Сега обаче за конфигурацията на софтстартера, която обмисляме, това не е така. UPP има по-точни и ефективни механизми за изпълнение на тези задачи, а именно:

  • Процедурата за възстановяване на последователността на партидното счетоводство (отделно за управление, счетоводство, организации)
  • Процедура за възстановяване на взаимни сетълменти (определяне на аванси)

Всяка една от тези точки се изпълнява чрез отделна обработка, която вместо пълно преосчетоводяване на документи, само коригира движенията на много ограничен брой регистри, поради което процесът завършва несравнимо по-бързо. Втората обработка за възстановяване на взаимни разплащания протича приблизително по същия начин. Освен това, ако сравните работата на тези механизми с обичайната повторна обработка на документи, може да срещнете следния проблем, който изкривява счетоводните данни: сортирането по дата на документите, необходимо за подреждане на документите „в хронологичен ред“, работи с точност до секунди, а в рамките на една секунда системата може да има няколко различни документа (например разписка и отписване), чиято последователност на обработка ще определи генерираната цена. При нормални операции няма начин да се осигури такъв ред и подобно изчисление може да даде различни резултати от време на време. За да реши този проблем, платформата предоставя специален обект, „последователност“, който решава този проблем и винаги е гарантирано да подрежда документите в същия хронологичен ред, а обработката за възстановяване на последователността винаги се основава на този ред.

Добре, но какво ще стане, ако използваме точно тези обработки и въпреки това процесът на възстановяване на партиди отнема много време, например, няма време да бъде завършен за една нощ? В същото време капацитетът на сървъра най-често не работи (дори 30% не е натоварен).

Според нашия опит времето за обработка на един документ не надвишава 0,2 - 0,8 секунди, а самият код за коригиране на движенията е написан доста добре. За да получите значително увеличение, трябва да намалите това време, например, от 0,2 секунди до 0,05, което изглежда почти невъзможна задача, дори ако вземем предвид възможността за промяна не само на конфигурационния код, но и пълна замяна на оборудването с най-новите поколения процесори и системи за съхранение на данни на Flash/SSD. Наистина ли няма изход?

Оказва се, че е той! Тук на помощ идва нашият опит в програмирането на олимпиада и любознателен ум, който нашепва на пръв поглед абсурдна фраза - нека направим процеса на възстановяване на „последователността“ „паралелен“! Изглежда, че това е невъзможно, защото умишлено „подреждаме“ документите строго един след друг и така ги обработваме. Това обяснява бавността на процеса - той се изпълнява в една нишка, ограничена от производителността на едно процесорно ядро ​​на сървъри, които по правило имат доста други ядра, които не работят в този момент.

Всъщност поставянето на документи един след друг е опростяване, което се използва умишлено и гарантира коректността на счетоводството, но не е единственото възможно решение. Всеки документ в поредицата не зависи от всички предишни документи, а само от някои, например от онези документи, които съдържат същата номенклатура. В същото време не е необходимо всички останали документи да се осчетоводяват „преди“ избрания от нас документ, а могат да се осчетоводяват паралелно!

Честно казано, подобна идея и подход със сигурност не са нови; например в базата знания на компанията 1C по технологични въпроси има статия (http://kb.1c.ru/articleView.jsp?id=72) които описват подобни подходи. Можете също така да намерите други подобни теми в Интернет, включително различни интерпретации на такива подходи (например „механизъм за блокиране“ http://www.softpoint.ru/article_id375.htm и др.). Въпреки това, проблемите с всички тези подходи са, че те се основават на определени предположения или изкуствено формирани „блокове“ за обработка на данни и нямат ясна последователност на обработка. Искахме да отстраним тези недостатъци, използвайки най-„академичния“ подход и вярваме, че успяхме.

Процесът на паралелно групово възстановяване, който внедрихме, се състои от два важни етапа. Първият и ключов етап е изчисляването на зависимостите на документите един от друг с помощта на специални алгоритми, включително като се вземат предвид общите приложни допускания. Например, можете да забележите, че всички разписки формират нови партиди и не зависят от никого „преди“, за разлика от отписванията. Всички такива зависимости са представени под формата на графика, чиито точки са документи, а ръбовете са техните зависимости. Строго погледнато, това е насочен граф, но начинът на преминаване по него се различава от класическите техники и алгоритми, така че трябваше да напишем наши собствени, за които това не е важно.

Вторият етап е директно възстановяване (корекция на движения), само не според последователността, в която документите се регистрират от платформата, а според нашата графика. При това важното е, че самият код и алгоритмите за генериране на движения остават напълно стандартни, което означава, че конфигурацията запазва възможността за актуализиране. Всички наши модификации са разположени в отделна подсистема и използват само функциите на общи модули, които се използват и при стандартна обработка. Това също гарантира коректността на резултата - той винаги ще съвпада с типичното, последователно възстановяване. Освен това, това важи и за индустриални решения (например „1C: Управление на птицеферма“), където конкретни документи могат да присъстват в последователността. Наличието на първия етап и по-нататъшното класическо обхождане на графиката в дълбочина дори позволяват да се предскаже както времето за обработка, така и степента на „паралелизъм“ на процеса, което очевидно зависи от конкретните данни в базата данни. С помощта на тези механизми можем да разберем необходимите сървърни ресурси и също така да ги управляваме ефективно.


Действителната обработка на опашка от документи с помощта на такава графика не създава никакви затруднения и е доста типична - има контролиращо фоново задание, което определя наличните документи за обработка в необходимия ред и стартира необходимия брой работещи фонови задания, всяко от които обработва конкретен документ. Целият процес се извършва асинхронно, което означава, че операторът не трябва да поддържа отворена сесията на софтстартера, в която е направено стартирането - всичко ще работи самостоятелно, динамично показвайки процеса на специална диаграма. Тук можете да регулирате натоварването - максималния брой нишки (фонови работници), които ще бъдат стартирани едновременно. И тук можете дори да спрете този процес, като поставите обработката на пауза, както и да я продължите, без да е необходимо да пресмятате и стартирате. Тъй като на първия етап извършваме специални изчисления, за да сме сигурни във възможността за паралелна обработка на документи, задънените блокировки и изчакванията за заключване са практически елиминирани по време на обработката. Процесът може да се намеси само от паралелни потребители, които могат само да го забавят малко, но това няма да повреди нищо и резултатът ще бъде правилен във всеки случай. Да, разбрахте правилно - можете да възстановите последователността доста ефективно дори при работещи потребители, основното е да изключите промените в данните по време на периода на възстановяване.


И така, проблемът изглеждаше решен, алгоритъмът беше написан, проверен и тестван в най-малкия детайл, но стартирането на реална работна база, след като започна да работи в нормален режим, започна значително да влошава производителността до средата на графиката обработка. Времето за обработка на един документ започна да надвишава 10 секунди (вместо планираното - не повече от секунда), а тук вече бяха приложени стандартни подходи за оптимизация - анализ на плановете за заявки и тяхната оптимизация. В резултат на тази работа открихме стандартна заявка в UPP, която чрез леко пренаписване може да елиминира такова влошаване, докато нейните резултати остават точно същите като в стандартната форма. Тази „кръпка“ може да се използва както за последователно възстановяване на последователността, така и за пълна повторна обработка на документи. Можем да го предоставим напълно безплатно, при заявка на нашия имейл: .

Сега получихме точно това, което планирахме: многократно намаляване на времето за възстановяване на последователността (повече от 16 пъти!), Ефективно зареждане на оборудването, удобни и гъвкави инструменти за управление на процеса. Но най-важното е нашият доволен клиент, който винаги е нашата основна цел и най-висока ценност.


Ще можете да прочетете ревюто много скоро на нашия уебсайт.

И накрая, малък контролен списък за вас.

Основни техники за секвениране, от най-простите до най-иновативните:

  • Осчетоводявате ли повторно документи, за да възстановите последователността само за онези документи, които се използват в последователността на партидното счетоводство и са сортирани по момент от време, а не по дата?
  • Вместо повторно осчетоводяване, използвате ли специализиран механизъм за възстановяване на партиди и взаимни разплащания (в UPP и подобни конфигурации)?
  • Използвате нашето собствено многонишково, паралелно пакетно възстановяване? Дж

Представлява последователно създаване и обработка на определен вид документи и извършване на специална обработка.

В зависимост от видовете бизнес транзакции, отразени в системата, съставът на документите и обработката могат да се променят. Тази статия изброява най-често срещаните. Нека да разгледаме инструкциите стъпка по стъпка за приключване на месец.

Някои действия които според мен имат нужда от пояснение , ще бъдат коментирани.

В допълнение, процесът на приключване в края на месеца може да се отнася до системен бизнес процес; той изисква предварителна конфигурация. Въз основа на трудов опит мога да кажа, че осъществимостта на използването му е под въпрос; процедурата за настройка и използване няма да бъде описана.

Процедури стъпка по стъпка

Преди да започнете процедурата за приключване в края на месеца, е необходимо да извършите някои операции за организиране на системните данни. Извършването на тези обработки изисква значителни времеви разходи, препоръчително е да ги извършвате, когато в базата данни няма активни потребители (за да не променяте вече обработен документ).

Вземете безплатно 267 видео урока за 1C:

Въз основа на изложеното е препоръчително провеждането им в извънработно време. Посочената обработка се извършва преди затваряне на месеца в базата данни 1C UPP 8.2, в случай на използване на режим на отчитане на разходите -. Ако се използва RAUZ, не се очаква тези операции по обработка да бъдат изпълнени.

  • Възстановете последователността на сетълментите за придобиване – обработка (Възстановете последователността на сетълментите).
  • Възстановете последователността на изчисленията за изпълнение - обработка (Възстановете последователността на изчисленията).
  • Възстановете последователността на партидното счетоводство - обработка (Post by batch).
  • Корекция на разходите за отписване на стоки - документ (довежда разходите до подвижната средна).
  • Амортизация на ДМА - документ.
  • Погасяване на разходите () – документ.
  • – документ.
  • Преоценка на валута - документ.
  • - лечение. Намира получени аванси (салда по сметка 62.02), при натискане на бутона „Изпълни“ създава фактури за аванса, ако такива фактури вече присъстват в системата, ги презаписва (не ги дублира).
  • Потвърждение за нулева ставка на ДДС – документ. Попълва се при наличие на подходящо счетоводство в системата.
  • Оформяне на дневник покупки – документ.
  • Генериране на записи в книгата за покупки (0%) – документ. Попълва се при наличие на подходящо счетоводство в системата.
  • Оформяне на записи в книгата за продажби – документ.
  • Генериране на записи в книгата за продажби (0%) – документ. Попълва се при наличие на подходящо счетоводство в системата.
  • Разходна калкулация - документ. Най-важният документ закрива скъпи сметки.
  • Определяне на финансовите резултати - документ.
  • Изчисления за данък върху дохода – документ.