Имя: Пароль:
1C
1C 7.7
v7: Корректное закрытие счета 20
,
0 Vadzim1988
 
02.01.18
13:09
Здравствуйте, помогите разобраться в следующем вопросе. Имеется 1с 7.7. Оказание услуг. 25 счет "Общехозяйственные расходы" закрывается на 20 счет "Основное производство" по статьям затрат. На 20 счете 3 субконто: 1. Виды номенклатуры; 2. Затраты на производство; 3. Подразделения.
Проблема в следующем: При проведении документа "Закрытие месяца" сч.20 закрывается только по двум субконто (Виды номенклатуры и Подразделения). По субконто Затраты на производсто не происходит. В чем причина?
P.S. Для наглядности скидываю код, прописанный для закрытия счета 20

//******************************************************************************
// ЗакрытиеСчета20()
//
// Параметры:
// Нет.
//
// Вызывается из формул элементов диалога:
// Нет.
//
// Описание:
// Здесь описывается процедура.
Процедура ЗакрытиеСчета20()
Сч20 = СчетПоКоду("20");
Сч90 = СчетПоКоду("90");
Сч90_1 = СчетПоКоду("90.1.1");
Сч90_2 = СчетПоКоду("90.2.1");
Сч90_3 = СчетПоКоду("90.3");
Сч90_4 = СчетПоКоду("90.4");
//Определим остатки незавершенного производства
ЗапросПоОстаткамНезавершенногоПроизводства = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(НезавершенноеПроизводство)
|Период с ДатаНач по ДатаКон;
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|ВидНоменклатуры = Документ.НезавершенноеПроизводство.ВидНоменклатуры;
|Подразделение = Документ.НезавершенноеПроизводство.Подразделение;
|ОстатокДок = Документ.НезавершенноеПроизводство.Остаток;
|Функция Остаток = Сумма(ОстатокДок);
|Группировка ВидНоменклатуры;
|Группировка Подразделение;
|"//}}ЗАПРОС
;
ЗапросПоОстаткамНезавершенногоПроизводства.Выполнить(ТекстЗапроса);
//Если ранее на счет 20 были списаны общепроизводственные или общехозяйственные
//расходы, запишем проводки, чтобы учесть эти суммы при закрытии счета 20
Если Операция.КоличествоПроводок() > 0 Тогда
Операция.ЗаписатьПроводки();
КонецЕсли;
БухИт90 = СоздатьОбъект("БухгалтерскиеИтоги");
БухИт90.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,,,);
БухИт90.ВключатьСубсчета(-1,);
БухИт90.ВыполнитьЗапрос(ДатаНач, ДатаКон, Сч90,,,,,);
БухИт20 = СоздатьОбъект("БухгалтерскиеИтоги");
БухИт20.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,,,);
БухИт20.ИспользоватьСубконто(ВидыСубконто.Подразделения,,,);
БухИт20.ИспользоватьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство,,,);
БухИт20.ВыполнитьЗапрос(ДатаНач, ДатаКон, Сч20,,,,,);
БухИт20.ВыбратьСубконто(ВидыСубконто.ВидыНоменклатуры);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.ВидыНоменклатуры) = 1 Цикл
БухИт20.ВыбратьСубконто(ВидыСубконто.Подразделения);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.Подразделения) = 1 Цикл
СуммаСписания = БухИт20.СКД() - ОстатокНезавершенногоПроизводства(БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры), БухИт20.Субконто(ВидыСубконто.Подразделения));
Если СуммаСписания <> 0 Тогда
Операция.НоваяПроводка();
Операция.НомерЖурнала = "ФР";
Операция.СодержаниеПроводки = "Списание счета 20";
Операция.ПервичныйДокумент = глПредставлениеПервичногоДокумента(Контекст);
Операция.Дебет.Счет = Сч90_4;
Операция.Дебет.ВидыНоменклатуры = БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры);
Операция.Кредит.Счет = Сч20;
Операция.Кредит.ВидыНоменклатуры = БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры);
Операция.Кредит.Подразделения = БухИт20.Субконто(ВидыСубконто.Подразделения);
Операция.Сумма = глОкругление(СуммаСписания, ДатаДок);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры // ЗакрытиеСчета20()
1 ikea
 
02.01.18
13:17
Добавить нужно одну строку:
Операция.Кредит.СтатьиЗатратНаПроизводство= БухИт20.Субконто(ВидыСубконто.СтатьиЗатратНаПроизводство);

После строки Операция.Кредит.ВидыНоменклатуры = БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры);
2 Umga2002
 
02.01.18
13:23
Начать с того что 25 сч - общепроизводственные расходы ну и т. д.
3 Vadzim1988
 
02.01.18
13:47
(1) К сожалению, не помогло, до этого пробовал, но после Вашего совета перепроверил - нет...
4 ikea
 
02.01.18
14:08
(3) У Вас в бухтоги по 20 счету выбираются только по 2 субконто. Нужно добавлять еще один цикл:

БухИт20.ВыбратьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство) = 1 Цикл


..................
КонецЦикла;
5 Vadzim1988
 
02.01.18
14:32
(4) Прописал такой код:

БухИт20.ВыбратьСубконто(ВидыСубконто.ВидыНоменклатуры);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.ВидыНоменклатуры) = 1 Цикл
БухИт20.ВыбратьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.СтатьиЗатратНаПроизводство) = 1 Цикл
БухИт20.ВыбратьСубконто(ВидыСубконто.Подразделения);
Пока БухИт20.ПолучитьСубконто(ВидыСубконто.Подразделения) = 1 Цикл
СуммаСписания = БухИт20.СКД() - ОстатокНезавершенногоПроизводства(БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры), БухИт20.Субконто(ВидыСубконто.Подразделения));
Если СуммаСписания <> 0 Тогда....

К сожалению, не работает....
6 RoRu
 
02.01.18
14:53
(0) посмотрите как закрывается в типовой бух 77
7 RoRu
 
02.01.18
14:59
(6) +
Вообще у вас весь первоначальный код написан в рассчете на 2 субконто , включая запрс по незавершенке - аккуратно и внимательно добавляйте 3е субконто по аналогии с предидущими и у вас все получится
8 Vadzim1988
 
02.01.18
15:42
(7) Добавил также в строку:

СуммаСписания = БухИт20.СКД() - ОстатокНезавершенногоПроизводства(БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры),  БухИт20.Субконто(ВидыСубконто.Подразделения));

третье субконто. Получилось:
СуммаСписания = БухИт20.СКД() - ОстатокНезавершенногоПроизводства(БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры), БухИт20.Субконто(ВидыСубконто.СтатьиЗатратНаПроизодство), БухИт20.Субконто(ВидыСубконто.Подразделения));

Однако, при попытке проведения документы выдает следующую ошибку:
СуммаСписания = БухИт20.СКД() - ОстатокНезавершенногоПроизводства(БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры), БухИт20.Субконто(ВидыСубконто.СтатьиЗатратНаПроизодство), <<?>> БухИт20.Субконто(ВидыСубконто.Подразделения));
{Документ.ЗакрытиеМесяца.Модуль Документа (2930)}: Слишком много фактических параметров
Модуль не скомпилирован!
9 RoRu
 
02.01.18
15:55
(8) в запросе по незавершенке добавили ?
Вообще вы понимаете , что делаете или не очень ?
Если грубо , то везде,  где у вас есть виды номенклатуры и подразделения у вас должно быть аналогично и статьи затрат , можете прям поиском пройтись .
10 Vadzim1988
 
02.01.18
16:00
(9) Понимаю не на 100 процентов, поэтому и обращаюсь на форум за помощь.

Если грубо , то везде,  где у вас есть виды номенклатуры и подразделения у вас должно быть аналогично и статьи затрат , можете прям поиском пройтись .

Вот тут хотелось бы уточнить: это касается только модуль Закрытие месяца и еще каких-либо модулей?
11 RoRu
 
02.01.18
16:13
(10) это я про конкретно вашу процедуру  закрытие 20 писал .
А что за конфа то у вас и зачем исправляете штатое закрытие?
12 ribuh
 
02.01.18
16:16
Начните с изучения матчасти - а именно что есть оборотное субконто в Плане счетов. Статьи производственных затрат, Статьи общепроизводственных и Статьи общехозяйственных -  суть оборотные субконто (по ним система не хранит сальдо), потому значение имеют в данном случае только дебетовые обороты (по ним анализируется отчетный период, работают разл. алгоритмы закрытия месяца и заполнение регл. отчетности). Не имеет смысла плодить кредитовый оборот по статьям затрат (если очень хочется посмотреть, как сделать субконто необротными - посмотрите конфигурацию для строительства от фирмы Импульс ИВЦ "Подрядчик строительства" или "Заказчик строительтва", там сделано)...

ЗЫ Для понимания сути оборотных субконто посмотрите на Статьи движения денежных средств: Поступили в кассу деньги по статье "Оплата покупателей", списали деньги из кассы по статье "Оплата поставщику", если субконто будет не оборотным, то тут надо городить не две проводки:
Дт 50 Кт 62 и Дт 60 Кт 50, а больше, иначе на субконто "Статьи движения денежных средств" будет зависать сальдо, ведь по кредиту "Оплата покупателя" движение счета 50 вряд ли будет (ну только если возврат, да и то там всего скорее будет другая статья выбрана)....
13 RoRu
 
02.01.18
16:17
(11) + разверну :
Обрабатывать НеПомеченныеНаУдаление;
|ВидНоменклатуры=Документ.НезавершенноеПроизводство.ВидНоменклатуры;
Тут надо добавить про статьи затрат
И далее везде до
Операция.Кредит.ВидыНоменклатуры = БухИт20.Субконто(ВидыСубконто.ВидыНоменклатуры);
14 Vadzim1988
 
02.01.18
16:18
(11) Конфа 1с 7.7 Мисофт, а штатное хотелось бы подправить, т.к. на 20 счете по аналитике  висят по Дебету и Кредиту куча субконт,  том числе и без признака. Из-за этого из месяца в месяц оборотка пухнет, а хотелось бы, чтобы все ежемесячно по 20 закрывалось и новый месяц был как с "Чистого листа".
15 RoRu
 
02.01.18
16:21
(12) в 77 Бух необоротное субконто вроде статья затрат , если верно помню
16 RoRu
 
02.01.18
16:22
(14) а вы уверены , что дело именно в неправильном закрытии ?
сделайте копию , сделайте одну затрату и на ней попробуйте проверить
17 ribuh
 
02.01.18
16:30
(15) Из тама, статей тех несколько, к каждому из счетов привязано, к 20, 25, 26 и 44. В типовой бух. оборотные (если только в совсем свежих релизах не поменялм, уже много лет всех перевёл на 8, особо не заморачиваюсь 7.7) в настройке для строительства сделали необоротным, и даже работает, потом попытались (Испульс) это повторить для 8...весьма неуспешно правда, сейчас вроде как отказались - вернули типовое закрытие, потому как по 20 обороты задваивались из-за того суммового учета по Статьям затрат.

ЗЫ В 7.7 по умолчанию используется 41 счет, потому необоротный учет по статьям затрат сделать более/менее реально, правда незачем, но... А в 8 обязаловки 40 нет, потому выпуск продукции при необоротных статьях затрат должен выглядеть не одной проводкой на всю сумму выпуска, а разбитым на выпуск по Оплате труда, Амортизации итд итп, что, согласитеь, весьма похоже на бред сивой кобылы... Потому статьи затрат и должны быть оборотными))))
18 Vadzim1988
 
02.01.18
16:30
(16) Перепроверил, да Вы правы. Сальдо на следующий не перетекает. Значит, в принципе опрос снимается. Также для понимания сути очень помог Ваш комментарий № 12. Может быть подскажете хорошую литературу по 1С? Заранее, спасибо!
19 RoRu
 
02.01.18
16:35
(17) да чё вы лечите то ?
по 20 ( осн пр-во ) всю жизнь было необоротное
спецом глянул текущую, также и осталось .
по зы 41 это товары так то, а не затратный счёт
20 ribuh
 
02.01.18
16:41
(19) И где эт я про затратный 41?
Да - глянул на 20 необротное Затраты на производство (простите великодушно - сто лет уже не работаю с 7.7, но и возможно такое как раз по причине использования 40 счета), по остальным (25, 26 , 44) оборотное. Почему засело - так это со стоителями связано - в середине года для БСО 2.0 как включили остатки - весь бубен тогда поломал, пока вылечил....
21 ribuh
 
02.01.18
16:42
(19) Увидел где 41 ляпнул - это читать 40))))
Ошибка? Это не ошибка, это системная функция.