Небольшая оптимизация расчета себестоимости в УПП (партионный учет)

Публикация № 1191157

Учет и отчетность - Производство готовой продукции (работ, услуг)

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

Доработка позволяет снизить время проведения документа Расчет себестоимости в конфигурации УПП, в нашем случае - на порядок.

Провел небольшую оптимизацию в расчете себестоимости. Конфигурация УПП версия 1.3.106.2

На скриншоте видно, что в нашем случае (БУ 20, 23 счета) при расчете себестоимости более 90% занимает вызов функции выборки результата запроса НайтиСледующий(СтруктураПоиска) в процедуре РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции.

 

Замер производительности

 

Доработка оптимизирует алгоритм распределения - вместо обхода с поиском по двум таблицам, создает один запрос объединяющий две таблицы. При этом сам алгоритм никак не меняется.

Как использовать.

1. В Форме документа Расчет себестоимости добавить флажок для типового проведения, который можно включить, только интерактивно. Имя реквизита: НеОптимизироватьРасчет

2. В модуле формы документа Расчет себестоимости в процедуре ПередЗаписью добавить значение реквизита в Дополнительные свойства

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	ЭтотОбъект.ДополнительныеСвойства.Вставить("ОптимизироватьРасчет", НЕ НеОптимизироватьРасчет);
КонецПроцедуры

3. В процедуру РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции общего модуля ПроцедурыРасчетаСебестоимостиВыпуска  в начало добавить

Если (НЕ СтруктураШапкиДокумента.Свойство("ОптимизироватьРасчет"))
	ИЛИ (СтруктураШапкиДокумента.Свойство("ОптимизироватьРасчет") И СтруктураШапкиДокумента.ОптимизироватьРасчет) Тогда
	
	РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции_ОптимизированныйРасчет(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоНезавершенномуПроизводству,
		РезультатЗапросаПоЗатратамНаВыпуск,
		НомерПередела,
		РасчетКосвенныхЗатрат,
		РасчетЗатратВстречногоВыпуска,
		НаборЗаписейНезавершенноеПроизводство,
		НаборЗаписейЗатратыНаВыпуск,
		РегистрБухгалтерииНаборЗаписей
		);
	Возврат;
	
КонецЕсли;

4. В общий модуль ПроцедурыРасчетаСебестоимостиВыпуска добавить две процедуры:

  • РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции_ОптимизированныйРасчет()
  • СравнитьЗначенияСтруктурыИСтрокиТЗ()

Код:

 

 

// Процедура распределения затрат из незавершенного производства за выпуск продукции.
//
// Параметры
//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
//	РезультатЗапросаПоНезавершенномуПроизводству - РезультатЗапроса - Результат выполнения запроса по незавершенному производству
//  РезультатЗапросаПоЗатратамНаВыпуск - РезультатЗапроса - Результат запроса по затратам на выпуск
//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
//	РасчетКосвенныхЗатрат - Булево - Признак выполнения действия "Распределение косвенных расходов"
//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска" 
//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
//	НаборЗаписейЗатратыНаВыпуск - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск продукции"
//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
//
Процедура РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции(
	СтруктураШапкиДокумента,
	РезультатЗапросаПоНезавершенномуПроизводству,
	РезультатЗапросаПоЗатратамНаВыпуск,
	НомерПередела,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	)
	
	// +Dmitry Fokin <dkoder.dvl@gmail.com> 2020-02-04
	
	Если (НЕ СтруктураШапкиДокумента.Свойство("ОптимизироватьРасчет"))
		ИЛИ (СтруктураШапкиДокумента.Свойство("ОптимизироватьРасчет") И СтруктураШапкиДокумента.ОптимизироватьРасчет) Тогда
		
		РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции_ОптимизированныйРасчет(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоНезавершенномуПроизводству,
			РезультатЗапросаПоЗатратамНаВыпуск,
			НомерПередела,
			РасчетКосвенныхЗатрат,
			РасчетЗатратВстречногоВыпуска,
			НаборЗаписейНезавершенноеПроизводство,
			НаборЗаписейЗатратыНаВыпуск,
			РегистрБухгалтерииНаборЗаписей
			);
		Возврат;
		
	КонецЕсли;
	
	// -Dmitry Fokin <dkoder.dvl@gmail.com> 2020-02-04
	
	КодыОперацийФиксСтоимость = Новый Соответствие;
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс, Истина);
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс, Истина);
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс, Истина);
	
	ПостроительЗапроса = ПолучитьПостроительЗапросаПоЗатратамНаВыпуск(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоЗатратамНаВыпуск
		);
	
	ВыборкаПоЗатратам = РезультатЗапросаПоНезавершенномуПроизводству.Выбрать();
	Пока ВыборкаПоЗатратам.Следующий() Цикл
		
		КоличествоЗатратНаВыпуск = ВыборкаПоЗатратам.Количество;
		
		СуммаЗатратНаВыпуск = ВыборкаПоЗатратам.Стоимость;
		Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
			СуммаЗатратНаВыпуск = СуммаЗатратНаВыпуск 
				+ ВыборкаПоЗатратам.ПостояннаяРазница
				+ ВыборкаПоЗатратам.ВременнаяРазница;
		КонецЕсли;
		
		КоличествоНЗП = ВыборкаПоЗатратам.КоличествоОстаток;
		
		СуммаНЗП = ВыборкаПоЗатратам.СтоимостьОстаток;
		Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
			ПостояннаяРазницаНЗП = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
			ВременнаяРазницаНЗП = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
		Иначе
			ПостояннаяРазницаНЗП = 0;
			ВременнаяРазницаНЗП = 0;
		КонецЕсли;
		
		ОбщаяСуммаНЗП = СуммаНЗП + ПостояннаяРазницаНЗП + ВременнаяРазницаНЗП;
		
		// Отберем строки затрат на выпуск.
		УстановленНовыйОтбор = ПроверитьИУстановитьОтборПостроителяЗапросаПоЗатратамНаВыпуск(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ПостроительЗапроса
			);

		Если УстановленНовыйОтбор Тогда	
			ПостроительЗапроса.Выполнить();
		КонецЕсли;	
		РезультатЗапросаПоЗатратамНаВыпуск = ПостроительЗапроса.Результат;
					
		// Выберем выпуск продукции с направлениями списания.
		СтруктураПоиска = ПолучитьСтруктуруПоискаСтрокЗатратНаВыпуск(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам
			);
			
		СписатьКоличествоИзНЗП = 0;	
		СписатьСуммаИзНЗП = 0;
		СписатьПостояннаяРазницаИзНЗП = 0;
		СписатьВременнаяРазницаИзНЗП = 0;
		
		ВсегоЗатратыНаВыпуск = 0;
		ВсегоЗатратыНаВыпускПостояннаяРазница = 0;
		ВсегоЗатратыНаВыпускВременнаяРазница = 0;
		
		ВыборкаПоЗатратамНаВыпуск = РезультатЗапросаПоЗатратамНаВыпуск.Выбрать();
		Пока ВыборкаПоЗатратамНаВыпуск.НайтиСледующий(СтруктураПоиска) Цикл
			
			Если ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
			   И Не ВыборкаПоЗатратамНаВыпуск.ВстречныйВыпуск Тогда
				Продолжить;
			ИначеЕсли Не ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
					И ВыборкаПоЗатратамНаВыпуск.ВстречныйВыпуск Тогда
				Продолжить;
			ИначеЕсли ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
					И Не РасчетЗатратВстречногоВыпуска Тогда
				Продолжить;
			КонецЕсли;
			
			// Пропускаем записи по которым нет выпуска продукции.
			Если Не ВыборкаПоЗатратамНаВыпуск.ЕстьВыпускПродукции Тогда
				Продолжить;
			КонецЕсли;
			
			ВсегоЗатратыНаВыпуск = ВсегоЗатратыНаВыпуск + ВыборкаПоЗатратамНаВыпуск.Стоимость;
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				ВсегоЗатратыНаВыпускПостояннаяРазница = ВсегоЗатратыНаВыпускПостояннаяРазница + ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
				ВсегоЗатратыНаВыпускВременнаяРазница = ВсегоЗатратыНаВыпускВременнаяРазница + ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
			КонецЕсли;
			
			СуммаЗатрат = 0;
			СуммаЗатратПостояннаяРазница = 0;
			СуммаЗатратВременнаяРазница = 0;
			КоличествоИзНЗП = 0;
			СуммаИзНЗП = 0;
			ПостояннаяРазницаИзНЗП = 0;
			ВременнаяРазницаИзНЗП = 0;
			
			// Если производится списание затрат на продукцию, исключаемую из базы распределения,
			// стоимость такой продукции не корректируем. 
			Если ВыборкаПоЗатратамНаВыпуск.ЕстьИсключаемаяНоменклатура 
			   И (РасчетКосвенныхЗатрат ИЛИ РасчетЗатратВстречногоВыпуска) Тогда
			   
				КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
				СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
				ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
				Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
					ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
					ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
					
					ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
						- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
				КонецЕсли;
				
				Продолжить;
				
			КонецЕсли;
			
			Если ВыборкаПоЗатратамНаВыпуск.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП
			   И Не РасчетЗатратВстречногоВыпуска
			Тогда
			
				КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
				СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
				ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
				Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
					ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
					ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
					
					ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
						- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
				КонецЕсли;
					
			КонецЕсли;
			
			Если ВыборкаПоЗатратам.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные Тогда
				РассчитатьСуммыСписанияИКорректировкиМатериальныхЗатрат(
					СтруктураШапкиДокумента,
					ВыборкаПоЗатратамНаВыпуск,
					КодыОперацийФиксСтоимость,
					КоличествоНЗП,
					СуммаНЗП,
					ПостояннаяРазницаНЗП,
					ВременнаяРазницаНЗП,
					ОбщаяСуммаНЗП,
					КоличествоЗатратНаВыпуск,
					РасчетКосвенныхЗатрат,
					РасчетЗатратВстречногоВыпуска,
					СуммаЗатрат,
					СуммаЗатратПостояннаяРазница,
					СуммаЗатратВременнаяРазница,
					КоличествоИзНЗП,
					СуммаИзНЗП,
					ПостояннаяРазницаИзНЗП,
					ВременнаяРазницаИзНЗП
					);
				
			// Расчет сумм списания для нематериальных затрат.		
			ИначеЕсли Не РасчетКосвенныхЗатрат Тогда
				РассчитатьСуммыСписанияНематериальныхЗатрат(
					СтруктураШапкиДокумента,
					ВыборкаПоЗатратамНаВыпуск,
					СуммаНЗП,
					ПостояннаяРазницаНЗП,
					ВременнаяРазницаНЗП,
					ОбщаяСуммаНЗП,
					СуммаЗатратНаВыпуск,
					РасчетЗатратВстречногоВыпуска,
					СуммаЗатрат,
					СуммаЗатратПостояннаяРазница,
					СуммаЗатратВременнаяРазница,
					СуммаИзНЗП,
					ПостояннаяРазницаИзНЗП,
					ВременнаяРазницаИзНЗП
				);
			КонецЕсли;
			
			Если Не РасчетЗатратВстречногоВыпуска И ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска Тогда
				СуммаЗатрат = 0;
			КонецЕсли;
			
			СписатьКоличествоИзНЗП = СписатьКоличествоИзНЗП + КоличествоИзНЗП;	
			СписатьСуммаИзНЗП = СписатьСуммаИзНЗП + СуммаИзНЗП;
			СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП + ПостояннаяРазницаИзНЗП;
			СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП + ВременнаяРазницаИзНЗП;
			
			ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
			
			// Формирование движений по регистру "Затраты на выпуск".
			СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииПрямыеЗатраты(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ВыборкаПоЗатратамНаВыпуск,
				Ложь, // РаспределениеЗатратПоБазе,
				РасчетКосвенныхЗатрат, // КосвенныеЗатраты,
				РасчетЗатратВстречногоВыпуска, // ЗатратыВстречногоВыпуска,
				0, // Количество
				СуммаЗатрат,
				СуммаЗатратПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				НаборЗаписейЗатратыНаВыпуск
			);
			
			// Формирование движений по регистру бухгалтерии.	
			Если Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
			   И ВыборкаПоЗатратам.СтатусМатериальныхЗатрат <> Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
			   И (ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппа <> ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппаНЗП
					ИЛИ ВыборкаПоЗатратамНаВыпуск.Подразделение <> ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП 
					И ЗначениеЗаполнено(ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП)) Тогда
					
				СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					СтруктураШапкиДокумента.ВидОтраженияВУчете,
					ВыборкаПоЗатратам,
					ВыборкаПоЗатратамНаВыпуск,
					ВыборкаПоЗатратам.СтатьяЗатрат,
					Перечисления.ХарактерЗатрат.ПроизводственныеРасходы,
					СуммаИзНЗП,
					ПостояннаяРазницаИзНЗП,
					ВременнаяРазницаИзНЗП,
					РегистрБухгалтерииНаборЗаписей
					);
				
			КонецЕсли;
						
		КонецЦикла;
		
		Если РасчетЗатратВстречногоВыпуска
		   И СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска
		   И ВыборкаПоЗатратам.ВстречныйВыпуск Тогда
		   
			Если ВыборкаПоЗатратам.КоличествоРасход <> 0 Тогда
			   
				СписатьКоличествоИзНЗП = 0;
				СписатьСуммаИзНЗП = СписатьСуммаИзНЗП - ВсегоЗатратыНаВыпуск;
				
				Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
					СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП - ВсегоЗатратыНаВыпускПостояннаяРазница;
					СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП - ВсегоЗатратыНаВыпускВременнаяРазница;
				КонецЕсли;
				
			КонецЕсли;
		КонецЕсли;
		
		// Формирование движений по регистру "Незавершенное производство".
		СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВыборкаПоЗатратам.СтатьяЗатрат,
			Неопределено, // ХарактерЗатрат,
			ВыборкаПоЗатратам.Затрата,
			ВыборкаПоЗатратам.ХарактеристикаЗатраты,
			ВыборкаПоЗатратам.СерияЗатраты,
			НомерПередела,
			СписатьКоличествоИзНЗП,
			СписатьСуммаИзНЗП,
			СписатьПостояннаяРазницаИзНЗП,
			СписатьВременнаяРазницаИзНЗП,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейНезавершенноеПроизводство
			);
		
	КонецЦикла;
	
КонецПроцедуры // РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции()

// +Dmitry Fokin <dkoder.dvl@gmail.com> 2020-02-04

Процедура РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции_ОптимизированныйРасчет(
	СтруктураШапкиДокумента,
	РезультатЗапросаПоНезавершенномуПроизводству,
	РезультатЗапросаПоЗатратамНаВыпуск,
	НомерПередела,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	)
	
	// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	// Запрос надо корректировать по аналогии с процедурой ПолучитьСтруктуруПоискаСтрокЗатратНаВыпуск()
	
	Запрос = Новый Запрос;
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТЗ_НЗП.ВестиУчетПоСериямВНЗП КАК ВестиУчетПоСериямВНЗП,
	|	ТЗ_НЗП.ВидЗатрат КАК ВидЗатрат,
	|	ТЗ_НЗП.ВременнаяРазница КАК ВременнаяРазница,
	|	ТЗ_НЗП.ВременнаяРазницаОстаток КАК ВременнаяРазницаОстаток,
	|	ТЗ_НЗП.ВстречныйВыпуск КАК ВстречныйВыпуск,
	|	ТЗ_НЗП.Заказ КАК Заказ,
	|	ТЗ_НЗП.Затрата КАК Затрата,
	|	ТЗ_НЗП.Количество КАК Количество,
	|	ТЗ_НЗП.КоличествоОстаток КАК КоличествоОстаток,
	|	ТЗ_НЗП.КоличествоРасход КАК КоличествоРасход,
	|	ТЗ_НЗП.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	ТЗ_НЗП.Подразделение КАК Подразделение,
	|	ТЗ_НЗП.ПостояннаяРазница КАК ПостояннаяРазница,
	|	ТЗ_НЗП.ПостояннаяРазницаОстаток КАК ПостояннаяРазницаОстаток,
	|	ТЗ_НЗП.СерияЗатраты КАК СерияЗатраты,
	|	ТЗ_НЗП.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	ТЗ_НЗП.СтатьяЗатрат КАК СтатьяЗатрат,
	|	ТЗ_НЗП.Стоимость КАК Стоимость,
	|	ТЗ_НЗП.СтоимостьОстаток КАК СтоимостьОстаток,
	|	ТЗ_НЗП.СчетУчета КАК СчетУчета,
	|	ТЗ_НЗП.ХарактеристикаЗатраты КАК ХарактеристикаЗатраты
	|ПОМЕСТИТЬ ВТ_НЗП
	|ИЗ
	|	&ТЗ_НЗП КАК ТЗ_НЗП
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ТЗ_ЗатратыНаВыпуск.ВозвратИзНЗП КАК ВозвратИзНЗП,
	|	ТЗ_ЗатратыНаВыпуск.ВременнаяРазница КАК ВременнаяРазница,
	|	ТЗ_ЗатратыНаВыпуск.ВстречныйВыпуск КАК ВстречныйВыпуск,
	|	ТЗ_ЗатратыНаВыпуск.ДокументВыпуска КАК ДокументВыпуска,
	|	ТЗ_ЗатратыНаВыпуск.ЕстьВыпускПродукции КАК ЕстьВыпускПродукции,
	|	ТЗ_ЗатратыНаВыпуск.ЕстьИсключаемаяНоменклатура КАК ЕстьИсключаемаяНоменклатура,
	|	ТЗ_ЗатратыНаВыпуск.Заказ КАК Заказ,
	|	ТЗ_ЗатратыНаВыпуск.ЗаказНЗП КАК ЗаказНЗП,
	|	ТЗ_ЗатратыНаВыпуск.Затрата КАК Затрата,
	|	ТЗ_ЗатратыНаВыпуск.ЗатратаВстречногоВыпуска КАК ЗатратаВстречногоВыпуска,
	|	ТЗ_ЗатратыНаВыпуск.КодОперации КАК КодОперации,
	|	ТЗ_ЗатратыНаВыпуск.Количество КАК Количество,
	|	ТЗ_ЗатратыНаВыпуск.КорректировкаНЗП КАК КорректировкаНЗП,
	|	ТЗ_ЗатратыНаВыпуск.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	ТЗ_ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП КАК НоменклатурнаяГруппаНЗП,
	|	ТЗ_ЗатратыНаВыпуск.ОприходованиеНЗП КАК ОприходованиеНЗП,
	|	ТЗ_ЗатратыНаВыпуск.Организация КАК Организация,
	|	ТЗ_ЗатратыНаВыпуск.Подразделение КАК Подразделение,
	|	ТЗ_ЗатратыНаВыпуск.ПодразделениеНЗП КАК ПодразделениеНЗП,
	|	ТЗ_ЗатратыНаВыпуск.ПодразделениеСписанияНЗП КАК ПодразделениеСписанияНЗП,
	|	ТЗ_ЗатратыНаВыпуск.ПостояннаяРазница КАК ПостояннаяРазница,
	|	ТЗ_ЗатратыНаВыпуск.Продукция КАК Продукция,
	|	ТЗ_ЗатратыНаВыпуск.СерияЗатраты КАК СерияЗатраты,
	|	ТЗ_ЗатратыНаВыпуск.СерияПродукции КАК СерияПродукции,
	|	ТЗ_ЗатратыНаВыпуск.Спецификация КАК Спецификация,
	|	ТЗ_ЗатратыНаВыпуск.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	ТЗ_ЗатратыНаВыпуск.СтатьяЗатрат КАК СтатьяЗатрат,
	|	ТЗ_ЗатратыНаВыпуск.Стоимость КАК Стоимость,
	|	ТЗ_ЗатратыНаВыпуск.СчетУчета КАК СчетУчета,
	|	ТЗ_ЗатратыНаВыпуск.ХарактеристикаЗатраты КАК ХарактеристикаЗатраты,
	|	ТЗ_ЗатратыНаВыпуск.ХарактеристикаПродукции КАК ХарактеристикаПродукции
	|ПОМЕСТИТЬ ВТ_ЗатратыНаВыпуск
	|ИЗ
	|	&ТЗ_ЗатратыНаВыпуск КАК ТЗ_ЗатратыНаВыпуск
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТ_НЗП.ВестиУчетПоСериямВНЗП КАК НЗП_ВестиУчетПоСериямВНЗП,
	|	ВТ_НЗП.ВидЗатрат КАК НЗП_ВидЗатрат,
	|	ВТ_НЗП.ВременнаяРазница КАК НЗП_ВременнаяРазница,
	|	ВТ_НЗП.ВременнаяРазницаОстаток КАК НЗП_ВременнаяРазницаОстаток,
	|	ВТ_НЗП.ВстречныйВыпуск КАК НЗП_ВстречныйВыпуск,
	|	ВТ_НЗП.Заказ КАК НЗП_Заказ,
	|	ВТ_НЗП.Затрата КАК НЗП_Затрата,
	|	ВТ_НЗП.Количество КАК НЗП_Количество,
	|	ВТ_НЗП.КоличествоОстаток КАК НЗП_КоличествоОстаток,
	|	ВТ_НЗП.КоличествоРасход КАК НЗП_КоличествоРасход,
	|	ВТ_НЗП.НоменклатурнаяГруппа КАК НЗП_НоменклатурнаяГруппа,
	|	ВТ_НЗП.Подразделение КАК НЗП_Подразделение,
	|	ВТ_НЗП.ПостояннаяРазница КАК НЗП_ПостояннаяРазница,
	|	ВТ_НЗП.ПостояннаяРазницаОстаток КАК НЗП_ПостояннаяРазницаОстаток,
	|	ВТ_НЗП.СерияЗатраты КАК НЗП_СерияЗатраты,
	|	ВТ_НЗП.СтатусМатериальныхЗатрат КАК НЗП_СтатусМатериальныхЗатрат,
	|	ВТ_НЗП.СтатьяЗатрат КАК НЗП_СтатьяЗатрат,
	|	ВТ_НЗП.Стоимость КАК НЗП_Стоимость,
	|	ВТ_НЗП.СтоимостьОстаток КАК НЗП_СтоимостьОстаток,
	|	ВТ_НЗП.СчетУчета КАК НЗП_СчетУчета,
	|	ВТ_НЗП.ХарактеристикаЗатраты КАК НЗП_ХарактеристикаЗатраты,
	|	ВТ_ЗатратыНаВыпуск.ВозвратИзНЗП,
	|	ВТ_ЗатратыНаВыпуск.ВременнаяРазница,
	|	ВТ_ЗатратыНаВыпуск.ВстречныйВыпуск,
	|	ВТ_ЗатратыНаВыпуск.ДокументВыпуска КАК ДокументВыпуска,
	|	ВТ_ЗатратыНаВыпуск.ЕстьВыпускПродукции,
	|	ВТ_ЗатратыНаВыпуск.ЕстьИсключаемаяНоменклатура КАК ЕстьИсключаемаяНоменклатура,
	|	ВТ_ЗатратыНаВыпуск.Заказ КАК Заказ,
	|	ВТ_ЗатратыНаВыпуск.ЗаказНЗП КАК ЗаказНЗП,
	|	ВТ_ЗатратыНаВыпуск.Затрата КАК Затрата,
	|	ВТ_ЗатратыНаВыпуск.ЗатратаВстречногоВыпуска,
	|	ВТ_ЗатратыНаВыпуск.КодОперации КАК КодОперации,
	|	ВТ_ЗатратыНаВыпуск.Количество,
	|	ВТ_ЗатратыНаВыпуск.КорректировкаНЗП,
	|	ВТ_ЗатратыНаВыпуск.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	ВТ_ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП КАК НоменклатурнаяГруппаНЗП,
	|	ВТ_ЗатратыНаВыпуск.ОприходованиеНЗП,
	|	ВТ_ЗатратыНаВыпуск.Организация КАК Организация,
	|	ВТ_ЗатратыНаВыпуск.Подразделение КАК Подразделение,
	|	ВТ_ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ВТ_ЗатратыНаВыпуск.ПодразделениеСписанияНЗП КАК ПодразделениеСписанияНЗП,
	|	ВТ_ЗатратыНаВыпуск.ПостояннаяРазница КАК ПостояннаяРазница,
	|	ВТ_ЗатратыНаВыпуск.Продукция КАК Продукция,
	|	ВТ_ЗатратыНаВыпуск.СерияЗатраты КАК СерияЗатраты,
	|	ВТ_ЗатратыНаВыпуск.СерияПродукции КАК СерияПродукции,
	|	ВТ_ЗатратыНаВыпуск.Спецификация КАК Спецификация,
	|	ВТ_ЗатратыНаВыпуск.СтатусМатериальныхЗатрат,
	|	ВТ_ЗатратыНаВыпуск.СтатьяЗатрат КАК СтатьяЗатрат,
	|	ВТ_ЗатратыНаВыпуск.Стоимость,
	|	ВТ_ЗатратыНаВыпуск.СчетУчета КАК СчетУчета,
	|	ВТ_ЗатратыНаВыпуск.ХарактеристикаЗатраты КАК ХарактеристикаЗатраты,
	|	ВТ_ЗатратыНаВыпуск.ХарактеристикаПродукции КАК ХарактеристикаПродукции
	|ИЗ
	|	ВТ_НЗП КАК ВТ_НЗП
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЗатратыНаВыпуск КАК ВТ_ЗатратыНаВыпуск
	|		ПО ВТ_НЗП.Заказ = ВТ_ЗатратыНаВыпуск.ЗаказНЗП
	|			И ВТ_НЗП.Затрата = ВТ_ЗатратыНаВыпуск.Затрата
	|			И ВТ_НЗП.НоменклатурнаяГруппа = ВТ_ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП
	|			И ВТ_НЗП.Подразделение = ВТ_ЗатратыНаВыпуск.ПодразделениеСписанияНЗП
	|			И ВТ_НЗП.СтатьяЗатрат = ВТ_ЗатратыНаВыпуск.СтатьяЗатрат
	|			И ВТ_НЗП.СчетУчета = ВТ_ЗатратыНаВыпуск.СчетУчета
	|			И ВТ_НЗП.ХарактеристикаЗатраты = ВТ_ЗатратыНаВыпуск.ХарактеристикаЗатраты
	|			И (ВЫБОР
	|				КОГДА ВТ_НЗП.ВестиУчетПоСериямВНЗП
	|					ТОГДА ВТ_НЗП.СерияЗатраты = ВТ_ЗатратыНаВыпуск.СерияЗатраты
	|				ИНАЧЕ ИСТИНА
	|			КОНЕЦ)
	|
	|УПОРЯДОЧИТЬ ПО
	|	НЗП_СчетУчета,
	|	НЗП_Подразделение,
	|	НЗП_НоменклатурнаяГруппа,
	|	НЗП_Заказ,
	|	НЗП_СтатьяЗатрат,
	|	НЗП_Затрата,
	|	НЗП_ХарактеристикаЗатраты,
	|	НЗП_СерияЗатраты,
	|	Организация,
	|	СчетУчета,
	|	ПодразделениеСписанияНЗП,
	|	НоменклатурнаяГруппаНЗП,
	|	ЗаказНЗП,
	|	СтатьяЗатрат,
	|	Затрата,
	|	ХарактеристикаЗатраты,
	|	СерияЗатраты,
	|	ЕстьИсключаемаяНоменклатура УБЫВ,
	|	Подразделение,
	|	НоменклатурнаяГруппа,
	|	Продукция,
	|	ХарактеристикаПродукции,
	|	СерияПродукции,
	|	Спецификация,
	|	Заказ,
	|	ДокументВыпуска,
	|	КодОперации";
	
	Если (СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
		ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)
		Тогда Иначе
		
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_НЗП.СчетУчета КАК СчетУчета,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_ЗатратыНаВыпуск.СчетУчета КАК СчетУчета,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_НЗП.СчетУчета КАК НЗП_СчетУчета,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_ЗатратыНаВыпуск.СчетУчета КАК СчетУчета,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ВТ_НЗП.СчетУчета = ВТ_ЗатратыНаВыпуск.СчетУчета", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "НЗП_СчетУчета,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "СчетУчета,", "");   
		
	КонецЕсли;
	
	Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
	Иначе
		
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_НЗП.ВременнаяРазница КАК ВременнаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_НЗП.ВременнаяРазницаОстаток КАК ВременнаяРазницаОстаток,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_НЗП.ПостояннаяРазница КАК ПостояннаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_НЗП.ПостояннаяРазницаОстаток КАК ПостояннаяРазницаОстаток,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_ЗатратыНаВыпуск.ВременнаяРазница КАК ВременнаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТЗ_ЗатратыНаВыпуск.ПостояннаяРазница КАК ПостояннаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_НЗП.ВременнаяРазница КАК НЗП_ВременнаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_НЗП.ВременнаяРазницаОстаток КАК НЗП_ВременнаяРазницаОстаток,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_НЗП.ПостояннаяРазница КАК НЗП_ПостояннаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_НЗП.ПостояннаяРазницаОстаток КАК НЗП_ПостояннаяРазницаОстаток,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_ЗатратыНаВыпуск.ВременнаяРазница,", "");   
		Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВТ_ЗатратыНаВыпуск.ПостояннаяРазница КАК ПостояннаяРазница,", "");   
		
	КонецЕсли; 
	
	Запрос.УстановитьПараметр("ТЗ_НЗП", РезультатЗапросаПоНезавершенномуПроизводству);
	Запрос.УстановитьПараметр("ТЗ_ЗатратыНаВыпуск", РезультатЗапросаПоЗатратамНаВыпуск);
	
	милисек_0 = ТекущаяУниверсальнаяДатаВМиллисекундах();
	НЗП_И_ЗапросаПоЗатратамНаВыпуск = Запрос.Выполнить().Выгрузить();
	
	Сообщение = Новый СообщениеПользователю;
	Сообщение.Текст = "РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции_ОптимизированныйРасчет === запрос ===>>> "+(Окр((ТекущаяУниверсальнаяДатаВМиллисекундах()-милисек_0)/1000,0));
	Сообщение.Сообщить();
	
	КодыОперацийФиксСтоимость = Новый Соответствие;
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс, Истина);
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс, Истина);
	КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс, Истина);
	
	ВыборкаПоЗатратам = Неопределено;
	
	ВсегоЗатратыНаВыпуск = 0;
	ВсегоЗатратыНаВыпускПостояннаяРазница = 0;
	ВсегоЗатратыНаВыпускВременнаяРазница = 0;
	
	Для Каждого ВыборкаПоЗатратамНаВыпуск Из НЗП_И_ЗапросаПоЗатратамНаВыпуск Цикл
		
		Если ВыборкаПоЗатратам = Неопределено ИЛИ НЕ СравнитьЗначенияСтруктурыИСтрокиТЗ(ВыборкаПоЗатратам, ВыборкаПоЗатратамНаВыпуск, Новый Структура("СтруктураШапкиДокумента", СтруктураШапкиДокумента)) Тогда
			
			Если ВыборкаПоЗатратам <> Неопределено Тогда
				
				// Это не первый прогон, нужно закрыть все что после цикла
				Если РасчетЗатратВстречногоВыпуска
					И СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска
					И ВыборкаПоЗатратам.ВстречныйВыпуск Тогда
					
					Если ВыборкаПоЗатратам.КоличествоРасход <> 0 Тогда
						
						СписатьКоличествоИзНЗП = 0;
						СписатьСуммаИзНЗП = СписатьСуммаИзНЗП - ВсегоЗатратыНаВыпуск;
						
						Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
							СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП - ВсегоЗатратыНаВыпускПостояннаяРазница;
							СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП - ВсегоЗатратыНаВыпускВременнаяРазница;
						КонецЕсли;
						
					КонецЕсли;
				КонецЕсли;
				
				// Формирование движений по регистру "Незавершенное производство".
				СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					ВыборкаПоЗатратам,
					ВыборкаПоЗатратам.СтатьяЗатрат,
					Неопределено, // ХарактерЗатрат,
					ВыборкаПоЗатратам.Затрата,
					ВыборкаПоЗатратам.ХарактеристикаЗатраты,
					ВыборкаПоЗатратам.СерияЗатраты,
					НомерПередела,
					СписатьКоличествоИзНЗП,
					СписатьСуммаИзНЗП,
					СписатьПостояннаяРазницаИзНЗП,
					СписатьВременнаяРазницаИзНЗП,
					ВидДвиженияНакопления.Расход,
					НаборЗаписейНезавершенноеПроизводство
				);
				
			КонецЕсли;
			
			ВыборкаПоЗатратам = Новый Структура;
			
			ВыборкаПоЗатратам.Вставить("ВестиУчетПоСериямВНЗП", ВыборкаПоЗатратамНаВыпуск.НЗП_ВестиУчетПоСериямВНЗП);
			ВыборкаПоЗатратам.Вставить("ВидЗатрат", ВыборкаПоЗатратамНаВыпуск.НЗП_ВидЗатрат);
			ВыборкаПоЗатратам.Вставить("ВстречныйВыпуск", ВыборкаПоЗатратамНаВыпуск.НЗП_ВстречныйВыпуск);
			ВыборкаПоЗатратам.Вставить("Заказ", ВыборкаПоЗатратамНаВыпуск.НЗП_Заказ);
			ВыборкаПоЗатратам.Вставить("Затрата", ВыборкаПоЗатратамНаВыпуск.НЗП_Затрата);
			ВыборкаПоЗатратам.Вставить("Количество", ВыборкаПоЗатратамНаВыпуск.НЗП_Количество);
			ВыборкаПоЗатратам.Вставить("КоличествоОстаток", ВыборкаПоЗатратамНаВыпуск.НЗП_КоличествоОстаток);
			ВыборкаПоЗатратам.Вставить("КоличествоРасход", ВыборкаПоЗатратамНаВыпуск.НЗП_КоличествоОстаток);
			ВыборкаПоЗатратам.Вставить("НоменклатурнаяГруппа", ВыборкаПоЗатратамНаВыпуск.НЗП_НоменклатурнаяГруппа);
			ВыборкаПоЗатратам.Вставить("Подразделение", ВыборкаПоЗатратамНаВыпуск.НЗП_Подразделение);
			ВыборкаПоЗатратам.Вставить("СерияЗатраты", ВыборкаПоЗатратамНаВыпуск.НЗП_СерияЗатраты);
			ВыборкаПоЗатратам.Вставить("СтатусМатериальныхЗатрат", ВыборкаПоЗатратамНаВыпуск.НЗП_СтатусМатериальныхЗатрат);
			ВыборкаПоЗатратам.Вставить("СтатьяЗатрат", ВыборкаПоЗатратамНаВыпуск.НЗП_СтатьяЗатрат);
			ВыборкаПоЗатратам.Вставить("Стоимость", ВыборкаПоЗатратамНаВыпуск.НЗП_Стоимость);
			ВыборкаПоЗатратам.Вставить("СтоимостьОстаток", ВыборкаПоЗатратамНаВыпуск.НЗП_СтоимостьОстаток);
			
			Если (СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
				ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете) Тогда
				
				ВыборкаПоЗатратам.Вставить("СчетУчета", ВыборкаПоЗатратамНаВыпуск.НЗП_СчетУчета);
				
			КонецЕсли;
			
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				
				ВыборкаПоЗатратам.Вставить("ВременнаяРазница", ВыборкаПоЗатратамНаВыпуск.НЗП_ВременнаяРазница);
				ВыборкаПоЗатратам.Вставить("ВременнаяРазницаОстаток", ВыборкаПоЗатратамНаВыпуск.НЗП_ВременнаяРазницаОстаток);
				ВыборкаПоЗатратам.Вставить("ПостояннаяРазница", ВыборкаПоЗатратамНаВыпуск.НЗП_ПостояннаяРазница);
				ВыборкаПоЗатратам.Вставить("ПостояннаяРазницаОстаток", ВыборкаПоЗатратамНаВыпуск.НЗП_ПостояннаяРазницаОстаток);
				
			КонецЕсли;
			
			ВыборкаПоЗатратам.Вставить("ХарактеристикаЗатраты", ВыборкаПоЗатратамНаВыпуск.НЗП_ХарактеристикаЗатраты);
			
			КоличествоЗатратНаВыпуск = ВыборкаПоЗатратам.Количество;
			
			СуммаЗатратНаВыпуск = ВыборкаПоЗатратам.Стоимость;
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				СуммаЗатратНаВыпуск = СуммаЗатратНаВыпуск 
				+ ВыборкаПоЗатратам.ПостояннаяРазница
				+ ВыборкаПоЗатратам.ВременнаяРазница;
			КонецЕсли;
			
			КоличествоНЗП = ВыборкаПоЗатратам.КоличествоОстаток;
			
			СуммаНЗП = ВыборкаПоЗатратам.СтоимостьОстаток;
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				ПостояннаяРазницаНЗП = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
				ВременнаяРазницаНЗП = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
			Иначе
				ПостояннаяРазницаНЗП = 0;
				ВременнаяРазницаНЗП = 0;
			КонецЕсли;
			
			ОбщаяСуммаНЗП = СуммаНЗП + ПостояннаяРазницаНЗП + ВременнаяРазницаНЗП;
			
			СписатьКоличествоИзНЗП = 0;	
			СписатьСуммаИзНЗП = 0;
			СписатьПостояннаяРазницаИзНЗП = 0;
			СписатьВременнаяРазницаИзНЗП = 0;
			
			ВсегоЗатратыНаВыпуск = 0;
			ВсегоЗатратыНаВыпускПостояннаяРазница = 0;
			ВсегоЗатратыНаВыпускВременнаяРазница = 0;
			
		КонецЕсли;
		
		Если ВыборкаПоЗатратамНаВыпуск.ЕстьВыпускПродукции = NULL 
			И ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска = NULL Тогда
			
			Продолжить;
			
		КонецЕсли;
		
		Если ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
			И Не ВыборкаПоЗатратамНаВыпуск.ВстречныйВыпуск Тогда
			Продолжить;
		ИначеЕсли Не ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
			И ВыборкаПоЗатратамНаВыпуск.ВстречныйВыпуск Тогда
			Продолжить;
		ИначеЕсли ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
			И Не РасчетЗатратВстречногоВыпуска Тогда
			Продолжить;
		КонецЕсли;
		
		// Пропускаем записи по которым нет выпуска продукции.
		Если Не ВыборкаПоЗатратамНаВыпуск.ЕстьВыпускПродукции Тогда
			Продолжить;
		КонецЕсли;
		
		ВсегоЗатратыНаВыпуск = ВсегоЗатратыНаВыпуск + ВыборкаПоЗатратамНаВыпуск.Стоимость;
		Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
			ВсегоЗатратыНаВыпускПостояннаяРазница = ВсегоЗатратыНаВыпускПостояннаяРазница + ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
			ВсегоЗатратыНаВыпускВременнаяРазница = ВсегоЗатратыНаВыпускВременнаяРазница + ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
		КонецЕсли;
		
		СуммаЗатрат = 0;
		СуммаЗатратПостояннаяРазница = 0;
		СуммаЗатратВременнаяРазница = 0;
		КоличествоИзНЗП = 0;
		СуммаИзНЗП = 0;
		ПостояннаяРазницаИзНЗП = 0;
		ВременнаяРазницаИзНЗП = 0;
		
		// Если производится списание затрат на продукцию, исключаемую из базы распределения,
		// стоимость такой продукции не корректируем. 
		Если ВыборкаПоЗатратамНаВыпуск.ЕстьИсключаемаяНоменклатура 
			И (РасчетКосвенныхЗатрат ИЛИ РасчетЗатратВстречногоВыпуска) Тогда
			
			КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
			СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
			ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
				ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
				
				ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
								- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
			КонецЕсли;
			
			Продолжить;
			
		КонецЕсли;
		
		Если ВыборкаПоЗатратамНаВыпуск.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП
			И Не РасчетЗатратВстречногоВыпуска
			Тогда
			
			КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
			СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
			ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
				ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
				
				ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
								- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
			КонецЕсли;
			
		КонецЕсли;
		
		Если ВыборкаПоЗатратам.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные Тогда
			РассчитатьСуммыСписанияИКорректировкиМатериальныхЗатрат(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратамНаВыпуск,
				КодыОперацийФиксСтоимость,
				КоличествоНЗП,
				СуммаНЗП,
				ПостояннаяРазницаНЗП,
				ВременнаяРазницаНЗП,
				ОбщаяСуммаНЗП,
				КоличествоЗатратНаВыпуск,
				РасчетКосвенныхЗатрат,
				РасчетЗатратВстречногоВыпуска,
				СуммаЗатрат,
				СуммаЗатратПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				КоличествоИзНЗП,
				СуммаИзНЗП,
				ПостояннаяРазницаИзНЗП,
				ВременнаяРазницаИзНЗП
			);
			
			// Расчет сумм списания для нематериальных затрат.		
		ИначеЕсли Не РасчетКосвенныхЗатрат Тогда
			РассчитатьСуммыСписанияНематериальныхЗатрат(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратамНаВыпуск,
				СуммаНЗП,
				ПостояннаяРазницаНЗП,
				ВременнаяРазницаНЗП,
				ОбщаяСуммаНЗП,
				СуммаЗатратНаВыпуск,
				РасчетЗатратВстречногоВыпуска,
				СуммаЗатрат,
				СуммаЗатратПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				СуммаИзНЗП,
				ПостояннаяРазницаИзНЗП,
				ВременнаяРазницаИзНЗП
			);
		КонецЕсли;
		
		Если Не РасчетЗатратВстречногоВыпуска И ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска Тогда
			СуммаЗатрат = 0;
		КонецЕсли;
		
		СписатьКоличествоИзНЗП = СписатьКоличествоИзНЗП + КоличествоИзНЗП;	
		СписатьСуммаИзНЗП = СписатьСуммаИзНЗП + СуммаИзНЗП;
		СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП + ПостояннаяРазницаИзНЗП;
		СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП + ВременнаяРазницаИзНЗП;
		
		ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
		
		// Формирование движений по регистру "Затраты на выпуск".
		СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииПрямыеЗатраты(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВыборкаПоЗатратамНаВыпуск,
			Ложь, // РаспределениеЗатратПоБазе,
			РасчетКосвенныхЗатрат, // КосвенныеЗатраты,
			РасчетЗатратВстречногоВыпуска, // ЗатратыВстречногоВыпуска,
			0, // Количество
			СуммаЗатрат,
			СуммаЗатратПостояннаяРазница,
			СуммаЗатратВременнаяРазница,
			НаборЗаписейЗатратыНаВыпуск
		);
		
		// Формирование движений по регистру бухгалтерии.	
		Если Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
			И ВыборкаПоЗатратам.СтатусМатериальныхЗатрат <> Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
			И (ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппа <> ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппаНЗП
			ИЛИ ВыборкаПоЗатратамНаВыпуск.Подразделение <> ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП 
			И ЗначениеЗаполнено(ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП)) Тогда
			
			СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
				СтруктураШапкиДокумента,
				СтруктураШапкиДокумента.ВидОтраженияВУчете,
				ВыборкаПоЗатратам,
				ВыборкаПоЗатратамНаВыпуск,
				ВыборкаПоЗатратам.СтатьяЗатрат,
				Перечисления.ХарактерЗатрат.ПроизводственныеРасходы,
				СуммаИзНЗП,
				ПостояннаяРазницаИзНЗП,
				ВременнаяРазницаИзНЗП,
				РегистрБухгалтерииНаборЗаписей
			);
			
		КонецЕсли;
		
	КонецЦикла;
	
	// Это не первый прогон, нужно закрыть все что после цикла
	Если РасчетЗатратВстречногоВыпуска
		И СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска
		И ВыборкаПоЗатратам.ВстречныйВыпуск Тогда
		
		Если ВыборкаПоЗатратам.КоличествоРасход <> 0 Тогда
			
			СписатьКоличествоИзНЗП = 0;
			СписатьСуммаИзНЗП = СписатьСуммаИзНЗП - ВсегоЗатратыНаВыпуск;
			
			Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда
				СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП - ВсегоЗатратыНаВыпускПостояннаяРазница;
				СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП - ВсегоЗатратыНаВыпускВременнаяРазница;
			КонецЕсли;
			
		КонецЕсли;
	КонецЕсли;
	
	// Формирование движений по регистру "Незавершенное производство".
	СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат(
		СтруктураШапкиДокумента,
		ВыборкаПоЗатратам,
		ВыборкаПоЗатратам.СтатьяЗатрат,
		Неопределено, // ХарактерЗатрат,
		ВыборкаПоЗатратам.Затрата,
		ВыборкаПоЗатратам.ХарактеристикаЗатраты,
		ВыборкаПоЗатратам.СерияЗатраты,
		НомерПередела,
		СписатьКоличествоИзНЗП,
		СписатьСуммаИзНЗП,
		СписатьПостояннаяРазницаИзНЗП,
		СписатьВременнаяРазницаИзНЗП,
		ВидДвиженияНакопления.Расход,
		НаборЗаписейНезавершенноеПроизводство
	);
	
	
КонецПроцедуры // РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции()
Функция СравнитьЗначенияСтруктурыИСтрокиТЗ(СтруктраДанных, СтрТЗ, Параметры)
	
	Если ТипЗнч(СтруктраДанных) <> Тип("Структура") ИЛИ ТипЗнч(СтрТЗ) <> Тип("СтрокаТаблицыЗначений") Тогда
		
		Возврат Ложь;
		
	КонецЕсли;	
	
	ДанныеОдинаковые = Истина;
	
	Если СтруктраДанных.Подразделение				<> СтрТЗ.НЗП_Подразделение
		ИЛИ СтруктраДанных.НоменклатурнаяГруппа		<> СтрТЗ.НЗП_НоменклатурнаяГруппа
		ИЛИ СтруктраДанных.Заказ					<> СтрТЗ.НЗП_Заказ
		ИЛИ СтруктраДанных.СтатьяЗатрат				<> СтрТЗ.НЗП_СтатьяЗатрат
		ИЛИ СтруктраДанных.Затрата					<> СтрТЗ.НЗП_Затрата
		ИЛИ СтруктраДанных.ХарактеристикаЗатраты	<> СтрТЗ.НЗП_ХарактеристикаЗатраты
		Тогда
		
		Возврат Ложь;
		
	КонецЕсли;
	
	Если СтрТЗ.НЗП_ВестиУчетПоСериямВНЗП Тогда
		
		Если СтруктраДанных.СерияЗатраты <> СтрТЗ.НЗП_СерияЗатраты Тогда
				
			Возврат Ложь;
				
		КонецЕсли;
		
	КонецЕсли;
		
	Если (Параметры.СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ Параметры.СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)
	   И СтрТЗ.НЗП_СтатусМатериальныхЗатрат <> Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку Тогда
	   
		Если СтруктраДанных.СчетУчета <> СтрТЗ.НЗП_СчетУчета Тогда
				
			Возврат Ложь;
				
		КонецЕсли;
		
	КонецЕсли; 
		
	Возврат ДанныеОдинаковые;
	
КонецФункции // СравнитьЗначенияСтруктурыИСтрокиТЗ(СтруктраДанных, СтрТЗ)()

// -Dmitry Fokin <dkoder.dvl@gmail.com> 2020-02-04

 

 

Код можно посмотреть https://github.com/dmitryfokin/upp-raschet-sebestoimosti

Скачать файлы

Наименование Файл Версия Размер
Небольшая оптимизация расчета себестоимости в УПП (партионный учет):

.zip 7,45Kb
06.02.20
0
.zip 7,45Kb Скачать

Специальные предложения

Оставьте свое сообщение

См. также

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) Промо

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    41875    247    informa1555    202    

Методика использования характеристик номенклатуры для снижения на порядок количества ресурсных спецификаций в ERP

Производство готовой продукции (работ, услуг) Пользователю системы Бухгалтерский учет Производство готовой продукции (работ, услуг) v8 ERP2 Россия УУ Абонемент ($m)

Представлена оригинальная методика использования характеристик номенклатуры для снижения на порядок количества ресурсных спецификаций в ERP, опробованная на предприятии радиоэлектронной продукции с количеством изделий в несколько тысяч наименований. Данная методика использует кодирование конструкторской документации и использование этих кодов для формирования правильной структуры изделия (раскомплекта). Эта методика подойдет для построения любых спецификаций, основанных на конструкторской документации по ГОСТ 2.103-2013 Дополнено 08.08.2019: Устранение "бесконечных рекурсий" в ресурсных спецификациях...

1 стартмани

23.07.2019    4989    11    rechvladmir    2    

Заполнение плановой себестоимости продукции в документе "Отчет производства за смену" для Бухгалтерии 3.0

Обработка документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Заполнение значения Плановая стоимость продукции для документа "Отчет производства за смену" для Бухгалтерии предприятия 3.0 по данным списания материалов.

1 стартмани

13.03.2019    5977    8    aleksandr_leiman    4    

Аналоги материалов в "Отчёте производства за смену"

Обработка документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

С помощью данного расширения в документе "Отчёт производства за смену" можно автоматически заменить отсутствующие материалы на их аналоги.

2 стартмани

05.03.2019    5352    4    Andrey_Fokin    0    

Формирование файла XML документа для выгрузки в M.E.Doc (Медок) (обычные формы)

Обмен через XML Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 1cv8.cf Украина БУ Абонемент ($m)

Не все организации используют FREDO, а сервис обмена документами в электронном формате набирает популярность. В качестве альтернативы можно сформировать файл XML документа и загрузить его в M.E.Doc, с дальнейшим подписанием и отправкой контрагенту.

1 стартмани

04.03.2019    4155    19    Batman    4    

Создание пакета документов из Заказа клиента для УТ 11.4 (расширение)

Обработка документов Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::ОУ v8::УФ УТ11 Россия БУ УУ Абонемент ($m)

Создание пакета документов из Заказа клиента для УТ 11.4. В пакете формируются документы Акт передачи прав, по товарам без НДС, Реализация товаров и услуг, по товарам с НДС, и отдельно формируется Акт выполненных работ по услугам. Еще формируется Счет фактура в тех случаях, когда она требуется. Сделано в виде расширения.

5 стартмани

17.02.2019    3761    10    ret    2    

Копирование меню в Трактир Management Промо

Обработка документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 1cv8.cf Рестораны, кафе и фаст-фуд Россия УУ Абонемент ($m)

Механизм копирования меню в Трактир Management. Данная обработка расширяет функционал типового решения Трактир Management, позволяя быстро вводить в эксплуатацию новую точку путём создания нового меню на основании имеющегося.

1 стартмани

28.11.2017    26631    4    integrator1983    0    

Периодическая рассылка печатных форм контрагентам / группам

Email Документооборот и делопроизводство Производство готовой продукции (работ, услуг) Документооборот и делопроизводство Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 БУ Абонемент ($m)

Ваша организация оказывает одни и те же услуги каждый месяц? Надоело выставлять счета? Вам поможет доработка "Периодическое создание документов "Реализация товаров и услуг" и рассылка печатных форм на электронные адреса контрагентам/группам".

10 стартмани

20.11.2018    7075    10    pyrkin_vanya    0    

Развернуть дерево спецификаций быстро

Производство готовой продукции (работ, услуг) Обработка справочников Практика программирования Производство готовой продукции (работ, услуг) v8 УПП1 БУ УУ Абонемент ($m)

Подход, позволяющий развернуть составы нескольких изделий минимальным количеством запросов.

10 стартмани

23.10.2018    8815    6    SITR-utyos    7    

АРМ "Производство" для УНФ

Рабочее место Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УНФ Россия УУ Абонемент ($m)

Обработка для автоматического создания документов "Заказы на производство" и "Производство" на основании заказов покупателей

1 стартмани

18.03.2018    8116    31    ketr    4    

Gant 1C 2.* - диаграмма Ганта с таблицей + Планировщик + Отчет (8.1, на управляемой форме/Такси 8.2, 8.3) Промо

Рабочее место Универсальные обработки Управление проектом Финансовый учет и бюджетирование (FRP) Производство готовой продукции (работ, услуг) Учет рабочего времени Финансовый учет и бюджетирование (FRP) Производство готовой продукции (работ, услуг) Учет рабочего времени v8 1cv8.cf УУ Абонемент ($m)

Внешняя обработка, аналог MS Project в 1Се для работы с задачами: параллельный ввод данных по задачам и график Ганта, дополнительный режим в виде календаря (планировщик), связывание задач и пересчет длительности и дат с учетом выходных, видов связей и запаздываний, расчет затрат, сохранение/открытие проектов в файл на диск или файл ИБ, импорт/экспорт документов Microsoft Project.

1 стартмани

02.12.2011    137234    1069    rare-avis    210    

Очистка видов запасов

Обработка документов Производство готовой продукции (работ, услуг) Учет ТМЦ Производство готовой продукции (работ, услуг) Учет ТМЦ v8 ERP2 Россия БУ Абонемент ($m)

В ERP бывает (у меня было 3 раза в разных организациях), что переходят от учет видов запасов с общего по организации на учет видов запасов по группам финансового учета номенклатуры (группа устанавливается устанавливается в карточке номенклатуры). При этом работа уже идет, документы остатков и производства введены в базе. Итак, поменяли учет видов запасов по группам фин. учета номенклаутры и начинают формировать проводки или еще какие-то операции, но теперь что-то не заполняется в проводках или остатки расходятся, вот тебе раз... В этом случае нужно очищать скрытые таблицы с видами запасов в документах и перепроводить документы в хронологическом порядке, чтобы виды запасов установились корректно в соответсвтии с группами фин учета номенклатуры. Это обработка и делает.

1 стартмани

28.02.2018    13307    76    sapervodichka    7    

Рассылка счетов, актов и счетов-фактур для БП 3.0 Промо

Email Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 БП3.0 БУ Абонемент ($m)

Еще одна рассылка, теперь для Бухгалтерии 3.0. Использует встроенные учетные записи и почтовые механизмы. Файлы для отправки формируются только из заданных внешних печатных форм, перед отправкой документы сохраняются в PDF.

1 стартмани

16.02.2014    28090    185    @Sonya    36    

Заполнение счета на оплату по списку расходных накладных для 1С: УНФ 1.6

Обработка документов Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 УНФ Россия Абонемент ($m)

Расширение для конфигурации 1С Управление нашей фирмой 1.6, позволяющее заполнять таблицу "Товары" счета на оплату покупателю на основании списка расходных накладных.

3 стартмани

15.12.2017    7128    4    Grigoripal    5    

Обработка спецификаций и маршрутных карт для ERP

Обработка справочников Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 ERP2 УУ Абонемент ($m)

Обработка, которая позволяет выполнять полезные действия со спецификациями и маршрутными картами в конфигурации 1С:ERP 2. Действий этих в типовой конфигурации нет, а зря, они хоть и сервисные, но на нашем предприятии сильно сократили работу сотрудникам производственных служб предприятия. По спецификациям: создать спецификации на основе маршрутных карт; установить спецификации основными (сразу несколько); заполнить обеспечение материалов по основным спецификациям. По маршрутным картам: заполнить операции по шаблону; очистить трудозатраты. Так же есть просмотр материалов спецификации с возможностью добавления произвольных колонок (через динамический список)

2 стартмани

24.11.2017    11222    32    DmitrySinichnikov    3    

Групповая отправка счетов на оплату для 1С:Бухгалтерии 3.0

Email Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия Абонемент ($m)

Групповая отправка счетов на оплату для 1С:Бухгалтерии 3.0, которая взаимодействует с основными модулями Бухгалтерии 3.0.

3 стартмани

31.10.2017    9957    26    n3mber    14    

Встречный выпуск (обработка) для УПП ред. 1.3 Промо

Закрытие периода Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УПП1 Россия БУ УУ Абонемент ($m)

Обработка предназначена для выявления встречных выпусков по БУ и УПР учетам.

2 стартмани

23.09.2013    30885    100    kurmanov    8    

Групповая выгрузка налоговых накладных в XML (Бухгалтерия для Украины 2.0, управляемые формы)

Обработка документов Обмен через XML Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::БУ v8::УФ 1cv8.cf Украина НУ НДС Абонемент ($m)

Групповая выгрузка налоговых накладных в XML (Бухгалтерия для Украины 2.0, управляемые формы). Без регистрации внешних регламентированных отчетов. Используются штатные механизмы конфигурации.

1 стартмани

24.07.2017    15023    35    Batman    19    

Пакетный ввод документов по реализации услуг для Бухгалтерии предприятия 3.0

Обработка документов Производство готовой продукции (работ, услуг) Пакетная печать Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Обработка предназначена для группового создания и\или обновления счетов, актов и счетов-фактур на "периодические" услуги, то есть услуги, расчеты по которым производятся ежемесячно (ежеквартально, ежегодно, например, арендная плата, кабельное телевидение, вывоз мусора, абонентное обслуживание сервисным центром и т. п.).

3 стартмани

04.07.2017    12469    42    manas    32    

Расширение для удобства заполнения формы Доставки документа Реализация товаров и услуг. БП 3.0

Обработка документов Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Возможно, кому нибудь пригодится и будет полезным, особенно тем, кто имеет свой автопарк и водителей (или используют наёмных одних и тех же водителей с закрепленными за ними авто, для доставки). Т.к. в этом случае приходится каждый раз заполнять поля Автомобиль, номер и водительское удостоверение одними и теми же значениями, было принято решение немного автоматизировать этот процесс.

1 стартмани

27.06.2017    8556    18    foxsis    7    

Производство в УТ11.2 (Документ "Отчет производства за смену" для Управления торговлей с выгрузкой в БП3.0)

Производство Производство готовой продукции (работ, услуг) Обработка документов Производство готовой продукции (работ, услуг) v8 УТ11 Россия УУ Абонемент ($m)

Для конфигурации Управление торговлей 11.2 разработан документ "Отчет производства за смену" по мотивам аналогичного документа в БП. В данном cf содержится только сам объект-документ и роль для этого документа. Таким образом в конфигурации УТ возможно вести полноценный (на уровне БП) производственный управленческий учет. Также в комплекте идут обработки для выгрузки из УТ и загрузки в БП производственных документов.

5 стартмани

16.05.2017    16204    25    kondi55    9    

Конструктор спецификаций (Дерево ресурсных спецификаций) для 1С: Комплексная автоматизация 2

Обработка справочников Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 КА2 Россия БУ УУ Абонемент ($m)

Дерево ресурсных спецификаций - дополнительная внешняя обработка. Обработка разворачивает состав изделия в виде дерева по указанной спецификации с разузлованием до нижнего уровня. Может быть полезна всем производственным службам.

2 стартмани

19.04.2017    8482    53    SergeiSh    0    

Обмен с iЗаказ для iPad Промо

Внешние источники данных Комиссионная торговля Монитор заказов Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Комиссионная торговля Монитор заказов Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля v8 УТ10 Розница УПП1 УНФ Абонемент ($m)

Обработка обмена с iЗаказ - приложением для iPad, которое позволяет оформлять Заказы покупателей и выгружать их в 1С-конфигурации. iЗаказ в AppStore: http://itunes.apple.com/us/app/izakaz/id445283818?mt=8 *** Бесплатная версия iЗаказ Lite : https://itunes.apple.com/us/app/izakaz-lite/id840053975?mt=8 Работает с конфигурациями: - 1С v8.2 Управление небольшой фирмой, ред.1.4 - 1C v8.2 Управление торговлей (ред.11) - 1C v8.2 Управление торговлей (ред.10) - 1С v8.2 Альфа-Авто (ред.4) Возможна адаптация для работы с любой конфигурацией 1С. По этому вопросу обращайтесь olistudio.ru@gmail.com

1 стартмани

17.09.2012    18735    0    olistudio    4    

Заполнение документа "Отчет производства за смену" по данным реализации готовой продукции

Производство готовой продукции (работ, услуг) Обработка документов Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Обработка заполнения документа "Отчет производства за смену" по данным реализации готовой продукции. Тестировалось на релизе БП3.0 (3.0.47.33)

1 стартмани

25.03.2017    6757    45    ale121984    14    

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

Производство готовой продукции (работ, услуг) Обработка документов Производство готовой продукции (работ, услуг) v8 КА1 УПП1 БУ Абонемент ($m)

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

1 стартмани

21.11.2016    19451    92    Alex1Cnic    8    

История одной конфигурации Промо

Производство готовой продукции (работ, услуг) Управленческий учет (прочее) v8 Россия Абонемент ($m)

История разработки конфигурации по учету договоров или как я учился программировать в 1С

1 стартмани

07.09.2012    18956    3    RuslanZ    13    

Пакетная печать документов (реализации, счета-фактуры выданные и т.д.), возможность фонового формирования

Пакетная печать Печатные формы документов Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 БП2.0 БУ Абонемент ($m)

Пакетная печать документов для Бухгалтерии 3. Возможность фоновой печати документов (Отправляете на печать кучу документов и не ждете формирования, а продолжаете работать). Реализованы для фона документы (Реализация и С/Ф выданная) (код открыт)

1 стартмани

25.10.2016    12133    25    Legavaz    4    

Оптимизация расчета себестоимости выпуска продукции (УПП 1.3, Партионный учет)

Практика программирования Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УПП1 БУ Абонемент ($m)

В результате выполненных доработок удалось уменьшить время проведения Регламентной операции "Рассчитать себестоимость (БУ, НУ)" в два и более раза, а в отдельных операциях (Распределение продукции и затрат по переделам) удалось достичь 7-ми кратного уменьшения времени проведения!

1 стартмани

23.08.2016    14643    28    linkov    23    

Выставление счета на Яндекс.Деньги для УНФ 1.6 (VISA, MasterCard через ЯД)

Email WEB Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 УНФ Россия Абонемент ($m)

Обработка автоматического выставления счета через Яндекс.Деньги для УНФ 1.6. На основании документов "Счет на оплату" или "Расходная накладная" формируется счет на оплату в сервисе Яндекс.Деньги. На e-mail клиента приходит письмо с детализацией заказа и кнопкой Оплатить. Его можно оплатить как Яндекс.Деньгами, так и кредитной картой Visa, MasterCard

1 стартмани

17.08.2016    14217    14    hlopik    1    

Загрузка накладных из EXCEL средствами ADODB в Бухгалтерию 3.0

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 БП2.0 Россия БУ Абонемент ($m)

Внешняя обработка загрузки данных из электронных таблиц (MS EXCEL, Open office Calc) без использования медленного COM-соединения. Загрузка накладных из файла Счета-фактура в формате EXCEL в Бухгалтерию 3.0.

1 стартмани

29.06.2016    10532    43    woldemarr    8    

Набор тестов xUnit для ERP2, блок Производство

Инструментарий разработчика Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 ERP2 Россия Абонемент ($m)

Набор тестовых обработок, эмулирующих цепочку документов по блоку Производство в конфигурации ERP 2.1

1 стартмани

24.04.2016    18950    29    acsent    26    

Печатная форма заказ-наряда для Альфа-Авто с выделением товаров и работ по обращению клиента и дополнительно предложенных сервисным консультантом

Обработка документов Печатные формы документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 1cv8.cf Автомобили, автосервисы Россия УУ Абонемент ($m)

Развитие системы учета рекомендаций в Альфа-Авто - 5ой версии не нашло совего отражения в печатных формах первичных документов. В то же время дистрибьюторы различных автомобильных брэндов, пытаясь отладить бизнес процессы диллеров, активно требуют выделять в документах запчасти и работ проданные по обращению клиента и дополнительно предложенные сотрудниками предприятия. Предлагаемая публикация ориентирована на пользоваталей типового отраслевого решения Альфа-Авто как 4 так и 5ой версии. Для пользователей 4-ой версии покажем как небольшая "доработка напильником" позволит воспользоваться предлагаемым функционалом

1 стартмани

12.04.2016    53997    6    miavolas    12    

Графическое планирование для документа "План производства по сменам" Промо

Производство готовой продукции (работ, услуг) Обработка документов Работа с интерфейсом Производство готовой продукции (работ, услуг) v8 УПП1 Россия УУ Абонемент ($m)

К вниманию предлагается внешняя обработка табличной части документа УПП "План производства по сменам" позволяющая выполнять планирование производства продукции в удобном графическом виде. Хочется узнать, есть ли потребность в такой разработке среди пользователей УПП.

1 стартмани

20.12.2012    23038    12    INTECH1    20    

Создание "Отчета производства за смену" на основании списка реализаций (за каждый день периода)

Обработка документов Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УПП1 БП3.0 КА2 Россия БУ Абонемент ($m)

Обработка на основании списка документов "Реализация товаров и услуг", выбранных или заполненных автоматически за любой период и по номенклатурной группе, создает один сводный документ "Отчет производства за смену" (вариант 1). Или же создаются отдельные документы за каждый день выбранного периода (вариант 2)

2 стартмани

11.04.2016    16409    82    mirrr    16    

Договоры (Расширенная форма списка) [Расширение]

Обработка справочников Дебиторская и кредиторская задолженность Оптовая торговля Производство готовой продукции (работ, услуг) Дебиторская и кредиторская задолженность Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::БУ БП3.0 БУ Абонемент ($m)

Красивая и удобная форма списка для справочника "Договоры". Задолженность по договору, быстрое создание документов, переход к общему журналу документов по договору.

5 стартмани

02.02.2016    22595    30    mrXoxot    7    

Загрузка из Excel Промо

Загрузка и выгрузка в Excel Производство готовой продукции (работ, услуг) Учет ТМЦ Производство готовой продукции (работ, услуг) Учет ТМЦ v8 УПП1 Россия Абонемент ($m)

Обработка для загрузки из товарной накладной / заявки (Excel) данных в справочник Номенклатура, регистр сведений Номенклатура контрагентов и табличную часть документа Поступление товаров и услуг. UPD: добавлены возможности загрузки перемещения из накладной и из лимитки и отчета производства из производственного листа UPD: добавлена загрузка оприходования, исправлены мелкие ошибки UPD: добавлен новая версия обработки (от 2017 года) с артикулами и штрихкодами

1 стартмани

27.02.2012    12965    19    FullMoon    10    

Создание документа "Перемещение товаров" на основании документа "Отчет производства за смену"

Обработка документов Производство готовой продукции (работ, услуг) Учет ТМЦ Производство готовой продукции (работ, услуг) Учет ТМЦ v8 БП2.0 БУ Абонемент ($m)

Обработка позволяет создавать документ "Перемещение товаров" на основании документа "Отчет производства за смену"

1 стартмани

18.12.2015    10191    20    demaxim    2    

Конфигурация "Элементарная торговля" на платформе 1С 8 для учета продаж и комплектации товаров, реализации услуг

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Пользователю системы Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля v8 УУ Абонемент ($m)

Конфигурация Элементарная Торговля. Версия 190825 Минимальная версия платформы - 8.3.13 Конфигурация подойдёт для автоматизации большого числа видов бизнеса на небольших предприятиях.

1 стартмани

06.11.2015    21890    66    SergiyZh    18    

Счет на оплату покупателю + отправка по электронной почте Промо

Печатные формы документов Email Оптовая торговля Производство готовой продукции (работ, услуг) Оптовая торговля Производство готовой продукции (работ, услуг) v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

Внешняя печатная форма для документа "Счет на оплату покупателю". Отправляет по электронной почте сформированный файл печатной формы в формате *.xls.

1 стартмани

13.11.2012    26532    15    siranush    9    

Загрузка номенклатуры из интернета по штрих-коду EAN13 (не управляемый интерфейс)

Обработка справочников WEB Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ТМЦ v8 КА1 УТ10 Розница УПП1 Абонемент ($m)

Сколько времени вы тратите на оприходование новых товаров, которые отсутствуют в вашем справочнике Номенклатура? По моим личным наблюдениям это время варьируется от 30 секунд до 20 минут. Забивка документа «Поступления товаров и услуг» по бумажной накладной Торг-12 из 300 позиций может занимать пару дней (учитываем фактический пересчет). Ниже я расскажу Вам о том, как можно создавать карточки товаров в порядки раз быстрее, с наиболее полной и точной информацией о товаре

1 стартмани

12.10.2015    20155    75    maguga    23