Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Групповые операции при закрытии месяца

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4
View previous topic :: View next topic  
Author Message
lola



Joined: 13 Feb 2003
Posts: 112



PostPosted: 06 Aug 2004 10:40    Post subject: Групповые операции при закрытии месяца Reply with quote

При формировании бухгалтерских справок на закрытие месяца используем групповые операции. Все хорошо получается за исключением прописки кода аналитики напрямую при формировании проводок при использовании функции П().
Как выйти из положения, не хочется открывать после формирования каждую проводку и вносить код аналитики?
Back to top
View user's profile Send private message
Максим Черепанов



Joined: 17 Jan 2004
Posts: 136
Location: Максим Черепанов
Occupation: ЖА
Interests: Анапа

PostPosted: 06 Aug 2004 14:25    Post subject: Reply with quote

Вот тебе груповая операция которая закрывает все счета из массива ( в разрезе аналитики) на один счет аналитический.

**ВВОД ДАТ НАЧАЛА И КОНЦА РАСЧЕТА
ВВОД(("НАЧАЛО ПЕРИОДА",Д_Н,"Д"))

ВВОД(("КОНЕЦ ПЕРИОДА",Д_К,"Д"))

**МАССИВ ЗАКРЫВАЕМЫХ СЧЕТОВ
М_ЗАК={"204", "26"}

*ФОРМИРУЕМ КОРЕСПОНДЕНСКИЙ СЧЕТ С АНАЛИТИКОЙ НА 204
*зедсь счет на который будет закрываться
КД1="97.009707"

ЦИКЛ М_ЗАК,А1,А3
*ПРОСМОТР ВСЕХ АНАЛИТ СЧЕТОВ НА ЗАКРЫТИЕ
ПОКА(ШАУ(А1)=1)
ШАУ(А2,А1)
СУБ1=ДТС(А1,Д_Н, Д_К)
ЕСЛИ(СУБ1>0)
ВЫВОД А1, А2, СУБ1
*ФОРМИРОВАНИЕ ПРОВОДКИ ЕСЛИ ДЕБЕТОВЫЙ ОСТАТОК БОЛЬШЕ 0
П(ДАТА_СТР(Д_К), "СБ0000", КД1, А1, "СЕБЕСТОИМОСТЬ НА "+ДАТА_СТР(Д_К), СУБ1)
ИНАЧЕ
СУБ2=КТС( А1, Д_Н, Д_К)
*ПРОВЕРКА НА КРЕДИТОВЫЙ ОСТАТОК
ЕСЛИ ( СУБ2 > 0)
П(ДАТА_СТР(Д_К),"СБ0000",КД1,А1,"СПИСАНИЕ СЕБЕСТОИМОСТИ",СУБ2*(-1))
СООБ( "СЧЕТ "+ЧИСЛО_СТР(А1)+"."+ЧИСЛО_СТР(А2)+" ИМЕЕТ КРЕДИТОВЫЙ ОСТАТОК = "+ЧИСЛО_СТР(СУБ2))
ВСЕ_ЕСЛИ
ВСЕ_ЕСЛИ
ВСЕ_ПОКА
ВСЕ_ЦИКЛ
Back to top
View user's profile Send private message Send e-mail Visit poster's website
lola



Joined: 13 Feb 2003
Posts: 112



PostPosted: 09 Aug 2004 09:21    Post subject: Reply with quote

Спасибо за пример. Вопрос был о возможности прямого указания аналитики счета при формировании проводки. Оказывается , после номера счета после точки ставишь код аналитики и все.Жаль, что этого нет в документаци
Back to top
View user's profile Send private message
lola



Joined: 13 Feb 2003
Posts: 112



PostPosted: 09 Aug 2004 22:23    Post subject: Reply with quote

Не получается найти простой способ собрать обороты по счетам с конкретно заданной аналитикой за определенный интервал дат. Например: Дт"201" ан"19" Кт "97" ан "39". Как лучше это сделать?
Back to top
View user's profile Send private message
GAL



Joined: 23 Apr 2002
Posts: 344
Location: Лопухова Галина Анатольевна
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 11 Aug 2004 13:30    Post subject: Reply with quote

1.
lola wrote:
Спасибо за пример. Вопрос был о возможности прямого указания аналитики счета при формировании проводки. Оказывается , после номера счета после точки ставишь код аналитики и все.Жаль, что этого нет в документации.

В части настройки групповых операций во всяком случае у нас приведены примеры.
7. Формирование справочников -> 6. Групповые операции -> <F1>


wrote:
Функции для режима "Внешняя отчетность".

ПОЛ_ПРОВ() - предоставляет возможность выбора проводки
или группы проводок из Книги хозяйственных операций,
удовлетворяющих заданным условиям.
Форма записи: ПОЛ_ПРОВ(А1,А2), где параметры функции А1 и
А2 могут быть двух видов:
А1 - номер основного счета, А2 - номер корреспондирующего
счета;
А1 - номер счета, А2 - оборот по заданному счету. Данные
параметры могут быть заданы как через переменную, так и явно,
но всегда в кавычках.
В качестве параметра можноуказывать и счет с аналитикой,
например, "621.000001" или "62*.1000*".


2.
lola wrote:
Не получается найти простой способ собрать обороты по счетам с конкретно заданной аналитикой за определенный интервал дат. Например: Дт"201" ан"19" Кт "97" ан "39". Как лучше это сделать?


А переменную типа КД1 в примере Максима Черепанова использовать нельзя?
Back to top
View user's profile Send private message
lola



Joined: 13 Feb 2003
Posts: 112



PostPosted: 11 Aug 2004 15:00    Post subject: Reply with quote

Ваше удивление понятно.Но если в функции сбора дебетовых оборотов Дт() использовать переменную Максима, то в лучшем случае получишь ошибку типа "непарные скобки". А нюанс, как выяснилось, заключался в том(спасибо подсказке ООО "Фромис" г.Краснодар Фролова Е.Е), что в этой функции нужно обязательно выдерживать формат счета и аналитики- счет 10 знаков, аналитика 6 знаков.
Т.е. функция Дт("201. 1",Б1,Б2) не будет работать, а функция
Дт("201 . 1",Б1,Б2) будет.Привожу частный пример для конкретной организации:
*операция ежемесячного закрытия затрат счетов 25,261,262 на 201,202 пропорционально зар.плате
док=своб_док.рег_ном *номер бух.справки
др=своб_док.дата_опер *дата бух.справки мдр="0"+под_стр(убр_пробел(число_стр(округ(ном_месяц(др),0))),1,1) *месяц цифрами в символьном формате
гдр=под_стр(убр_пробел(число_стр(округ(ном_год(др),0))),3,2) *год аналогично
дн="01"+"/"+мдр+"/"+гдр *дата начала периода расчета
с201_70=дт("201 . 1",дн,др) *общая сумма затрат 201 (аналитика оплата труда)
с202_70=дт("202 . 1",дн,др) *-// 202
сп20=с201_70+с202_70 * общая сумма затрат счета 20
прс201=округ(с201_70/сп20*100,2) *процент затрат 201 в общей сумме затрат
прс202=округ(с202_70/сп20*100,2) *-// 202
с25=дт(25,дн,др) *затраты 25 счета за период
с261=дт(261,дн,др) *-// 261
c262_9=дт(262.000009,дн,др) *-// 262 загрязнение окр.среды(поквартально)
с25_201=с25*прс201/100 * сумма затрат сч 25 для закрытия на сч 201
с25_202=с25*прс202/100 *-//25 на 202
с261_201=с261*прс201/100 *-//261 на 201
с261_202=с261*прс202/100 *-//261 на 202
с262_201=с262_9*прс201/100 *-//262 на 202
с262_202=с262_9*прс202/100 *-//262 на 202
п(др,док,"201. 27","261. 29","распределение затрат 261 на 201",с261_201) *проводки
п(др,док,"201. 26","25. 28","раcпределение затрат 25 на 201",с25_201)
п(др,док,"202. 27","261. 29","распределение затрат 261 на 201",с261_202)
п(др,док,"202. 26","25. 28","распределение затрат 25 на 202",с25_202)
если(с262_201<>0)
п(др,док,"201. 27","262.000012","распределение затрат 262 на 201",с262_201)
иначе
все_если
если(с262_202<>0)
п(др,док,"202. 26","262.000011","распределение затрат 262 на 202",с262_202)
иначе
все_если
Покритикуйте.
Back to top
View user's profile Send private message
Максим Черепанов



Joined: 17 Jan 2004
Posts: 136
Location: Максим Черепанов
Occupation: ЖА
Interests: Анапа

PostPosted: 11 Aug 2004 16:35    Post subject: Reply with quote

Вобще у меня закрываются все аналитические счета на синтетический счет на конкретную аналитику.
Если аналитика на затратных счетах заводилась через справочник затрат - т.е. допустим на всех 20х аналитика 002001- это зарплата. то вобще помоему проблемы нет. просто в масив добавляются аналитические счета с данной аналитикой и цыкл прохождения остальных аналитик ненужен.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
GAL



Joined: 23 Apr 2002
Posts: 344
Location: Лопухова Галина Анатольевна
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 11 Aug 2004 21:58    Post subject: Reply with quote

Уважаемая LOLA, меньше всего хотела Вас обидеть. Извините христа ради, если это произошло. Просто хотелось уточнить проблему.
Лично я ставлю 10 знаков на счет, хотя я видела работающие групповые операции, в которых при указании счета выводятся не 10 знаков, а так, как написано в воспроизведенном примере HELPа. Понятно, что аналитика дожна быть воспроизведена с точностью до символа.
Со своей стороны привожу пример групповой операции, слегка обрезанной от дополнительных проверок для простоты. Пробелы, к сожалению, подавляются, и бороться с этим невозможно.

wrote:


* ФОРМИРОВАНИЕ НАЛОГОВЫХ ПРОВОДОК ПО СЧ Н911 за 2002год

Нач = ДАТА()
Кон = ДАТА()

СООБ( {" ДАННАЯ ГРУППОВАЯ ОПЕРАЦИЯ ",;
"ФОРМИРУЕТ ПРОВОДКИ ПО ВНЕРЕАЛИЗ. ДОХОДАМ (СЧ. Н911)",;
"ПО ПРОВОДКАМ СЧ. 911"})
ВВОД (("Введите начальную дату.....",Нач,"Д"),;
("Введите конечную дату......",Кон,"Д"))

СПИСНАЛ={"Н911-0601", "Н911-15", "Н911-1804",;
"Н911-13", "Н911-03106", "Н911-1807",;
"Н911-1808", "Н911-1809", "Н911-1811",;
"Н911-1825"}

* 1234567890
СПИС911={"911 .000001","911 .000002","911 .000004",;
"911 .000005","911 .000006","911 .000007",;
"911 .000008","911 .000009","911 .000011",;
"911 .000025"}

ЦИКЛ СПИСНАЛ,СЧН,ИТ
СЧ91=СПИС911[ИТ]
ГР1=ПОЛ_ПРОВ(СЧ91,"КТ",Нач,Кон)
Т1=""
СУМ=0
НОМ=""
В1 = "1"
ПОКА (В1 = "1")
Т1=ГР1.ТЕКСТ
СУМ = ГР1.СУММА
ДАТ=ГР1.ДАТА_ПРОВ
НОМ=ГР1.НОМ_ДОК
ЕСЛИ (СУМ > 0.001 _ИЛИ_ СУМ < -0.001)
П(ДАТ,НОМ,СЧН,"",Т1,СУМ)
ВСЕ_ЕСЛИ
В1=СЛЕД_ПРОВ(ГР1)
ВСЕ_ПОКА
ВСЕ_ЦИКЛ


Отдельное большое спасибо представителю ООО "Фромис" г.Краснодар, оказавшего своевременную помощь. А также Максиму Черепанов
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru