Продолжаю (Сегодня сдал проф. на платформу и от меня отстали, как следствие есть время оформить)Билет я уже реализовал до момента создания отчета.
Для наглядности покажу вам список изменений которые мне пришлось внести в конфигурацию :

1.Количественно-суммовой учет материалов, переданных в производство, в разрезе материалов. Как многие уже заметили - нас просят создать счет (забалансовый) . Вариантов два - сделать его предопределенным, что бы не делать проверку в конфигураторе на наличие этого счета, либо ввести вручную и проверять
(я выбрал второй, для меня приоритетом является оставить конфигурацию максимально не измененной)
После создания счета остается вклинится в проведение документов "Отчет Производства за смену" и "Требование Накладная", только они могут списывать в производство. Думаю оптимальным будет не трогать сами документы, а вот в общий модуль УправлениеЗапасамиПартионныйУчетвлезть пришлось - Процедура "СписаниеСоСклада"
//Доработка
Если (ТипЗнч(СтрокаДокумента.Регистратор) <> Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену"))
или (ТипЗнч(СтрокаДокумента.Регистратор) <> Тип("ДокументСсылка.ТребованиеНакладная")) тогда
УправлениеДоработкамиПроизводства.ОтнестиНаЗабалансВПроизводствоСтроку(СтрокаДокумента,СтрокаПартии,Стоимость,СтоимостьНУ,Количество);
конецесли;
//конецдоработки
Теперь при списании материалов, только для вышеуказанных документов у нас будет делаться проводка 0201--- ►Пусто◄
СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("0201");
Если СчетУчета = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда
Сообщить(НСтр("ru='Для корректного учета сырья переданного в производство следует ввести забалансовый счет 0201';uk='Для коректного обліку сировини переданої у виробництво слід ввести позабалансовий рахунок 0201'",Локализация.КодЯзыкаИнформационнойБазы()));
возврат;
конецесли;
Проводка = СтрокаДокумента.Регистратор.Движения.Хозрасчетный.Добавить();
Проводка.Период = СтрокаДокумента.Регистратор.Дата;
Проводка.Организация = СтрокаДокумента.Организация;
Проводка.СчетДт = СчетУчета;
Проводка.Содержание = НСтр("ru='Учет переданного сырья в производство';uk='Облік переданої сировини у виробництво'",Локализация.КодЯзыкаИнформационнойБазы());
Проводка.СубконтоДт.Номенклатура = СтрокаПартии.Номенклатура;
Проводка.Сумма = Стоимость;
Проводка.КоличествоДт = Количество;
Если Проводка.СчетДт.НалоговыйУчет Тогда
Проводка.СуммаНУДт = СтоимостьНУ;
Проводка.НалоговоеНазначениеДт = СтрокаДокумента.НалоговоеНазначение;
КонецЕсли;
2.Расчет потребности в материалах, исходя из объема выпуска и действующих спецификаций, с распределением сумм, накопленных в дебете счета 231 по аналитике накопления, в дебет счета 231 на аналитику выпуска продукции, исходя из нормативной потребности материаловАлгоритм :
1. Соберем сведения о выпущенной продукции за месяц и их спецификации из документов "Отчет производства за смену"
но только в том случае если не стоит признака списывать материалы !
(Если материалы списаны будем считать что пользователь учел ПОТРЕБНОСТИ ПРОИЗВОДСТВА) 2. Сформируем средневзвешенную стоимость материалов
3. Итоговые суммы запишем проводками
231-00 , 00 - 231.
ОЧЕНЬ ВАЖНО использовать Вспомогательный счет. Как уже указывал
Velpon есть у нас хитрый запрос в процедуре "АнализДанныхПроизводства" в документе "Закрытие месяца", но думаю смысла этого запроса он не уловил :
| (ВЫБРАТЬ
| 1 КАК Источник,
| 0 КАК КонечныйОстатокОПЗ,
| ХозрасчетныйОбороты.СубконтоДт1 КАК Подразделение,
| ХозрасчетныйОбороты.СубконтоДт2 КАК НоменклатурнаяГруппа,
| ХозрасчетныйОбороты.СчетДт КАК СчетЗатрат,
| ХозрасчетныйОбороты.СубконтоКт1 КАК НоменклатураЗатрат
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачДата, &КонДата, , СчетДт В ИЕРАРХИИ (&Счета), , (НЕ СчетКт В ИЕРАРХИИ (&Счета)), , Организация = &Организация) КАК ХозрасчетныйОбороты
|
Ключевой момент в строчке СчетДт В ИЕРАРХИИ (&Счета), , (
НЕ СчетКт В ИЕРАРХИИ (&Счета)) это условие отсеивает все обороты между 231 счета если они сделаны с 231 счета ! а если с любого другого то алгоритм документа Закрытие месяца с радостью все распределит что накопилось на Дт 231 счета и сформирует себестоимость.
Саму реализацию алгоритма можно посмотреть в моей базе
необходимо зарегистрироваться для просмотра ссылки (103,0 Мб)