В този раздел са описани примери на сложни макроси
реализирани в универсалния пакет "Уни" на програма CPAccounting®:
Вход от друго приложение / друга програма
Плащане на доставчик, РКО
Производство
Фактуриране
Изписване
Плащане от клиент, ПКО
Пълно описание на структурата на сметките, които се използват, може да видим в примерния сметкоплан.
Има няколко варианта на макроси за вход
(import) на данни от
друго приложение на програма CPAccounting® или от друга програма.
В тях се използват някои от външните програми описани във Вход от чужд toCpa.* файл.
Ще разгледаме следните макроси:
- 1005. СервИзпращане на данни - подготвя данни, които
ще се приемат от друго приложение на програма CPAccounting® чрез макрос
1008. СервПриемане на данни,
- 69. Въвеждане на данни от pokupki.dbf - за дневника на
покупките по ДДС от програмата на данъчната служба,
- 70. Въвеждане на данни от prodagbi.dbf - за дневника
на продажбите по ДДС от програмата на данъчната служба,
- 500. Входен файл с покупки с toCPA3.dbf - текстов
файл с фиксирана ширина на полетата, на кирилица за
DOS (Генис),
- 508. Входен файл с покупки с Txt.dbf - текстов файл с
разделители между полетата, на кирилица за
Windows (Буров),
- 501. Входен файл с продажби с toCPA1/2.dbf - текстов
файл с фиксирана ширина на полетата, на кирилица за
DOS (Генис),
- 506. Входен файл с продажби с toCPA21.dbf -
текстов файл с фиксирана ширина на полетата, на кирилица за
Windows (Генис за х-л Лозенец).
Макроси "1005. СервИзпращане на данни" и "1008.
СервПриемане на данни" служат за прехвърляне на данни между две приложения
на програма CPAccounting®.
ИЗПРАЩАНЕТО НА ДАННИ
завършва със създаване на компресиран файл с име xxxyyyyy.zip, където:
- xxx е номерът (с водещи нули) на обекта, в който работи приложението (той се получава от
автоматичен стринг (Ctrl+D) "21. Номер на обект"),
- yyyyy е пореден номер (с водещи нули) на файла (той се получава като към номера на предишния изпратен файл се прибави 1).
В елемент "90000. Последно изпратен файл" от номенклатура "119. !Параметри",
програмата записва номера на файла и системната дата,
а в елемента "90001. Последно изпратени номенклатури" - ггггмм на последния
системен месец и системната дата. Номерата 90000 и 90001 на двата елемента може
да са други - те се четат от управляващия текст
"1014. СервИзпращане на данни - параметри".
При следващо изпращане се вземат:
- от номенклатурите с включена отметка (√) от списъка в
управляващия текст "1015. СервИзпращане на
данни - списък с номенклатури", всички елементи, които са били добавени или
променени след датата записана в елемента "90001. Последно изпратени номенклатури" от номенклатура "119.
!Параметри". Тяхното намиране става като се пусне справка на номенклатура "90. Дневник:
транзакции", само за видове "3. Номенклатура - допълване" и "4. Номенклатура -
промяна", за всички месеци от ггггмм, записан в елемента 90001 от номенклатура
119, до последния системен месец включително. Ако желаем първоначално
да се прехвърлят всички елементи на номенклатурите от списъка в текст
1015, трябва да изтрием полетата № и Дата в елемента 90001 от номенклатура 119.
Според таблицата за дадена номенклатура, записана в текст 1015, възможно е да не
се прехвърлят някои от полетата (ако стойностите им започват със знака √).
При работата с всяка от тези таблици макросът попълва ДДС №, номера на обекта
на приложението и ггггмм на последния системен месец. В момента тези данни не
се използват от таблиците, но в бъдеще може и да потрябват.
- всички документи не по-стари от датата записана в елемента "90000.
Последно изпратен файл" от номенклатура "119. !Параметри", (гледа се полето "въведен на").
Ако се наложи ръчно да се връща назад датата
в полето "Системна дата, на която за последно е работено с програмата" в
Ini.dbf файла,
трябва ръчно да се върне и датата в елемент "90000. Последно изпратен файл".
Според таблицата, която се зарежда на справка "5. Сметка -
сметка" е възможно да не се вземат всички папки, някои папки да променят номерата си и др.
Например в универсалния пакет "Уни", ако обектът е xxx
(не може да има обект с номер 900), папките променят номерата си така:
- ако номерът е 900zz (за папки с номера по-големи от 90000 и по-малки от
90081 - това са оперативните папки), той става равен на xxx * 100 + zz (след
номера на обекта се залепват последните две цифри от номера на папката),
- ако номерът е zz (за папки с номера по-малки от 20 - това са счетоводните
папки), той става равен на xxx * 100 + 80 + zz,
- папки с други номера не се прехвърлят. В централата, свободните счетоводни
папки (за ръчно въвеждане) може да са с номера от 20 до 100 вкл.
- на последния ред от файла се записват ДДС №, номера на обекта и номера, датата и часа на файла.
В текст 1014 може да променим устройството, върху което се копира файла.
Ако устройството е мрежов адрес (включително VPN),
установяването и прекъсването на връзка с него може да се програмират в RemoteOn.bat и RemotOff.bat (те се
намират в \Cpa\Cpa директорията на диска на приложението.
ПРИЕМАНЕТО НА ДАННИ
гледа елементите с номера по-малки от 90000 от
номенклатура "119. !Параметри", които посочват от кои
обекти може да се приемат данни в текущото приложение. В случай на
централа, може да се приемат данни от всички обекти.
В случай на огледален обект (един и същи обект, който се води
на два компютъра несвързани в мрежа - например, в офиса се въвеждат доставките и банковите
плащания, а в магазина - всичко останало), може да се приемат данни само от същия обект.
Програмата прави цикъл по елементите с номера по-малки от 90000 от номенклатура
"119. !Параметри". За всеки елемент се опитва да приеме файл с номер с 1
по-голям от записания в полето № (след "параметър"). Ако за нито един елемент не
намери такъв файл, приемането приключва, дори и да има файлове с по-големи номера.
Накрая макросът приключва неприключените месеци.
При приемането на данни се счита, че промени по приетите
документи може да се правят само в изпращащия данните обект. Затова за
всеки пристигащ документ се гледа дали не съществува в приемащия обект документ
със същите ггггмм, папка и документ (№). Ако съществува и е еднакъв по
съдържание, не се приема повторно. Ако съществува, но се различава, преди приемането, документът
в приемащия обект се изтрива.
Така, ако в изпращащия обект желаем да изтрием документ, трябва
да оставим поне едно записване (например по
сметка 3), иначе няма да се изтрие неговото копие в приемащия обект.
В управляващия
текст "1017. СервПриемане на данни - параметри" може да променим устройството, от което да
се копира файла с данните за приемане. Ако устройството е мрежов адрес (включително VPN),
установяването и прекъсването на връзка с него може да се програмират в RemoteOn.bat и RemotOff.bat (те се
намират в \Cpa\Cpa директорията на диска на приложението.
ДДС №-ът в изпращащия и приемащия обект трябва да са еднакви.
Ако приложението е на диск R:, изпращането на данни използва директорията R:\Export.Cpa,
а приемането на данни използва директорията R:\Import.Cpa.
Тези директории трябва да създадем ръчно.
Макрос "69. Въвеждане на данни от pokupki.dbf"
импортира данните от дневника на покупките по ДДС, създаден от програмата на
данъчната служба. Това се извършва със следните стъпки:
- преди да изпълним макроса, трябва да пуснем "Справка
- протокол" в програмата за ДДС (иначе във файла pokupki.dbf няма
да са попълнени номерата на редовете, които макросът използва за поредни
номера на документите в папката на покупките). Този макрос може да обработи
не повече от първите 9999 документа.
Счита се, че всички идентификационни номера са 9 цифрен БУЛСТАТ и
няма документи с право на
частичен данъчен кредит или акциз.
- макросът предлага да копираме файла с покупките за текущия месец pokupki.dbf във файла C:\CpaBack\toCpa.dbf
(и после да продължим с Alt+1)
- изпълнява външна програма 19. От toCpa.dbf към "чужди" (1)
- припокрива по БУЛСТАТ получената справка
"чужди" с номенклатурата на доставчиците и
допълва номенклатурата
- припокрива по БУЛСТАТ за да добави към основните данни номенклатурния номер на
доставчика (който може и да не е БУЛСТАТ, ако в номенклатурата е използвано полето "БУЛСТАТ / ЕГН")
- зарежда предварително подготвени полета за:
- номер на папката на покупките,
- текст за антетките на документите,
- номер на обект и номер на стока, по които ще осчетоводи с-ка 304. Стоки,
- номенклатурен номер за фирми без БУЛСТАТ
- осчетоводява данните по сметки:
304. Стоки,
4531. Начислен данък за покупките
и 401. Доставчици
чрез външна програма 43. Осчетоводяване от "чужди" в тек. месец
- показва справка с неосчетоводените редове, изчиства кошчето и зарежда макрос "1. Празен набор"
- този макрос не прехвърля правилно по-рядко срещаните случаи (отбелязани по-горе с червено)
Към началото на Вход от друго приложение / друга програма.
Макрос "70. Въвеждане на данни от prodagbi.dbf"
импортира данните от дневника на продажбите по ДДС, създаден от програмата на
данъчната служба. Това се извършва със следните стъпки:
- преди да изпълним макроса, трябва да пуснем "Справка
- протокол" в програмата за ДДС (иначе във файла prodagbi.dbf няма
да са попълнени номерата на редовете, които макросът използва за поредни номера на документите в папката на продажбите).
Този макрос може да обработи не повече от първите 9999 документа.
Счита се, че всички идентификационни номера са 9 цифрен БУЛСТАТ и
няма документи за износ,
начислен данък в други случаи или акциз.
- макросът предлага да копираме файла с продажбите за текущия месец prodagbi.dbf във файла C:\CpaBack\toCpa.dbf
(и после да продължим с Alt+1)
- изпълнява външна програма 19. От toCpa.dbf към "чужди" (1)
- припокрива по БУЛСТАТ получената справка
"чужди" с номенклатурата на клиентите и
допълва номенклатурата
- припокрива по БУЛСТАТ за да добави към основните данни номенклатурния номер на
клиента (който може и да не е БУЛСТАТ, ако в номенклатурата е използвано полето "БУЛСТАТ / ЕГН")
- зарежда предварително подготвени полета за:
- номер на папката на продажбите,
- текст за антетките на документите,
- номер на обект и номер на стока, по които ще осчетоводи с-ка 702. Приходи от продажби на стоки,
- номенклатурен номер за фирми без БУЛСТАТ
- осчетоводява данните по сметки:
702. Приходи от продажби на стоки,
4532. Начислен данък за продажбите
и 411. Клиенти
чрез външна програма 43. Осчетоводяване от "чужди" в тек. месец
- показва справка с неосчетоводените редове, изчиства кошчето и зарежда макрос "1. Празен набор"
- този макрос не прехвърля правилно по-рядко срещаните случаи (отбелязани по-горе с червено)
Към началото на Вход от друго приложение / друга програма.
Макрос "500. Входен файл с покупки с toCPA3.dbf" импортира
данни за покупки от текстов файл с фиксирана ширина на полетата
(полетата са залепени едно за друго без разделители помежду им)
на кирилица за DOS със следната структура
(по поръчка на "Генис Консулт" ООД):
1. FILE_DAN_N - БУЛСТАТ на фирмата, на която е инсталацията - трябва да е един и същ за всички редове - 10,
2. SP - празно - 4,
3. RED_NO - 6, въпреки, че номерът на реда е шестцифрен, този макрос може
да обработи номера не по-големи от 9999,
4. VI - вид на документа - 2,
5. DOCUM_NO - 10,
6. DATA - 10,
7. DAN_NO - 10 (или 15),
8. IME - 50,
9. VID_SDELKA - 30,
10. OBSHTO - 15.2,
11. OSVOBODENI - 15.2,
12. STOJNOST - 15.2,
13. DDS - 60,
14. GOLJAMO_2 - 60.
Тъй като пълното име на макроса завършва с цифрата 0, той не може да се
зареди с неадминистраторска парола. За да използваме макроса е необходимо предварително да направим следното:
1) влизаме в програмата с администраторска парола и създаваме в номенклатура "2.
Типове папки" елемент, в който не попълваме сметки, а
само на последния ред попълваме макрос 500,
2) създаваме папка с тип създадения в т. 1) елемент.
Така при влизане в папката, дори и с неадминистраторска парола, автоматично се зарежда
макросът и се появява бутон "1. входен файл покупки", който натискаме за стартирането му.
След натискане на Alt+1 или на бутона макросът извършва импортирането със следните стъпки:
- зарежда кошче 504, в което ни предлага да копираме файла с покупките за
текущия месец върху файла A:\POKUPKI.TXT (и после да продължим с Alt+1).
Името на файла и устройството се вземат от управляващ текст
"500. Параметри само за текущото приложение". Ако желаем да ги
променим, може да променим управляващия текст. Ако искаме само за момента да
използваме друг файл, направо променяме името, което ни се предлага в кошчето
(преди да натиснем Alt+1 за продължение).
- зарежда кошче 501 и подготвя в него следните редове:
||
|>copyfile
|A:\POKUPKI.TXT
|C:\CpaBack\toCpa.txt
където A:\POKUPKI.TXT се взема от управляващ текст 500 (така че, ако сме го променили може да е друго)
- изпълнява външна програма 30. Изпълнение на външна програма
- зарежда кошче 505 със съдържание:
||
|>copyfile
|System\toCPA3.dbf
|C:\CpaBack\toCpa.dbf
и отново изпълнява външна програма 30. Изпълнение на външна програма.
Файлът toCPA3.dbf е предварително приготвен файл със структура като описаната по-горе (с ширина 10
на седмото поле DAN_NO) и намиращ се в Cpa\System директорията на текущото приложение.
- изпълнява външна програма 24. От Fixed width toCpa.txt към "чужди" (1)
- отива в таблицата за справка на получената справка "чужди"
и на ръка променя на 5 втория символ от колоната ширина на седмото поле DAN_NO.
Това се прави с цел уеднаквяване на обработката за данни с 10 или 15 цифрено поле на БУЛСТАТ. Изпълнява справката.
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- отива на справка чужди и зарежда таблица 508, с която се проверява дали
първото поле FILE_DAN_N съвпада с БУЛСТАТ записан в управляващ текст
"1. Параметри". Започва акумулирана справка, в която ще се опишат всички грешки по входните данни.
- след това се акумулират останалите проверки за грешки чрез таблици 514 (за
дата след текущия месец), 515 (за разлика в ДДС с повече от
1 ст.) и 516 (за нулева сума)
- пуска се акумулираната справка с грешките и се предлага след прегледа им да
се продължи за осчетоводяване с натискане на Alt+1.
Тъй като в данните има сумарен ред с номер 999999, той ще излезе като грешка, което не бива да ни притеснява.
До този момент програмата не е извършила никакви промени по данните.
- отива на справка "чужди" и зарежда таблица 509 за осчетоводяване на с-ка
304. Стоки (по обект 1, стока 1, количество 0). Попълва номера на текущата папка, а ггггмм с текущия месец. Стартира акумулиране.
- по същия начин продължава акумулирането с таблици 510 (за с-ка 4531. Начислен данък за покупките), 511
(за кредит на с-ка 401. Доставчици, включително попълва полетата за дневника по ДДС), 512
(за дебит на с-ка 401, но само за записите, в които в полето GOLJAMO_2 е
записано 501) и 513 (за с-ка 501. Каса в лева, но само за записите, в които в полето GOLJAMO_2 е записано 501)
- отива на справка "акумулирана", натиска Alt+- за да намали ширините на
полетата до тези от базата данни и изпълнява справката
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- осчетоводява данните чрез външна програма 42.
Осчетоводяване от "чужди" 1 към 1, с което обновява и
номенклатурата на доставчиците (за номенклатурен номер се взема БУЛСТАТ)
- отива на справка "чужди", зарежда таблица 507 и показва справка с неосчетоводените редове
- зарежда макрос "1. Празен набор"
Към началото на Вход от друго приложение / друга програма.
Макрос "508. Входен файл с покупки с Txt.dbf" импортира
данни за покупки от текстов файл с
разделители между полетата от тип CSV
(описан във Вход на данни от чужд текстов файл)
на кирилица за Windows със следната структура
(по поръчка на ЕТ "Илия Буров - Стоил Буров"):
1. дата на фактурата
2. номер на фактурата
3. код на стоката (може една и съща стока да има различни кодове в различните обекти)
4. име на стоката
5. мярка - не се гледа
6. количество
7. единична цена без ДДС - само за проверка
8. сума без ДДС
9. сума с ДДС - само за проверка
10. име на доставчика
11. БУЛСТАТ на доставчика
12. коментар:
- хххх - пореден номер на документа в папката
- 1 интервал
- К или Б - каса или банка
- 1 интервал
- ХХХ - име (а не номер) на папка (съответства на име
на обект) - в някои от таблиците обяснени по-долу се прави съответствие с № на
папката, в която се осчетоводяват данните
Тъй като пълното име на макроса завършва с цифрата 0, той не може да се
зареди с неадминистраторска парола. За да използваме макроса е необходимо предварително да направим следното:
1) влизаме в програмата с администраторска парола и създаваме в номенклатура "2.
Типове папки" елемент, в който не попълваме сметки, а само на последния ред попълваме макрос 508,
2) създаваме папка с тип създадения в т. 1) елемент.
Така при влизане в папката, дори и с неадминистраторска парола, автоматично се зарежда
макросът и се появява бутон "1. входен файл покупки", който натискаме за стартирането му.
След натискане на Alt+1 или на бутона макросът извършва импортирането със следните стъпки:
- зарежда кошче 504, в което ни предлага да копираме файла с покупките за
текущия месец върху файла A:\POKUPKI.TXT (и после да продължим с Alt+1).
Името на файла и устройството се вземат от управляващ текст
"500. Параметри само за текущото приложение". Ако желаем да ги променим, може да променим управляващия текст.
Ако искаме само за момента да използваме друг файл, направо променяме името,
което ни се предлага в кошчето (преди да натиснем Alt+1 за продължение).
- зарежда кошче 501 и подготвя в него следните редове:
||
|>copyfile
|A:\POKUPKI.TXT
|C:\CpaBack\toCpa.txt
където A:\POKUPKI.TXT се взема от управляващ текст 500 (така че, ако сме го променили може да е друго)
- изпълнява външна програма 30. Изпълнение на външна програма
- зарежда кошче 506 със съдържание:
||
|>copyfile
|System\Txt.dbf
|C:\CpaBack\toCpa.dbf
и отново изпълнява външна програма 30. Изпълнение на външна програма.
Файлът Txt.dbf е описан във Вход на данни от чужд текстов файл.
- изпълнява външна програма 48. От Delimited toCpa.txt към "чужди" (2)
- започва проверка за фатални грешки,
отива на справка чужди и зарежда таблица 534, започва акумулиране като
сортира по папка+документ №+дата+фактура №+БУЛСТАТ ("папка" и "документ №" се
вземат от полето "коментар" от входните данни), само суми, с междинни суми,
отива на справка акумулирана и зарежда таблица 535, сортира по
папка+документ, само суми, с междинни суми получавайки по колко пъти се среща
всеки един документ (т. е. дали има повече от една фактура в един документ),
изпълнява външни програми 26. От "последна" към справка -
през Alt+F8 и "7. От справка към чужди данни",
отива на справка чужди и зарежда таблица 536, чрез която проверява за грешката "повече
от 1 фактура в една и съща папка и документ",
започва начално залепване (на всички съобщения за фатални грешки) и стартира справката
- излиза до главното меню, включва с F11 Залепване на справки
и отива на справка последна,
изтрива редовете от заглавието до антетката (без нея)
- изпълнява външна програма 20. От toCpa.dbf към "чужди" (2),
с което отново копира входните данни в справка чужди
- отива на справка чужди и зарежда таблица 537, започва акумулиране като
сортира по папка+документ, само суми, с междинни суми, с което на всеки ред се получава 1 в третата колона,
отива на справка документи, зарежда таблица 538 и продължава акумулирането, с коета за всеки документ получава 2 в третата колона
отива на справка акумулирана и зарежда таблица 539, сортира по папка+документ,
само суми, с междинни суми, с което на всеки ред се получава 1, 2 или 3 в третата колона,
изпълнява външни програми 26. От "последна" към справка -
през Alt+F8 и "7. От справка към чужди данни",
отива на справка чужди и зарежда таблица 540, чрез която проверява за грешката "има
осчетоводявания в даден документ" за редовете с 3 в третата колона, включва залепване и стартира справката
- излиза до главното меню, включва с F11 Залепване на справки
и отива на справка последна,
попълва на първи ред в кошчето думата Справка и в справката я намира с еднократно натискане на Ctrl+S, изтрива горния ред и следващите до
началото на втората залепена спрвка (включително и антетката) - така от двете залепени справки остава една обща,
отива на върха на справката и слиза на втория ред,
натиска F5 (Телефонен указател),
включва с F11 Alt+F8 чете от справка "залепени"
и натиска Alt+F8 за да разклони макроса:
- ако справката е празна, отива на точка (*),
- иначе, излиза от телефонния указател (с Esc), изтрива кошчето и зарежда
макрос "1. Празен набор" - така обработката завършва заради фаталните грешки (които са показани на екрана)
- (*) изпълнява външна програма 20. От toCpa.dbf към "чужди" (2),
с което отново копира входните данни в справка чужди
- започва проверка за нефатални грешки,
отива на справка чужди и зарежда таблица 525, в която проверява за грешката "нулеви
числови полета" за полетата дата, фактура №, стока №, количество, цена
без ДДС, сума без ДДС, сума с ДДС, БУЛСТАТ и коментар,
започва начално акумулиране
- върху същата справка чужди продължава акумулирането с таблица 526, в която
проверява за грешката "БУЛСТАТ < 9 цифри"
- върху същата справка чужди продължава акумулирането с таблица 527, в която
проверява за грешката "сума/кол.-цена=ххх",
където ххх е разлика, която по абсолютна стойност е по-голяма от 0.01 лв.
- върху същата справка чужди продължава акумулирането с таблица 528, в която
проверява за грешката "грешен коментар"
(невалидни символни полета в коментара)
- върху същата справка чужди продължава акумулирането с таблица 530, в която
проверява за грешката "дата не в текущия месец"
- отива на справка акумулирана и зарежда таблица 529, стартира справката, след
което предлага след прегледа на грешките да се продължи за осчетоводяване с натискане на Alt+1,
тъй като в данните има заглавие, антетка и сумарен ред, тези редове ще излязат като грешка, което не бива да ни притеснява,
до този момент програмата не е извършила никакви промени по данните
- отива на справка чужди и зарежда таблица 531 за осчетоводяване на с-ка 304. Стоки,
за номенклатурен номер на стоката се взема:
- "кода на стоката", ако той е по-голям или равен на "№ на папката" * 100000000
(очаква се, ако кодът на стоката е по-дълъг от 8 цифри, той да е 13 цифрен баркод),
- иначе: "кода на стоката" + "№ на папката" * 100000000
(което, при двуцифрен номер на папката, прави 10 цифрен номер на стоката),
където "№ на папката" се получава в съответствие с частта "име на папка" от
полето "коментар" - идеята е, че в различните обекти се поддържат различни
номенклатури (ако това не е така и номенклатурата е единна, не е необходимо да
се правят преобразуванията на "код на стоката" за получаване на номенклатурния номер на стоката),
попълва ггггмм с текущия месец и стартира справката
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- осчетоводява данните чрез външна програма 42.
Осчетоводяване от "чужди" 1 към 1, с което обновява и номенклатурата на стоките
- отива на справка чужди, зарежда таблица 541, започва начално залепване (на всички съобщения за неосчетоводените редове),
стартира справката
- излиза до главното меню, включва с F11 Залепване на справки
и отива на справка последна,
зарежда отново кошче 506, от което преписва на първия
ред в справката текста "Справка за неосчетоводените редове" и изтрива четвъртия ред (с условието)
- изпълнява външна програма 20. От toCpa.dbf към "чужди" (2),
с което отново копира входните данни в справка чужди
- в тази подточка ще се заменят оригиналните данни (по стоки) с обобщени данни по документи,
отива на справка чужди и зарежда таблица 532, започва акумулиране като сортира
по дата+фактура №+доставчик име+БУЛСТАТ+коментар, само суми, с междинни суми за
получаване на сумите по документи,
отива на справка акумулирана и зарежда таблица 533, изпълнява справката
изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни",
- отива на справка чужди и зарежда таблица 542 за осчетоводяване на с-ка "4531. Начислен данък за покупките" като попълва ггггмм с
текущия месец, стартира акумулиране
- в същата справка чужди продължава акумулирането чрез таблици 543 (кредит на
с-ка 401. Доставчици), 544 (дебит на с-ка 401 - за тези документи, за които в коментар е
указано каса), 545 (кредит на с-ка 501. Каса в лева - за тези документи, за които в коментар е указано каса)
- отива на справка акумулирана, натиска Alt+- за да намали ширините на
полетата до тези от базата данни и изпълнява справката
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- осчетоводява данните чрез външна програма 42.
Осчетоводяване от "чужди" 1 към 1, с което обновява и
номенклатурата на доставчиците (за номенклатурен номер се взема БУЛСТАТ)
- отива на справка чужди, зарежда таблица 541, включва залепване и стартира справката
- излиза до главното меню, включва с F11 Залепване на справки
и отива на справка последна,
преписва в кошчето първия ред от справката, минава на втория ред на справката и стартира търсене на текста Справка с Ctrl+S - така
отива на заглавието на втората залепена справка,
изтрива горния и следващите редове включително антетката след заглавието,
отива на върха на справката, където на първия ред пише "Справка за неосчетоводените редове",
изтрива кошчето,
зарежда макрос "1. Празен набор"
Към началото на Вход от друго приложение / друга програма.
Макрос "501. Входен файл с продажби с toCPA1/2.dbf" импортира
данни за продажби от текстов файл с фиксирана ширина на полетата
(полетата са залепени едно за друго без разделители помежду им)
на кирилица за DOS (по
поръчка на "Генис Консулт" ООД). Този макрос обработва два варианта на данните.
Необходимо е, преди да се стартира макросът, в Cpa\System директорията на
текущото приложение да се преименува един от двата
файла ToCpa1.dbf или ToCpa2.dbf на ToCpa.dbf (т. е. да се изтрие цифрата преди точката).
Файлът ToCpa1.dbf е със следната структура:
1. FILE_DAN_N - БУЛСТАТ на фирмата, на която е инсталацията - трябва да е един и същ за всички редове - 10,
2. SP - празно - 5,
3. RED_NO - 6, въпреки, че номерът на реда е шестцифрен, този макрос може да
обработи номера не по-големи от 9999,
4. VI - вид на документа - 2,
5. DOCUM_NO - 10,
6. DATA - 10,
7. DAN_NO - 10,
8. IME - 50,
9. VID_SDELKA - 30,
10. OBSHTO - 15.2,
11. STOJNOST - 15.2,
12. DDS - 15.2,
13. GOLJAMO_1 - 60,
14. GOLJAMO_2 - 60.
Файлът ToCpa2.dbf е със следната структура:
1. FILE_DAN_N - БУЛСТАТ на фирмата, на която е инсталацията - трябва да е един и същ за всички редове - 10,
2. SP - празно - 4,
3. RED_NO - 6, въпреки, че номерът на реда е шестцифрен, този макрос може да
обработи номера не по-големи от 9999,
4. VI - вид на документа - 2,
5. DOCUM_NO - 10,
6. DATA - 10,
7. DAN_NO_OBE - 15,
8. IME - 50,
9. VID_SDELKA - 30,
10. OBSHTO - 15.2,
11. STOJNOST - 15.2,
12. DDS - 15.2,
13. GOLJAMO_1 - 60,
14. GOLJAMO_2 - информация за плащане 501 или 503 - 60.
Различава се от файла ToCpa1.dbf по:
- дължината на полето SP,
- дължината на полето DAN_NO_OBE, където се очаква след БУЛСТАТ да е залепен номер на обект,
- използва се началото на полето GOLJAMO_2.
Тъй като пълното име на макроса завършва с цифрата 0, той не може да се
зареди с неадминистраторска парола. За да използваме макроса е необходимо
предварително да направим следното:
1) влизаме в програмата с администраторска парола и създаваме в номенклатура "2.
Типове папки" елемент, в който не попълваме сметки, а
само на последния ред попълваме номера на макроса,
2) създаваме папка с тип създадения в т. 1) елемент.
Така при влизане в папката, дори и с неадминистраторска парола, автоматично се зарежда
макросът и се появява бутон "1. входен файл продажби", който натискаме за стартирането му.
След натискане на Alt+1 или на бутона макросът извършва импортирането със следните стъпки (със звездички са
показани разликите му с макрос 506. Входен файл с продажби с toCPA21.dbf):
- зарежда кошче 500, в което ни предлага да копираме файла с продажбите за
текущия месец върху файла A:\PRODAGBI.TXT (и после да продължим с Alt+1).
Името на файла и устройството се вземат от управляващ текст
"500. Параметри само за текущото приложение". Ако желаем да ги
променим, може да променим управляващия текст. Ако искаме само за момента да
използваме друг файл, направо променяме името, което ни се предлага в кошчето
(преди да натиснем Alt+1 за продължение).
- зарежда кошче 501 и подготвя в него следните редове:
||
|>copyfile
|A:\PRODAGBI.TXT
|C:\CpaBack\toCpa.txt
където A:\PRODAGBI.TXT се взема от управляващ текст 500 (така че, ако сме го променили може да е друго)
- изпълнява външна програма 30. Изпълнение на външна програма
- зарежда кошче 502 със съдържание:
||
|>copyfile
|System\toCPA.dbf
|C:\CpaBack\toCpa.dbf
и отново изпълнява външна програма 30. Изпълнение на външна програма.
Както отбелязахме в началото, файлът toCPA.dbf е един от описаните
по-горе файлове toCPA1.dbf или toCPA2.dbf.
- (*) изпълнява външна програма 24. От Fixed width toCpa.txt към "чужди" (1)
- (**) отива в таблицата за справка на получената справка "чужди"
и на ръка променя на 5 втория символ от колоната ширина на седмото поле DAN_NO или DAN_NO_OBE.
Това се прави с цел уеднаквяване на обработката за данни с 10 или 15 цифрено поле на БУЛСТАТ. Изпълнява справката.
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- отива на справка чужди и зарежда таблица 518, с която се проверява дали
първото поле FILE_DAN_N съвпада с БУЛСТАТ записан в управляващ текст
"1. Параметри". Започва акумулирана справка, в която ще се опишат всички грешки по входните данни.
- след това се акумулират останалите проверки за грешки чрез таблици 519 (за
дата след текущия месец), 520 (за разлика в ДДС с повече от
1 ст.) и 521 (за нулева сума),
- в същата справка чужди продължава акумулирането на справка за
проверка чрез таблица 522, сортира по дата, само суми, с междинни суми (за
суми на 501 по дати),
- пуска се акумулираната справка с грешките и се предлага след прегледа им да
се продължи за осчетоводяване с натискане на Alt+1.
Тъй като в данните има сумарен ред с номер 999999, той ще излезе като грешка, което не бива да ни притеснява.
До този момент програмата не е извършила никакви промени по данните.
- отива на справка "чужди" и зарежда таблица 502 за осчетоводяване на с-ка
702. Приходи от продажби на стоки (по обект 1, стока 1, количество 0). Попълва номера на текущата папка, а ггггмм с текущия месец. Стартира акумулиране.
- по същия начин продължава акумулирането с таблици 503 (за с-ка 4532. Начислен данък за продажбите), 504
(за дебит на с-ка 411. Клиенти, включително попълва полетата за дневника по ДДС), 505
(за кредит на с-ка 411, но само за записите, в които в полето GOLJAMO_2 е
записано 501) и 506 (за с-ка 501. Каса в лева, но само за записите, в които в полето GOLJAMO_2 е записано 501)
- отива на справка "акумулирана", натиска Alt+- за да намали ширините на
полетата до тези от базата данни и изпълнява справката
- изпълнява външни програми 51. От "последна"
към справка - 1 към 1 и "7. От справка към чужди данни".
- осчетоводява данните чрез външна програма 42.
Осчетоводяване от "чужди" 1 към 1, с което обновява и
номенклатурата на клиентите (за номенклатурен номер се взема БУЛСТАТ)
- отива на справка "чужди", зарежда таблица 507, сортира по второто
поле (документ №) и показва справка с неосчетоводените редове
- зарежда макрос "1. Празен набор"
Към началото на Вход от друго приложение / друга програма.
Макрос "506. Входен файл с продажби с toCPA21.dbf" импортира
данни за продажби от текстов файл с фиксирана ширина на полетата
(полетата са залепени едно за друго без разделители помежду им)
на кирилица за Windows (по поръчка на "Генис Консулт" ООД за
х-л "Лозенец"). Необходимо е, преди да се стартира макросът, в Cpa\System директорията на
текущото приложение да се преименува файла ToCpa21.dbf на ToCpa.dbf (т. е. да се изтрият цифрите преди точката).
Файлът ToCpa21.dbf е със следната структура:
1. DOC_NUM - 10,
2. PAYTYPE_ID - 14,
3. DOCTYPE_ID - 11,
4. DOCTY_NAME - 31,
5. DOC_DATE - 8,
6. VAT_VALUE - 9,
7. LINEWOTVAT - 11,
8. LINE_VAT - 11,
9. LINE_TOTAL - 11,
10. CURRENCY - 8,
11. CLT_ID - 11,
12. CLT_NAME - 31,
13. DANNOMER - 13,
14. BULSTAT - 13,
15. MOL - 31,
16. ADDRESS - 51,
17. PAY_TYPE - 30.
Този макрос действа аналогично на макрос 501. Входен файл с продажби с toCPA1/2.dbf
като са променени само точките отбелязани със звездички:
- (*) изпълнява външна програма 25. От Fixed width toCpa.txt към "чужди" (2)
(заради кирилицата за Windows)
- (**) отива в таблицата за справка на получената справка чужди и зарежда таблица 523, с което прави данните еднакви
по структура с тези, които използва макрос 501
Към началото на Вход от друго приложение / друга програма.
Тук няма да разглеждаме широкото разнообразие от варианти и
удобства в универсалния пакет "Уни".
В тиражираната версия на модул "Счетоводство" на програма CPAccounting®
са подготвени няколко макроса свързани с плащанията към доставчици.
Осчетоводяването на плащането по сметка 401. Доставчици може да се извърши:
Може да изпечатаме:
Може да заредим макрос "57. Плащане на доставчик"
ръчно или като влезнем в папка от някой от следните типове:
- "плащане на доставчик, печат РКО" (с прикрепен макрос 94) - удобен е за папка "Каса разход",
- "плащане на доставчик" (с прикрепен макрос 57) - удобен е за папка "Банка разход",
- "плащане от клиент / на доставчик" (с прикрепен макрос 93) - удобен е за папка "Банка".
Ако стартираме макроса без да сме избрали папка в точката "Въвеждане и
редактиране на документи", ще излезне кошче със съобщението:
Натиснете F10 (главното меню),
"1. Въвеждане данни" и оттам "1. Документи".
После изберете ПАПКА и документ и стартирайте макроса отново.
Първо макросът предлага да изберем доставчик и сумата, която плаща.
В полето за избор на доставчик е предложен последният
доставчик, с който сме работили.
Ако изведем на екран списък с доставчиците, в последната колона
ще видим салдото на всеки доставчик.
Сумата за плащане, освен положително число, може да бъде 0
или отрицателно число.
След като натиснем бутона "1. Продължение" макросът прави справка по
сметка 401. Доставчици за неплатените документи на избрания доставчик (таблица 206, в режим
на акумулиране, сортиране по падеж, с отделно натрупване на сумите по дебита и
по кредита чрез сумиране със знака +). Ако справката се окаже
празна, излиза съобщението "Няма неплатени документи" и обработката приключва.
След това отива на справка акумулирана, зарежда таблица 207 и стартира справката.
Макросът спира на екран за въвеждане на данни, на който са всички неплатени документи,
подредени по дата на падеж с предложение
за всеки документ с каква сума да се плати (закрие), така че общата сума да е равна на попълнената в началото сума за плащане.
Ако едновременно има документи с дебитни и кредитни салда, преди да разпредели сумата за плащане, макросът се опитва да ги
закрие взаимно.
Ако сме посочили по-голяма сума за плащане от общото задължение на доставчика
(сумата на документите с кредитно салдо минус сумата на документите с дебитно салдо), макросът предлага да се плати само задължението му.
Алгоритъмът, който изпълнява цялата тази логика е следният:
- нека X е общата сума за плащане, която сме попълнили на първия екран (за избор на доставчик и сума за плащане)
- нека D е общата сума на документите с дебитно салдо (това число не може да е отрицателно)
- нека K е общата сума на документите с кредитно салдо (това число не може да е отрицателно)
- нека Y е по-малкото от числата D и K, т.е. Y = min( D, K ) (това число е винаги положително)
- ако X е положително число, макросът ни предлага да закрием (платим):
- първите няколко документа с кредитно салдо
на обща стойност min( K, Y + X ) (последният документ може и частично) -
и първите няколко документа с дебитно салдо
на обща стойност Y (последният документ може и частично)
- ако X е отрицателно число, макросът ни предлага да закрием (платим):
- първите няколко документа с кредитно салдо
на обща стойност Y (последният документ може и частично) - и първите няколко документа с дебитно салдо
на обща стойност min( D, Y - X ) (последният документ може и частично)
Може да променим предложените от макроса числа. За да се преизчисли сумата им,
може да натиснем бутона "2. Преизчисли сумата".
Може да натиснем и бутона "9. Стъпка назад".
След като сме готови, натискаме "1. !Осчетоводи". Макросът
осчетоводява плащанията в текущия документ.
След като свърши работата си, макросът зарежда указания в
типа на папката макрос, а ако няма такъв - себе си.
Към началото на Плащане на доставчик, РКО.
За да се зареди макрос "37. РКО - печат",
трябва да влезнем в папка от някой от следните типове:
- "плащане от доставчик, печат РКО" (с прикрепен макрос 94) - удобен е за папка "Каса разход",
- "РКО - печат" (с прикрепен макрос 37).
Макросът подготвя РКО (разходен касов ордер) за печат в зависимост от това дали има осчетоводяване по
дебита на сметка 401. Доставчици:
- Ако има осчетоводяване по дебита на сметка 401:
- за име на получилия сумата се взема полето МОЛ от номенклатурата,
- за следващия ред се взема полето фирма от номенклатурата,
- за попълване на "за/срещу" се вземат номера и датата на документа записани в 401.
- Иначе (няма осчетоводяване по дебита на сметка 401):
- за име на получилия сумата се взема полето текст от антетката на документа,
- "за/срещу" е празно и трябва да се попълни ръчно.
Към началото на Плащане на доставчик, РКО.
За да се зареди макрос "67. Масово плащане по каса 401/501", трябва да
влезнем в папка от тип "масово плащане по каса 401/501" (с прикрепен макрос 67).
Макросът автоматично осчетоводява плащането по каса на
всички партиди по сметка 401, които са възникнали в текущия месец и са изцяло
неплатени. Осчетоводяването се извършва в папката указана в управляващ текст
"1. Параметри". Осчетоводяването се извършва в
последователни документи след последния в папката. В един документ от
папката се осчетоводяват всички партиди по сметка 401. Доставчици от
една дата. Номерът на обекта по сметка
501. Каса в лева се взема от управляващия текст.
Към началото на Плащане на доставчик, РКО.
Платежни нареждания
В момента се подготвя нова версия.
Към началото на Плащане на доставчик, РКО.
В момента се подготвя нова версия.
Тук няма да разглеждаме широкото разнообразие от варианти на фактуриране и
множеството удобства в универсалния пакет "Уни".
В тиражираната версия на модул "Счетоводство" на програма CPAccounting® са
подготвени няколко варианта на автоматично фактуриране по сметки:
702. Приходи от продажби на стоки,
703. Приходи от продажби на услуги,
701. Приходи от продажби на продукция,
707. Приходи от продажби на материали,
с и без изписване по сметки:
304. Стоки,
303. Продукция и
302. Материали.
Те са реализирани от един и същ макрос "18. Фактуриране".
В него е заложена и възможността за осчетоводяване на плащането по сметка 411. Клиенти
срещу сметка
501. Каса в лева и издаване на ПКО
(приходен касов ордер). Пълно описание на структурата на сметките, които се
използват тук, може да видим в примерния сметкоплан.
Ще разгледаме следните разклонения на макроса:
- Автоматично фактуриране по зададена сума за плащане,
- Въвеждане и печат на фактура с изписване по сметки
302, 303 и 304,
- Въвеждане и печат на фактура
без изписване по сметки 302, 303 и 304 (там са обяснени и
макросите "24. Изписване на сметка 304" и "58.
Недостиг на стоки (304-702)")
- Печат на вече попълнена фактура,
- Осчетоводяване на плащането и издаване на ПКО (приходен касов ордер),
- За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
Тъй като пълното име на макроса "18. Фактуриране 0" завършва с цифрата 0, той не може да се
зареди с неадминистраторска парола. За да използваме макроса е необходимо предварително да направим следното:
1) влизаме в програмата с администраторска парола и създаваме в номенклатура "2.
Типове папки" елемент, в който на последния
ред попълваме макрос 18. За попълване на сметки използваме един от следните два варианта:
- фактуриране с изписване по сметки 302, 303 и 304
(не са посочени сметки 707, 701, 702 и "4532. Начислен данък за продажбите", но те ще се попълнят автоматично от макроса):
304 |
кредит |
703 |
кредит |
303 |
кредит |
302 |
кредит |
411 |
дебит |
|
дебит / кредит |
- фактуриране без изписване по сметки 302, 303 и 304
(не е посочена сметка "4532. Начислен данък за продажбите", но тя ще се попълни автоматично от макроса):
702 |
кредит |
703 |
кредит |
701 |
кредит |
707 |
кредит |
411 |
дебит |
|
дебит / кредит |
2) създаваме папка с тип създадения в т. 1) елемент.
Така при влизане в папката, дори и с неадминистраторска парола, автоматично се зарежда
макросът и се появява бутон "5. Фактуриране".
Може да използваме и смесен вариант
представляващ пълно или частично обединение на горните два. Задължително е
последният ред да е празна сметка по дебит / кредит. Например, ако предприятието няма собствено производство
и не фактурира материали:
304 |
кредит |
702 |
кредит |
703 |
кредит |
411 |
дебит |
|
дебит / кредит |
Автоматичното фактуриране по ЗАДАДЕНА СУМА за плащане
се използва в случаите когато фирмата не води отчетност какво точно е продала на
даден клиент, но знае на каква сума възлиза то (например пазаруване с
купони). В този случай програмата сама решава какво
да продаде пропорционално на сумите по продажни цени на наличните артикули и стоки.
Въвеждането и печата на такава фактура се извършва
както е описано във Въвеждане и печат на фактура С изписване по сметки
302, 303 и 304, но със следните разлики:
- Попълваме само сметка 411 като на сума записваме сумата за плащане,
-
Ако в полето Входящ стоков № запишем положително число, то
ще се разглежда като
процент надценка върху "средната доставна цена без ДДС на наличното количество", иначе продажната цена
ще се вземе от полето "Цена на дребно (ценово ниво 0)" на номенклатурата,
- След като натиснем
Alt+5 или бутона "5. Фактуриране", макросът изписва
автоматично артикули и стоки по сметки 303 и 304 така, че да се получи зададената сума за плащане.
За да не се получи много дълъг списък, макросът се ограничава с
първите CashBond\Rows
(максимален брой редове, които може да се отпечатат в касов бон) с най-голямо количество. Не обработва тези
с нулева продажна цена (вж. по-горе "процент
надценка") и
без мярка. Ако няма достатъчно наличности,
няма да може да се достигне желаната "сума за плащане".
- В полето Уточнение по сметките, макросът попълва продажната
цена с ДДС. Изписването е пропорционално на сумите по
продажни цени на наличните артикули и стоки. За тези, които се
продават на бройки или е указано "да" в полето
Да се продава ли само цяло количество, количествата са цели числа.
-
Макросът показва справка с автоматичното изписване и предлага да се промени
изписването в документа (по желание) и след това да се продължи с Alt+5. Ако
няма какво да се изпише, излиза кошче със съобщение "Грешка!
НЕ сте спазили технологията" и обработката приключва.
След натискане на Alt+5 или бутона "5. Фактуриране", макросът минава по пътя
на Въвеждане и печат на фактура С изписване по сметки 302, 303 и 304.
За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
Към началото на Фактуриране.
Въвеждането и печата на фактура
С ИЗПИСВАНЕ по сметки 302, 303 и 304 се извършва в следната последователност:
Влизаме в нов документ на папката за фактуриране (която считаме, че е от тип
фактуриране с изписване). Ако за първи път фактурираме в нов
месец, влизаме в документ с номер равен на последния
документ в папката с фактурите от предния месец + 1. Това е така защото
поредният номер на фактурата се изчислява да е равен на "номера на документа в
папката" + "начален номер на фактура" (записан в управляващ текст
"1. Параметри", но без водещата единица). Ако стигнем до
документ с номер 9999, продължаваме с номер 1, но преди това поправяме "начален
номер на фактура" да е равен на десетцифрения номер (евентуално с водещи
нули) на последната фактура и залепена водеща единица отпред.
Въпросът с номерацията на фактурите, а и всичко останало, е решен много
по-елегантно в универсалния пакет "Уни".
Попълваме, ако желаем, антетката на документа (това
не е задължително, но за датата е препоръчително), след което се появява прозорец със следните сметки: 304(к), 703(к),
303(к), 302(к), 411(д) и празна(д/к).
Попълваме участващите във фактурата стоки, артикули и материали съответно по сметки 304. Стоки,
303. Продукция и
302. Материали, като потвърждаваме предложената ни цена
(средна доставна цена без ДДС на наличното количество), а след сумата попълваме в
полето "Уточнение" продажната цена с ДДС.
Ако оставим полето Уточнение празно, макросът ще използва за продажна цена
с ДДС полето Цена на дребно (ценово ниво 0) от номенклатурата.
Ако попълним в полето "Уточнение" отрицателно число, макросът ще го използва
като процент отстъпка от продажната цена
с ДДС записана в полето "Цена на дребно (ценово ниво 0)" от номенклатурата.
Ако фактурата е дебитно известие, редовете за смяна само на цените се осчетоводяват вместо по сметки 304,
303 и 302, по 702. Приходи от продажби на стоки,
701. Приходи от продажби на продукция и 707.
Приходи от продажби на материали
с нулево количество.
Ако има, попълваме и участващите във фактурата услуги по сметка
703. Приходи от продажби на услуги по продажни цени с ДДС.
Попълваме задължителните поднива на сметка 411. Клиенти като в полето "№
на документа" попълваме "-" (ако попълним число,
макросът няма да работи адекватно). След изпълнението на макроса това поле ще се
попълни с число равно на "начален номер на фактура" (записано в управляващ текст
"1. Параметри", но без водещата единица) + номера на текущия документ в папката.
След натискане на Enter върху сумата на сметка 411, се появява прозорец с незадължителни полета:
- Вид на документа (използва се от дневника на продажбите по ДДС):
1. Опростена фактура,
2. Дебитно известие,
3. Кредитно известие,
4. Данъчна фактура,
5. Данъчно дебитно известие,
6. Данъчно кредитно известие
и още няколко вида.
Ако оставим полето празно, макросът ще го попълни с "4. Данъчна фактура".
- Предмет на сделката (използва се от дневника на
продажбите по ДДС):
1. Продажба на продукция,
2. Продажба на стоки,
3. Продажба на услуги.
Не е от съществено значение какво попълваме тук, но е добре, ако в документа сме
въвели например само редове по сметка 304. Стоки, да попълним "2. Продажба на
стоки". Ако не сме попълнили горното поле "Вид на документа", независимо
дали сме попълнили полето "Предмет на сделката", макросът го попълва с 1, 2, 3 или 4 в
зависимост от това коя от сметките 304, 703, 303 или 302 се среща първа в документа.
- Вид на сделката (използва се от дневника на продажбите по ДДС):
1. Облагаеми (без износа),
2. Износ,
3. Освободени (без чл. 91, ал. 4, т. 2, буква "в"),
4. Начислен данък в други случаи,
5. Акциз, включен в данъчната основа.
Ако не сме попълнили полето "Вид на документа", независимо дали сме попълнили
полето "Вид на сделката", макросът го попълва с "1. Облагаеми (без износа)".
- Независимо дали ще попълним полетата МОЛ,
Получил и ОСО (ОСО
вече не се показва във фактурата) макросът
ще ги попълни с данните от номенклатурата на клиента, като ако Получил и/или ОСО
не са попълнени в номенклатурата, те се попълват със съдържанието на МОЛ от номенклатурата на клиента.
- Полетата Входящ стоков № и №
на поръчката не се използват. Те се попълват автоматично когато се
прехвърлят данни от универсалния пакет "Уни"
към модул "Счетоводство" за фактури на специални клиенти (Metro,
Billa и др.).
След като завършим попълването, прозорецът с незадължителните полета на сметка
411 се скрива и с това приключваме ръчната работа по въвеждането на фактурата.
Не попълваме други сметки (4532, 701, 702, 707) - ако е
необходимо, те ще се попълнят автоматично (ако ги попълним, макросът няма да работи адекватно).
За да стартираме макроса, натискаме Alt+5 или бутона "5. Фактуриране".
Макросът счита, че документът е бил вече обработен и без да го променя ще
отиде направо на печат, ако е изпълнено някое от следните две условия:
1) има осчетоводяване по сметка 4532. Начислен данък за продажбите,
2) полето "Вид на документа" е попълнено с номер 1, 2 или 3 и "№ на документа" е ненулево число.
В противен случай, макросът ще извърши автоматични доосчетоводявания и ще
попълни полетата както е описано по-горе.
Следователно макросът няма да работи адекватно в следните два примера:
1) ако попълним в нов документ сметка 4532,
2) ако попълним в нов документ "Вид на документа" с 1 и "№ на документа"
с някакъв валиден номер (например 0000140005).
А сега ще онагледим доосчетоводяванията, които извършва макросът. Пример на нов документ преди стартиране на макроса:
дебит |
кредит |
количество |
цена |
сума д-т |
сума к-т |
уточнение |
цена на дребно |
|
303 |
10 |
2.50 (средна доставна баз ДДС) |
|
25.00 |
3.60 (продажна цена с ДДС) |
няма значение |
|
304 |
5 |
4.00 (средна доставна без ДДС) |
|
20.00 |
|
7.20 (продажна цена с ДДС) |
|
703 |
1 |
48.00 (продажна с ДДС) |
|
48.00 |
|
|
411 |
|
|
|
93.00 |
|
|
|
Нека сме оставили полето "Вид на документа" празно. След стартиране
на макроса, документът придобива следния вид:
дебит |
кредит |
количество |
цена без ДДС |
сума д-т |
сума к-т |
уточнение |
|
|
303 |
10 |
2.50 (средна дост.) |
|
25.00 |
3.60 |
|
701 |
|
10 |
2.50 (средна дост.) |
25.00 |
|
3.60 |
|
|
304 |
5 |
4.00 (средна дост.) |
|
20.00 |
|
|
702 |
|
5 |
4.00 (средна дост.) |
20.00 |
|
|
|
|
701 |
10 |
3.00 (продажна) |
|
30.00 |
|
|
|
702 |
5 |
6.00 (продажна) |
|
30.00 |
|
|
|
703 |
1 |
40.00 (продажна) |
|
40.00 |
|
|
|
4532 |
|
|
|
20.00 |
|
|
411 |
|
|
|
120.00 |
|
|
|
След като попълни документа, макросът подготвя фактурата за печат. Ако искаме да я изпечатаме, натискаме бутона
"2. Печат".
За осчетоводяване на плащането и издаване на ПКО (приходен
касов ордер), натискаме бутона "7. ПКО".
Ако искаме да променим някое от полетата, които макросът автоматично е попълнил, връщаме се в
документа и ги поправяме, след което натискаме бутона "5. Фактуриране" за да се нарисува фактурата за печат.
Следващите стъпки са описани в Печат на вече попълнена фактура.
За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
Към началото на Фактуриране.
Въвеждането и печата на фактура
БЕЗ ИЗПИСВАНЕ по сметки 302, 303 и 304 се извършва в следната последователност:
Влизаме в нов документ на папката за фактуриране (която считаме, че е от тип
фактуриране без изписване). Ако за първи път фактурираме в
нов месец, влизаме в документ с номер равен на последния
документ в папката с фактурите от предния месец + 1. Това е така защото
поредният номер на фактурата се изчислява да е равен на "номера на документа в
папката" + "начален номер на фактура" (записан в управляващ текст
"1. Параметри", но без водещата единица). Ако стигнем до
документ с номер 9999, продължаваме с номер 1, но преди това поправяме "начален
номер на фактура" да е равен на десетцифрения номер (евентуално с водещи
нули) на последната фактура и залепена водеща единица отпред.
Въпросът с номерацията на фактурите, а и всичко останало, е решен много
по-елегантно в универсалния пакет "Уни".
Попълваме, ако желаем, антетката на документа (това
не е задължително, но за датата е препоръчително), след което се появява прозорец със следните
сметки: 702(к), 703(к), 701(к), 707(к), 411(д) и празна(д/к).
Попълваме по продажни цени
с ДДС участващите във фактурата стоки, услуги, артикули и материали съответно по сметки 702, 703, 701 и 707.
Те са дефинирани да предлагат продажната цена с ДДС записана в полето "Цена на
дребно (ценово ниво 0)" от номенклатурата, която може да променим.
Ако попълним в полето Уточнение на сметка
702. Приходи от продажби на стоки,
701. Приходи от продажби на продукция или
707. Приходи от продажби на материали отрицателно число, макросът ще го използва
като процент отстъпка от цената попълнена в сметката.
Не попълваме сметка 4532. Начислен данък за продажбите - тя ще се попълни автоматично (ако
я попълним, макросът няма да работи адекватно).
Попълваме задължителните поднива на сметка 411. Клиенти като в полето "№
на документа" попълваме "-" (ако попълним число,
макросът няма да работи адекватно). След изпълнението на макроса това поле ще се
попълни с число равно на "начален номер на фактура" (записано в управляващ текст
"1. Параметри", но без водещата единица) + номера на текущия документ в папката.
След натискане на Enter върху сумата на сметка 411, се появява прозорец с незадължителни полета:
- Вид на документа (използва се от дневника на продажбите по ДДС):
1. Опростена фактура,
2. Дебитно известие,
3. Кредитно известие,
4. Данъчна фактура,
5. Данъчно дебитно известие,
6. Данъчно кредитно известие
и още няколко вида.
Ако оставим полето празно, макросът ще го попълни с "4. Данъчна фактура".
- Предмет на сделката (използва се от дневника на продажбите по ДДС):
1. Продажба на продукция,
2. Продажба на стоки,
3. Продажба на услуги.
Не е от съществено значение какво попълваме тук, но е добре, ако в документа сме
въвели например само редове по сметка 702. Приходи от продажби на стоки, да попълним "2. Продажба на
стоки". Ако не сме попълнили горното поле "Вид на документа", независимо
дали сме попълнили полето "Предмет на сделката", макросът го попълва с 1, 2, 3 или 4 в
зависимост от това коя от сметките 702, 703, 701 или 707 се среща първа в документа.
- Вид на сделката (използва се от дневника на продажбите по ДДС):
1. Облагаеми (без износа),
2. Износ,
3. Освободени (без чл. 91, ал. 4, т. 2, буква "в"),
4. Начислен данък в други случаи,
5. Акциз, включен в данъчната основа.
Ако не сме попълнили полето "Вид на документа", независимо дали сме попълнили
полето "Вид на сделката", макросът го попълва с "1. Облагаеми (без износа)".
- Независимо дали ще попълним полетата МОЛ,
Получил и ОСО (ОСО
вече не се показва във фактурата) макросът ще ги попълни с данните от номенклатурата на клиента, като ако Получил и/или ОСО
не са попълнени в номенклатурата, те се попълват със съдържанието на МОЛ от номенклатурата на клиента.
- Полетата Входящ стоков № и №
на поръчката не се използват. Те се попълват автоматично когато се
прехвърлят данни от универсалния пакет "Уни"
към модул "Счетоводство" за фактури на специални клиенти (Metro,
Billa и др.).
След като завършим попълването, прозорецът с незадължителните полета на
сметка 411 се скрива и с това приключваме ръчната работа по въвеждането на
фактурата. За да стартираме макроса, натискаме Alt+5 или бутона "5. Фактуриране".
Макросът счита, че документът е бил вече обработен и без да го променя ще
отиде направо на печат, ако е изпълнено някое от следните две условия:
1) има осчетоводяване по сметка 4532,
2) полето "Вид на документа" е попълнено с номер 1, 2 или 3 и "№ на документа" е ненулево число.
В противен случай, макросът ще извърши автоматични доосчетоводявания и ще
попълни полетата както е описано по-горе.
Следователно макросът няма да работи адекватно в следните два примера:
1) ако попълним в нов документ сметка 4532,
2) ако попълним в нов документ "Вид на документа" с 1 и "№ на документа"
с някакъв валиден номер (например 0000140005).
А сега ще онагледим доосчетоводяванията, които извършва макросът. Пример на нов документ преди стартиране на макроса:
дебит |
кредит |
количество |
продажна цена с ДДС |
сума д-т |
сума к-т |
|
701 |
10 |
3.60 |
|
36.00 |
|
702 |
5 |
7.20 |
|
36.00 |
|
703 |
1 |
48.00 |
|
48.00 |
411 |
|
|
|
120.00 |
|
Нека сме оставили полето "Вид на документа" празно. След стартиране
на макроса, документът придобива следния вид:
дебит |
кредит |
количество |
продажна цена без ДДС |
сума д-т |
сума к-т |
|
701 |
10 |
3.00 |
|
30.00 |
|
702 |
5 |
6.00 |
|
30.00 |
|
703 |
1 |
40.00 |
|
40.00 |
|
4532 |
|
|
|
20.00 |
411 |
|
|
|
120.00 |
|
След като попълни документа, макросът подготвя фактурата за
печат. Ако искаме да я изпечатаме, натискаме бутона "2. Печат".
За осчетоводяване на плащането и издаване на ПКО (приходен
касов ордер), натискаме бутона "7. ПКО".
Ако искаме да променим някое от полетата, които макросът автоматично е попълнил, връщаме се в
документа и ги поправяме, след което натискаме бутона "5. Фактуриране" за да се нарисува фактурата за печат.
Следващите стъпки са описани в Печат на вече попълнена фактура.
За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
При този вариант на фактуриране изписването на стоки по сметка 304. Стоки може да се извърши наведнъж
в един документ с макрос "24. Изписване на сметка 304".
След като натиснем бутона "1. Недостиг 304-702", макросът първо проверява за
недостатъчни количества по сметка 304 както това
прави макрос "58. Недостиг на стоки (304-702)".
В случай, че за някоя стока количественото салдо по сметка 702. Приходи от продажби на стоки (то е кредитно) е
по-голямо от количественото салдо по сметка 304 (то е дебитно), това се показва на справка и
се предлага да се извърши изписването на стоките, които не са "на червено" с
натискане на новопоявилия се бутон "1. Изписване".
Ако няма стоки "на червено", както и ако натиснем бутона "1. Изписване",
макросът изписва всички стоки, които не са "на червено".
Към началото на Фактуриране.
За да ИЗПЕЧАТАМЕ вече попълнена фактура, влизаме в документа и натискаме
Alt+5 или бутона "5. Фактуриране".
Ако документът не е попълнен правилно, макросът няма да даде очакваните резултати.
Ако документът е бил попълнен чрез
Въвеждане и печат на фактура БЕЗ изписване по сметки 302, 303 и 304 или чрез
Въвеждане и печат на фактура С изписване по сметки 302, 303 и 304,
на екрана се появява фактурата в режим на текстов редактор.
В нея са попълнени данните от сметка 411. Клиенти, включително МОЛ и Получил (а не от номенклатурата на клиента).
Така, ако влезем в стар документ, а междувременно са се сменили в номенклатурата на клиента МОЛ или Получил, те ще се появят във
фактурата със старите си стойности.
Ако в данните на сметка 411 полето Получил е празно, за негова стойност се взема полето МОЛ.
Може да променим фактурата в режим на текстов редактор.
След като редактираме фактурата, може да натиснем бутона "2. Печат".
Така разпечатваме първия екземпляр, на който, ако фактурата е данъчна, пише
ОРИГИНАЛ. При следващи натискания на бутона "2. Печат" се отпечатват останалите
екземпляри.
Следващите стъпки са описани в Осчетоводяване на плащането и издаване на ПКО.
За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
Към началото на Фактуриране.
За да осчетоводим плащането и издадем
ПКО (приходен касов ордер), след като
изпечатаме фактурата, натискаме бутона 7. ПКО.
Макросът тръгва по едно от следните три разклонения:
- Ако се намери ПКО по фактурата, макросът
отива в документа за плащане и продължава с Печат на ПКО.
- Ако фактурата е вече платена или не сме в последния системен месец (но и в
двата случая не се намери ПКО), макросът издава съобщение "Фактурата е платена, но
няма ПКО по нея или не сме в последния системен
месец" и с това обработката приключва.
- До това разклонение се стига, ако се намираме в последния системен месец,
фактурата е с ненулево салдо и няма издаден ПКО по нея.
Макросът осчетоводява плащането в нов документ в
папката за ПКО (взема номера на папката от
управляващ текст "1. Параметри") като преписва от документа на фактурата
датата от антетката на документа и полето получил по 411. Клиенти.
След това продължава с Печат на ПКО.
За програмистите на "СиПиЪкаунтинг" са предназначени обясненията в Описание на макроса.
Към началото на Фактуриране.
Описание на макрос "18.
Фактуриране":
След като сме попълнили данните за фактурата или сме влезли в
обработена вече фактура и натиснем Alt+5 или бутона "5. Фактуриране" макросът извършва:
- 0. Има ли осчетоводявания по сметки 302, 303 и 304 и нов ли е документът
Макрос 18 - Зарежда управляващ текст "1.
Параметри", изчиства кошчето и на първия му ред преписва от параметрите с
Alt+F12 "начален номер на фактура" (към него, без водещата единица, по-късно се прибавя номера на текущия документ за да
се получи номера на фактурата)
- Отива на справка "5. Сметка - сметка" без да попълва сметка и зарежда
таблица 183, с която проверява дали в документа има осчетоводявания по сметки 302, 303
или 304, дали има осчетоводявания по сметка 4532
и дали има осчетоводявания само по сметка 411.
Пуска справката със "само суми".
- Отива на справка "5. Сметка - сметка"
411-ххх (първата сметка попълва с 411, а втората оставя празна) и зарежда
таблица 58. Прехвърля с Alt+F8 в нея данните от предната справка.
Допълнително се проверява дали "Вид на документа" е
попълнен с 1, 2 или 3 и "№ на документа" не е ненулево число.
В тази таблица се определя, с кой макрос да се продължи (след стартиране на справката зареждаме макрос с Alt+F8).
Ако данните не са попълнени коректно, зарежда кошче 10 със съобщение "Грешка!
НЕ сте спазили технологията" и обработката приключва. Това съобщение
излиза и ако общата сума за плащане от клиента е 0 (няма записване по сметка 411).
Ако документът е нов и в него има осчетоводявания само по сметка 411
(както е обяснено в Автоматично фактуриране по зададена сума за плащане), продължава с т. 1.
Ако документът е нов, но има осчетоводявания по сметки 302, 303 или 304 (както е обяснено във Въвеждане и
печат на фактура С изписване по сметки 302, 303 и 304), продължава с т. 2.
Ако документът е нов, но няма осчетоводявания по сметки 302, 303 или 304
(както е обяснено във Въвеждане и печат на фактура БЕЗ изписване
по сметки 302, 303 и 304), продължава с т. 3.
Ако документът е стар (както е обяснено в Печат на вече попълнена фактура), продължава с т. 5.
- 1. Автоматично изписване по зададена сума за плащане
Отива на справка "5. Сметка - сметка" 411-ххх и зарежда таблица 190 с полета
обект, коефициент с ДДС (зависи от "Вид на документа"), коефициент с надценка
(зависи от "Входящ стоков №"), "дата от антетката на документа" и сума.
- Отива на справка "2. Сметка" 303, зарежда таблица 191 (с полета
с-ка, обект, номер (EAN), средна доставна цена, продажна цена с ДДС, цяло
количество ли е, д - к кол.) и от предната справка попълва с Alt+F8 обект, коефициент с ДДС и коефициент с надценка. Ако мярката
започва с бро (може и главни букви) или е попълнено "да" в полето "Да се продава ли само цяло количество",
количествата са цели числа. Не обработва тези
с нулева продажна цена и без
мярка. Всички полета от предната справка преписва и в кошчето. Започва акумулиране.
Аналогично продължава акумулирането със сметка 304 и таблица 192.
- Отива на справка акумулирана и зарежда таблица 193. Включва параметър (Alt+O) Сортировка
по низходящ ред и сортира по налично количество. Изпълнява външни програми 26 и 7.
- Отива на справка чужди с таблица 198, в която сумира полето сума, включва
параметър (Alt+J) Максимум редове като в касовия бон
и започва начално акумулиране. Получава се справка с не повече от CashBond\Rows реда.
Прехвърля общата сума в кошчето.
- Отива на справка акумулирана и зарежда таблица 194, с която се подготвят данните за
автоматично осчетоводяване. От кошчето се попълват
необходимите данни. Наличните количества се умножават по
коефициент равен на "сумата за плащане" разделена на "общата
сума на наличното количество по сметки 303 и 304 сметната по продажни цени за
първите CashBond\Rows с най-голяма наличност".
Ако коефициентът се получи по-голям от 1, той се
счита за равен на 1. В този случай няма да може да се достигне желаната "сума за плащане".
- Изпълнява външни програми 51, 7 и 43. Осчетоводяване от
"чужди" в тек. месец, с което осчетоводява сметки 303 и 304.
Отива на справка "5. Сметка - сметка" ххх-ххх, натиска Shift+Enter и зарежда
таблица 195, с която показва автоматичното изписване. След изпълнение на
справката макросът предлага да се промени изписването в документа (по желание) и след това да се продължи с Alt+5.
След натискане на Alt+5 или бутона "5. Фактуриране" макросът продължава с т. 0
(минавайки по пътя на Въвеждане и печат на фактура С изписване по сметки 302, 303 и 304).
- 2. Подготовка за осчетоводяване С изписване по сметки
302, 303 и 304
Зарежда макрос 19
- Отива на справка "5. Сметка - сметка" 411-ххх и зарежда
таблица 184, с която определя дали е празно полето "Вид на документа".
Ако полето "Вид на документа" е попълнено, продължава с т. 2.1.
- Попълване на "Вид на документа", "Предмет на сделката" и "Вид на сделката"
по сметка 411
Отива на справка "5. Сметка - сметка" 411-ххх и зарежда таблица 185, с която определя полето "Предмет
на сделката" в зависимост от това коя от сметки 302, 303, 304 или 703 се
появява първа в документа. - Отива в документа, зарежда кошче 6, изтрива
първия му ред, отива на първия ред на сметките и търси с Ctrl+S реда на сметка
411. Отива в прозореца с незадължителните полета и попълва "Вид на документа"
с 4, "Предмет на сделката" с първата стойност от последната справка и "Вид на сделката" с 1.
Изтрива редовете от зареденото кошче (за да дойде на първия ред отново
началния номер на фактурата). - 2.1. Подготовка на данните по сметки 4532 и 411
Започва залепване на справка "5. Сметка - сметка" 411-ххх с таблица 186, с
която получава всички полета необходими за осчетоводяване на сметки 4532 и 411 със следните особености:
- използва % ДДС (чрез Ctrl+D 19) само ако "Вид на документа" е по-голямо от 3,
- пресмята номера на фактурата като към номера на текущия документ прибавя
началния номер на фактурата (взет в началото на макроса от управляващия текст, но без водещата единица),
- МОЛ - от номенклатурата на клиента,
- получил - от номенклатурата на клиента, а ако там не е попълнено - взема стойността на МОЛ,
- ОСО - от номенклатурата на клиента, а ако там не е попълнено - взема стойността на МОЛ.
След стартиране на справката записва на втория ред в кошчето % ДДС.
- Подготовка за осчетоводяване на 302 - 707, 303 - 701 и 304 - 702
Отива на справка "5. Сметка - сметка" ххх-ххх, натиска Shift+Enter и
зарежда таблица 63. В тази таблица се обработват заедно редовете по сметки
302, 303 и 304 за да не се наруши реда им на въвеждане. Включва параметъра (Alt+H) Хоризонтална / вертикална
справка на Вертикална и стартира справката, с което от всеки един ред по сметка 302, 303
или 304 се получават по два реда за осчетоводяване на 302-707, 303-701 или 304-702. Зарежда таблица 65,
в която се подготвят данни за автоматично осчетоводяване чрез външна програма 43. Осчетоводяване от
"чужди" в тек. месец. Попълва текущата папка и документ. Включва начално акумулиране и стартира справката.
- Отива на справка "5. Сметка - сметка" ххх-ххх, натиска Shift+Enter и
зарежда таблица 66, с която подготвя кредита на сметки
701, 702, 703 и 707. В тази таблица се обработват заедно редовете по сметки
302, 303, 304 и 703 за да не се наруши реда им на въвеждане.
За сметки 302, 303 и 304 използва полето Уточнение за пресмятане на продажната цена без ДДС:
- ако е попълнено с положително число, счита че това е продажната цена с ДДС,
- ако е празно, макросът използва за продажна цена с ДДС полето Цена на дребно
(ценово ниво 0) от номенклатурата,
- ако е попълнено с отрицателно число, то се разглежда като процент отстъпка от продажната цена
с ДДС записана в полето "Цена на дребно (ценово ниво 0)" от номенклатурата.
Преписва от кошчето % ДДС. Продължава акумулирането.
Отива към т. 4.
- 3. Подготовка за осчетоводяване БЕЗ изписване по сметки
302, 303 и 304
Зарежда макрос 20
- Отива на справка "5. Сметка - сметка" 411-ххх и зарежда
таблица 184, с която определя дали е празно полето "Вид на документа".
Ако полето "Вид на документа" е попълнено, продължава с т. 3.1.
- Попълване на "Вид на документа", "Предмет на сделката" и "Вид на сделката"
по сметка 411
Отива на справка "5. Сметка - сметка" 411-ххх и зарежда таблица 114, с която определя полето "Предмет
на сделката" в зависимост от това коя от сметки 701, 702, 703 или 707 се
появява първа в документа. - Отива в документа, зарежда кошче 6, изтрива
първия му ред, отива на първия ред на сметките и търси с Ctrl+S реда на сметка
411. Отива в прозореца с незадължителните полета и попълва "Вид на документа"
с 4, "Предмет на сделката" с първата стойност от последната справка и "Вид на сделката" с 1.
Изтрива редовете от зареденото кошче (за да дойде на първия ред отново
началния номер на фактурата). - 3.1. Подготовка на данните по сметки 4532 и 411
Започва залепване на справка "5. Сметка - сметка" 411-ххх с таблица 186, с
която получава всички полета необходими за осчетоводяване на сметки 4532 и 411 със следните особености:
- използва % ДДС (чрез Ctrl+D 19) само ако "Вид на документа" е по-голямо от 3,
- пресмята номера на фактурата като към номера на текущия документ прибавя
началния номер на фактурата (взет в началото на макроса от управляващия текст, но без водещата единица),
- МОЛ - от номенклатурата на клиента,
- получил - от номенклатурата на клиента, а ако там не е попълнено - взема стойността на МОЛ,
- ОСО - от номенклатурата на клиента, а ако там не е попълнено - взема стойността на МОЛ.
След стартиране на справката записва на втория ред в кошчето % ДДС.
- Отива на справка "5. Сметка - сметка" ххх-ххх, натиска Shift+Enter и
зарежда таблица 113, с която подготвя кредита на сметки
701, 702, 703 и 707. В тази таблица се обработват заедно редовете по сметки
701, 702, 703 и 707 за да не се наруши реда им на въвеждане.
За сметки 701, 702 и 707 използва полето Уточнение така:
- ако е попълнено с отрицателно число, то се разглежда като процент отстъпка от цената по сметката (която
е =сума/количество),
- в противен случай, не се разглежда.
Преписва от кошчето % ДДС. Включва начално акумулиране и стартира справката.
Отива към т. 4.
- 4. Осчетоводяване
Зарежда макрос 21
- Изтриване на документа
Отива на справка "5. Сметка - сметка" ххх-ххх и зарежда
таблица 57, с която ще получи толкова редове в справката колкото редове има в документа. Отива в документа и го изтрива.
- Пуска справка акумулирана. Изпълнява външни програми 51, 7 и 43. Осчетоводяване от
"чужди" в тек. месец, с което осчетоводява сметки
302, 303, 304, 707, 701, 702 и 703.
- Отива в документа. Включва параметъра "Alt+F8 чете от залепените справки" и осчетоводява сметки
4532 и 411 с данните от справка залепени и използвайки калкулатора за пресмятане на ДДС.
- Отива към т. 0 за да провери дали е спазена технологията:
- ако общата сума за плащане от клиента е 0 (т.е. в крайна сметка няма записване
по сметка 411), излиза кошче със съобщение "Грешка!
НЕ сте спазили технологията" и обработката приключва,
- ако всичко е наред, отива към т. 5.
- 5. Подготовка за печат на фактура
Зарежда макрос 22
- Започва акумулиране на справка "5. Сметка - сметка" 701-ххх с таблица 59 с
колони "стока / услуга", мярка, количество, сума,
продължава акумулирането със 702-ххх с таблица 60, 707-ххх с таблица 236 и 703-ххх с таблица 61. Така
най-напред във фактурата ще се появят артикулите по реда на тяхното въвеждане, след това стоките и накрая услугите.
- Отива на справка "5. Сметка - сметка" 411-ххх с таблица 123, в която се
получава сумата по сметка 4532 и се пресмята общата сума по кредита на сметки
701, 702, 703 и 707. Тези две суми се записват на първите два реда в кошчето.
- Започва залепване на справка "5. Сметка - сметка" 411-ххх с таблица 64, в която,
след като се вземат двете суми от кошчето, се подготвят повечето данни за началото и края на фактурата.
Ако не е попълнено полето "БУЛСТАТ / ЕГН" в номенклатурата на клиента, за
идентификационен номер се вземат първите девет цифри на полето
"Номер / БУЛСТАТ + обект №" от номенклатурата.
Ако в незадължителните полета на сметка 411 не е попълнено полето
получил, то се взема от полето "МОЛ".
- Отива на справка акумулирана с таблица 62 с колони №, "стока / услуга", мярка, количество, цена, сума,
с поставени 7 условия "истина" за повече редове преди антетката,
в параметрите попълва 16 празни реда в края на справката и Alt+F8 да чете от залепени справки,
стартира справката
- Зарежда с Shift+F12 управляващ текст 1 и чрез Alt+F8 и Alt+F12 попълва
данните в началото на фактурата
- Ако фактурата е с ДДС, попълва ОРИГИНАЛ
- Превръща сумата за плащане в словом
- Чрез Alt+F8 и Alt+F12 попълва данните в края на фактурата
- 5.1. Позиционира се върху датата за получаване, минава в режим на
писане върху,
зарежда макрос 23, изтрива кошчето и остава в режим на текстов редактор
- 6а. Печат на фактура
От предната точка е зареден макрос 23
- След като редактираме фактурата, може да я разпечатаме по един от следните два начина:
- ако натиснем бутона 1. Печат, програмата разпечатва фактурата и след
това (ако фактурата е с ДДС) изтрива текста ОРИГИНАЛ. Ако не сме разпечатали
успешно първия екземпляр, натискаме ESC и текстът ОРИГИНАЛ се появаве отново. За
разпечатване на следващите екземпляри отново натискаме бутона "1. Печат".
- ако натиснем бутона 2. Печат без ОРИГИНАЛ, програмата първо
изтрива текста ОРИГИНАЛ и след това разпечатва
фактурата. Този начин за печат на фактура е удобен, ако я печатаме на
многослойна хартия (и текстът ОРИГИНАЛ не трябва да излиза на копията).
- 6б. ПКО (приходен касов ордер)
От предната точка е зареден макрос 23
- След като отпечатаме фактурата, може да натиснем бутона 7. ПКО. Тогава макросът продължава така:
- Изчиства кошчето, зарежда управляващ текст 1 и на първия ред в кошчето
преписва с Alt+F12 номера на папката за ПКО
- Започва залепване на справка "5. Сметка - сметка" 411-ххх с таблица 187
(ограничава папката и документа с текущите), в която се получават данните за осчетоводяване и
търсене на вече издаден ПКО
- Отива на справка "5. Сметка - сметка" 411-ххх с таблица 188, в която
ограничава папката с номера записан в кошчето, а данните по 411 - с Alt+F8 от
предната справка. Започва начално акумулиране. Тази справка ще е празна, ако не
намери ПКО по фактурата.
- Продължава акумулирането на същата справка с таблица 189, в която ограничава
папката и документа с текущите и последния системен месец. Тази справка ще е
празна, ако фактурата е вече платена или не сме в последния системен месец.
- Отива на справка акумулирана и я стартира. На първия ред в тази справка ще
получим в кои папка и документ да отидем и с кой макрос да продължим:
- ако справката е празна, макросът издава съобщение "Фактурата е платена, но
няма ПКО по нея или не сме в последния системен месец" и обработката приключва
- ако се намери ПКО по фактурата, макросът отива в документа за плащане, зарежда
и изпълнява макрос "35. ПКО - печат", който подготвя ПКО за печат.
- иначе (намираме се в последния системен месец, фактурата е с ненулево салдо и
няма издаден ПКО по нея), макросът продължава със следващата точка.
- Копира в кошчето датата от антетката на документа.
Отива в нов документ в папката за ПКО. Включва параметъра "Alt+F8 чете от
залепените справки" и осчетоводява плащането на салдото по фактурата (501 - 411)
като преписва от документа на фактурата датата от
антетката на документа и полето получил по 411.
- Зарежда и изпълнява макрос "35. ПКО - печат", който подготвя ПКО за
печат.
Към началото на Фактуриране.
Тущ ще разгледаме изписването на артикули, стоки, материали, ДМА.
Вж. Фактуриране.
В момента се подготвя нова версия.
Тук няма да разглеждаме широкото разнообразие от варианти и
удобства в универсалния пакет "Уни".
В тиражираната версия на модул "Счетоводство" на програма CPAccounting®
са подготвени няколко макроса свързани с плащанията от клиенти.
Осчетоводяването на плащането по сметка 411. Клиенти може да се извърши:
Изпечатването на приходен касов ордер (може и не
само по сметка 411) се извършва чрез макрос 35. ПКО - печат.
Може да заредим макрос "26. Плащане от клиент"
ръчно или като влезнем в папка от някой от следните типове:
- "плащане от клиент, печат ПКО" (с прикрепен макрос 92) - удобен е за папка "Каса приход",
- "плащане от клиент" (с прикрепен макрос 26) - удобен е за папка "Банка приход",
- "плащане от клиент / на доставчик" (с прикрепен макрос 93) - удобен е за папка "Банка".
Ако стартираме макроса без да сме избрали папка в точката "Въвеждане и
редактиране на документи", ще излезне кошче със съобщението:
Натиснете F10 (главното меню),
"1. Въвеждане данни" и оттам "1. Документи".
После изберете ПАПКА и документ и стартирайте макроса отново.
Първо макросът предлага да изберем клиент и сумата, която плаща.
В полето за избор на клиент е предложен последният клиент, с който сме работили.
Ако изведем на екран списък с клиентите, в последната колона
ще видим салдото на всеки клиент. Само за
програмистите на "СиПиЪкаунтинг": предно изречение ще е вярно, ако има индексен
файл B4112.IDX (вж. т.2.в. от обясненията за знак ^ в режим на табулация).
Сумата за плащане, освен положително число, може да бъде 0
или отрицателно число.
След като натиснем бутона "1. Продължение" макросът прави справка по сметка
411. Клиенти за неплатените документи на избрания клиент (таблица 201, в режим
на акумулиране, сортиране по падеж, с отделно натрупване на сумите по дебита и
по кредита чрез сумиране със знака +). Ако справката се окаже
празна, излиза съобщението "Няма неплатени документи" и обработката приключва.
След това отива на справка акумулирана, зарежда таблица 202 и стартира справката.
Макросът спира на екран за въвеждане на данни, на който са всички неплатени документи,
подредени по дата на падеж с предложение
за всеки документ с каква сума да се плати (закрие), така че общата сума да е равна на попълнената в началото сума за плащане.
Ако едновременно има документи с дебитни и кредитни салда, преди да разпредели сумата за плащане, макросът се опитва да ги
закрие взаимно.
Ако сме посочили по-голяма сума за плащане от общото задължение на клиента
(сумата на документите с дебитно салдо минус сумата на документите с кредитно
салдо), макросът предлага да се плати само задължението му.
Алгоритъмът, който изпълнява цялата тази логика е следният:
- нека X е общата сума за плащане, която сме попълнили на първия екран (за избор на клиент и сума за плащане)
- нека D е общата сума на документите с дебитно салдо (това число не може да е отрицателно)
- нека K е общата сума на документите с кредитно салдо (това число не може да е отрицателно)
- нека Y е по-малкото от числата D и K, т.е. Y = min( D, K ) (това число е винаги положително)
- ако X е положително число, макросът ни предлага да закрием (платим):
- първите няколко документа с дебитно салдо
на обща стойност min( D, Y + X ) (последният документ може и частично)
- и първите няколко документа с кредитно салдо
на обща стойност Y (последният документ може и частично)
- ако X е отрицателно число, макросът ни предлага да закрием (платим):
- първите няколко документа с дебитно салдо
на обща стойност Y (последният документ може и частично)
- и първите няколко документа с кредитно салдо
на обща стойност min( K, Y - X ) (последният документ може и частично)
Може да променим предложените от макроса числа. За да се преизчисли сумата им,
може да натиснем бутона "2. Преизчисли сумата".
Може да натиснем и бутона "9. Стъпка назад".
След като сме готови, натискаме "1. !Осчетоводи". Макросът
осчетоводява плащанията в текущия документ.
След като свърши работата си, макросът зарежда указания в
типа на папката макрос, а ако няма такъв - себе си.
Към началото на Плащане от клиент, ПКО.
За да се зареди макрос "35. ПКО - печат",
трябва да влезнем в папка от някой от следните типове:
- "плащане от клиент, печат ПКО" (с прикрепен макрос 92) - удобен е за папка "Каса приход",
- "ПКО - печат" (с прикрепен макрос 35).
Макросът подготвя ПКО (приходен касов ордер) за печат в зависимост от това дали има осчетоводяване по кредита на сметка 411. Клиенти:
- Ако има осчетоводяване по кредита на сметка 411:
- за име на плащащия се взема получил (ако не е
попълнен в 411, се взема от номенклатурата, а ако и то е празно се взема МОЛ от номенклатурата),
- за следващия ред се взема полето име
на фирмата, а ако е празно се взема полето име [на обекта],
- за попълване на "за/срещу" се вземат номера и датата на документа записани в 411.
- Иначе (няма осчетоводяване по кредита на сметка 411):
- за име на плащащия се взема полето текст от антетката на документа,
- "за/срещу" е празно и трябва да се попълни ръчно.
Към началото на Плащане от клиент, ПКО.
За да се зареди макрос "68. Масово плащане по каса 501/411",
трябва да влезнем в папка от тип "масово плащане по каса
501/411" (с прикрепен макрос 68).
Макросът автоматично осчетоводява плащането по каса на
всички партиди по сметка 411, които са възникнали в текущия месец и са изцяло
неплатени. Осчетоводяването се извършва в папката указана в управляващ текст
"1. Параметри". Осчетоводяването се извършва в
последователни документи след последния в папката. В един документ от
папката се осчетоводяват всички партиди по сметка 411. Клиенти от една дата
срещу сметка 501. Каса в лева.
Към началото на Плащане от клиент, ПКО.