Ресурсные спецификации / Форма выбора по номенклатуре / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	УстановитьУсловноеОформление();
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	ПараметрыВыбораСпецификаций = УправлениеДаннымиОбИзделияхКлиентСервер.ПараметрыВыбораСпецификаций();
	ПараметрыВыбораСпецификаций.Вставить("ПолучитьСпецификацииПоНоменклатуре", Ложь);
	ПараметрыВыбораСпецификаций.Вставить("ПолучитьСпецификацииПоСпискуНоменклатуры", Ложь);
	ПараметрыВыбораСпецификаций.Вставить("ИгнорируемыеПараметрыНазначения", Новый Массив);
	ПараметрыВыбораСпецификаций.Вставить("ИгнорируемыеУточненияПрименения", Новый Массив);
	ЗаполнитьЗначенияСвойств(ПараметрыВыбораСпецификаций, Параметры);
	
	Параметры.Свойство("ИсключитьСпецификацию", ИсключитьСпецификацию);
	
	Для каждого ТекущийОтбор Из СписокОтборовПоПараметрамНазначения() Цикл
		ИмяПараметра    = ТекущийОтбор.Ключ;
		ВидПараметра    = Перечисления.ВидыПараметровНазначенияСпецификаций[ИмяПараметра];
		Если НЕ Параметры.Свойство(ИмяПараметра)
				И ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Найти(ВидПараметра) = Неопределено Тогда
			ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Добавить(ВидПараметра);
		КонецЕсли;
	КонецЦикла;
	
	ДанныеОбИзделии = УправлениеДаннымиОбИзделияхКлиентСервер.СтруктураДанныхОбИзделииДляВыбораСпецификации();
	
	// Заполнение реквизитов по входящим данным
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре Тогда
		
		ЗаполнитьЗначенияСвойств(ДанныеОбИзделии, Параметры);
		
	ИначеЕсли ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры Тогда
	
		Если Параметры.ДанныеОбИзделиях.Количество() = 1 Тогда
			ЗаполнитьЗначенияСвойств(ДанныеОбИзделии, Параметры.ДанныеОбИзделиях[0]);
			ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре = Истина;
			ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры = Ложь;
		Иначе
			Для каждого ДанныеИзделия Из Параметры.ДанныеОбИзделиях Цикл
				ЗаполнитьЗначенияСвойств(ТаблицаПродукции.Добавить(), ДанныеИзделия);
			КонецЦикла;
		КонецЕсли;
		
	//++ Устарело_Производство21
	ИначеЕсли Параметры.Свойство("АдресТаблицыПродукции") Тогда // для совместимости с версией 2.1 (Документ.СписаниеЗатратНаВыпуск)
		
		Таблица = ПолучитьИзВременногоХранилища(Параметры.АдресТаблицыПродукции);
		Для каждого Строка Из Таблица Цикл
			НоваяСтрока = ТаблицаПродукции.Добавить();
			НоваяСтрока.Номенклатура           = Строка.Номенклатура;
			НоваяСтрока.Характеристика         = Строка.Характеристика;
			НоваяСтрока.НачалоПроизводства     = Строка.НачалоПроизводства;
			НоваяСтрока.ПодразделениеДиспетчер = Строка.Подразделение;
		КонецЦикла;
		
		ПараметрыВыбораСпецификаций = УправлениеДаннымиОбИзделияхКлиентСервер.ПараметрыВыбораСпецификацийНаИзготовлениеСборку();
		ПараметрыВыбораСпецификаций.Вставить("ПолучитьСпецификацииПоНоменклатуре", Ложь);
		ПараметрыВыбораСпецификаций.Вставить("ПолучитьСпецификацииПоСпискуНоменклатуры", Истина);
		
	//-- Устарело_Производство21
	Иначе
		
		ВызватьИсключение НСтр("ru = 'Для открытия формы необходимо передать параметры.'");
		
	КонецЕсли;
	
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры Тогда
		Таблица = ТаблицаПродукции.Выгрузить();
		Для каждого Колонка Из Таблица.Колонки Цикл
			Если ДанныеОбИзделии.Свойство(Колонка.Имя) Тогда
				ДанныеОбИзделии[Колонка.Имя] = Новый Массив;
				ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
					ДанныеОбИзделии[Колонка.Имя], Таблица.ВыгрузитьКолонку(Колонка.Имя), Истина);
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
	УстановитьПараметрыСпискаСпецификаций();
	
	НастроитьЭлементыФормы();
	
	ОбновитьСписокСпецификаций();
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
	ПараметрыРазмещения.КоманднаяПанель = Элементы.ПодключаемыеКоманды;
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
	ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ОтборНаправлениеДеятельностиПриИзменении(Элемент)
	
	ОбновитьСписокСпецификаций();
	
КонецПроцедуры

&НаКлиенте
Процедура ОтборПодразделениеДиспетчерПриИзменении(Элемент)
	
	ОбновитьСписокСпецификаций();
	
КонецПроцедуры

&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
	
	ОбновитьСписокСпецификаций();
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	
	ЗаполнитьИнформационнуюСтроку();
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьСписок(Команда)

	ОбновитьСписокСпецификаций();

КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры

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

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура НастроитьЭлементыФормы()
	
	Элементы.Статус.Видимость = НЕ Параметры.Свойство("ДоступныеСтатусы") ИЛИ Параметры.ДоступныеСтатусы.Количество() <> 1;
	
	ОсновнойТипПроизводственногоПроцесса = Перечисления.ТипыПроизводственныхПроцессов.ПустаяСсылка();
	Если Параметры.Свойство("ДоступныеТипы") Тогда
		Элементы.ТипПроизводственногоПроцесса.Видимость = Параметры.ДоступныеТипы.Количество() <> 1;
		Если Параметры.ДоступныеТипы.Количество() = 1 Тогда
			ОсновнойТипПроизводственногоПроцесса = Параметры.ДоступныеТипы[0];
		КонецЕсли;
	КонецЕсли;
	
	// Заголовок
	Если НЕ Параметры.Свойство("Заголовок", Заголовок) Тогда
		ТекстПодстановки = "";
		Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре И ЗначениеЗаполнено(ДанныеОбИзделии.Номенклатура) Тогда
			ТекстПодстановки = СтрШаблон(" ""%1""", Строка(ДанныеОбИзделии.Номенклатура)
				+ ?(ДанныеОбИзделии.Характеристика.Пустая(),"",", "+Строка(ДанныеОбИзделии.Характеристика)));
		КонецЕсли;
		Если ЗначениеЗаполнено(ОсновнойТипПроизводственногоПроцесса) Тогда
			ТекстПодстановки = СтрШаблон("%1 (%2)", ТекстПодстановки, НРег(ОсновнойТипПроизводственногоПроцесса));
		КонецЕсли;
		Заголовок = СтрШаблон(НСтр("ru = 'Ресурсные спецификации%1'"), ТекстПодстановки);
	КонецЕсли;
	
	// Отборы
	Для каждого ТекущийОтбор Из СписокОтборовПоПараметрамНазначения() Цикл
		
		ИмяПараметра        = ТекущийОтбор.Ключ;
		ИмяОтбора           = ТекущийОтбор.Значение.ИмяОтбора;
		ПредставлениеОтбора = ТекущийОтбор.Значение.Представление;
		ЭлементОтбора       = Элементы[ИмяОтбора]; // ПолеФормы
		ВидПараметра        = Перечисления.ВидыПараметровНазначенияСпецификаций[ИмяПараметра];
		
		Если УправлениеДаннымиОбИзделияхПовтИсп.ВидПараметраНазначенияИспользуется(ВидПараметра) 
			И ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Найти(ВидПараметра) = Неопределено Тогда
			Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре
					И ЗначениеЗаполнено(ДанныеОбИзделии[ИмяПараметра]) Тогда
				ЗначениеОтбора = ДанныеОбИзделии[ИмяПараметра];
			ИначеЕсли ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры
					И ДанныеОбИзделии[ИмяПараметра].Количество() = 1
					И ЗначениеЗаполнено(ДанныеОбИзделии[ИмяПараметра][0]) Тогда
				ЗначениеОтбора = ДанныеОбИзделии[ИмяПараметра][0];
			Иначе
				ЗначениеОтбора = НСтр("ru = '<не указано>'");
			КонецЕсли;
			ЭлементОтбора.Заголовок = СтрШаблон(НСтр("ru = '%1: %2'"), ПредставлениеОтбора, ЗначениеОтбора);
			ЭлементОтбора.Видимость = Истина;
			ЭтотОбъект[ИмяОтбора]   = Истина;
		Иначе
			ЭлементОтбора.Видимость = Ложь;
		КонецЕсли;
		
	КонецЦикла;
	
	// Период действия
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре Тогда
		Дата = ДанныеОбИзделии.НачалоПроизводства;
	ИначеЕсли ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры 
		И ДанныеОбИзделии.НачалоПроизводства.Количество() = 1 Тогда
		Дата = ДанныеОбИзделии.НачалоПроизводства[0];
	КонецЕсли;
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "НачалоПроизводства", Дата);
	
	// Информация по параметрам выбора
	ЗаполнитьИнформациюПоПараметрамВыбораСпецификации();
	
КонецПроцедуры

#Область СписокСпецификаций

&НаСервере
Процедура ОбновитьСписокСпецификаций()
	
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре Тогда
		ЗаполнитьСписокСпецификацийПоНоменклатуре();
	ИначеЕсли ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры Тогда
		ЗаполнитьСписокСпецификацийПоТаблицеПродукции();
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьСписокСпецификацийПоНоменклатуре()
	
	Для каждого ТекущийОтбор Из СписокОтборовПоПараметрамНазначения() Цикл
		ИмяПараметра    = ТекущийОтбор.Ключ;
		ИмяОтбора       = ТекущийОтбор.Значение.ИмяОтбора;
		ВидПараметра    = Перечисления.ВидыПараметровНазначенияСпецификаций[ИмяПараметра];
		ИндексПараметра = ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Найти(ВидПараметра);
		Если ЭтотОбъект[ИмяОтбора] Тогда
			Если ИндексПараметра <> Неопределено Тогда
				ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Удалить(ИндексПараметра);
			КонецЕсли;
		Иначе
			Если ИндексПараметра = Неопределено Тогда
				ПараметрыВыбораСпецификаций.ИгнорируемыеПараметрыНазначения.Добавить(ВидПараметра);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
	ДанныеОбИзделии.НачалоПроизводства = Дата;
	
	Результат = УправлениеДаннымиОбИзделиях.СпецификацииИзделия(ДанныеОбИзделии, ПараметрыВыбораСпецификаций);
	
	Спецификации             = Новый Массив;
	ПриоритетнаяСпецификация = Справочники.РесурсныеСпецификации.ПустаяСсылка();
	
	Для Индекс = 0 По Результат.ВГраница() Цикл
		ТекущаяСпецификация = Результат[Индекс].Спецификация;
		Если ПриоритетнаяСпецификация.Пустая()
				И Результат[Индекс].ПодбираетсяАвтоматически = Истина Тогда
			ПриоритетнаяСпецификация = ТекущаяСпецификация;
		КонецЕсли;
		Если ТекущаяСпецификация <> ИсключитьСпецификацию Тогда
			Спецификации.Добавить(ТекущаяСпецификация);
		КонецЕсли;
	КонецЦикла;
	
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "СписокСпецификаций",       Спецификации);
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "ПриоритетнаяСпецификация", ПриоритетнаяСпецификация);
	
КонецПроцедуры

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

#КонецОбласти

#Область Прочее

&НаСервере
Процедура УстановитьУсловноеОформление()

	УсловноеОформление.Элементы.Очистить();
	
	Справочники.РесурсныеСпецификации.УстановитьУсловноеОформлениеСпискаРесурсныхСпецификаций(Список.УсловноеОформление);
	
	Элемент = Список.УсловноеОформление.Элементы.Добавить();
	ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("ПриоритетнаяСпецификация");
	ОтборЭлемента.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Истина;
	Элемент.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(,,Истина));

КонецПроцедуры

&НаСервере
Процедура УстановитьПараметрыСпискаСпецификаций()
	
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре Тогда
		ВидНоменклатуры = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеОбИзделии.Номенклатура, "ВидНоменклатуры");
		ТекстЗапросаКоэффициентУпаковки = Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
			"СпецификацииИзделий.Упаковка",
			"СпрНоменклатура.Ссылка");
	Иначе
		ВидНоменклатуры = Справочники.ВидыНоменклатуры.ПустаяСсылка();
		ТекстЗапросаКоэффициентУпаковки = "NULL";
	КонецЕсли;
	
	Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "&ТекстЗапросаКоэффициентУпаковки", ТекстЗапросаКоэффициентУпаковки);
	
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "ВидНоменклатуры", ВидНоменклатуры);
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "Номенклатура",    ДанныеОбИзделии.Номенклатура);
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "Характеристика",  ДанныеОбИзделии.Характеристика);
	ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, 
		"ПолучитьСпецификацииПоНоменклатуре", ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре);
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьИнформациюПоПараметрамВыбораСпецификации()
	
	ТекстПараметрыВыбора = "";
	
	Если ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоСпискуНоменклатуры
		И ДанныеОбИзделии.Номенклатура.Количество() > 0 Тогда
			ТекстПараметрыВыбора = НСтр("ru = 'Номенклатура:'") + " " + СтрСоединить(ДанныеОбИзделии.Номенклатура, ", ")+".";
	КонецЕсли;
	
	Элементы.ТекстПараметрыВыбора.Видимость = НЕ ПустаяСтрока(ТекстПараметрыВыбора);
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Функция СписокОтборовПоПараметрамНазначения()
	
	Результат = Новый Структура;
	
	Реквизиты = "ИмяОтбора,Представление";
	
	Результат.Вставить("НаправлениеДеятельности",
		Новый Структура(Реквизиты, "ОтборНаправлениеДеятельности", НСтр("ru = 'Направление деятельности'")));
	Результат.Вставить("ПодразделениеДиспетчер",
		Новый Структура(Реквизиты, "ОтборПодразделениеДиспетчер",  НСтр("ru = 'Подразделение-диспетчер'")));
	
	Возврат Результат;
	
КонецФункции

&НаКлиенте
Процедура ЗаполнитьИнформационнуюСтроку()
	
	ТекущиеДанные = Элементы.Список.ТекущиеДанные;
	Если ТекущиеДанные = Неопределено
			ИЛИ НЕ ПараметрыВыбораСпецификаций.ПолучитьСпецификацииПоНоменклатуре Тогда
		ИнформационнаяСтрока = Неопределено;
		Возврат;
	КонецЕсли;
	
	Строки = Новый Массив;
	ШрифтЖирный = Новый Шрифт(,,Истина);
	
	// Минимальная партия
	МинимальнаяПартия = Окр(ТекущиеДанные.МинимальнаяПартияВыпуска * ТекущиеДанные.КоличествоНаПартию, 3);
	Если МинимальнаяПартия <> 0 Тогда
		
		Строки.Добавить(НСтр("ru = 'Мин. партия:'") + " ");
		Строки.Добавить(Новый ФорматированнаяСтрока(Формат(МинимальнаяПартия, "ЧГ="), ШрифтЖирный));
		Строки.Добавить(" ");
		Строки.Добавить(Новый ФорматированнаяСтрока(ТекущиеДанные.ЕдиницаИзмеренияПредставление, ШрифтЖирный));
		
		Строки.Добавить(" ");
		
	КонецЕсли;
	
	// Оптимальная партия
	ОптимальнаяПартия = Окр(ТекущиеДанные.ОптимальнаяПартияВыпуска * ТекущиеДанные.КоличествоНаПартию, 3);
	Если ОптимальнаяПартия <> 0 Тогда
		
		Строки.Добавить(НСтр("ru = 'Опт. партия:'") + " ");
		Строки.Добавить(Новый ФорматированнаяСтрока(Формат(ОптимальнаяПартия, "ЧГ="), ШрифтЖирный));
		Строки.Добавить(" ");
		Строки.Добавить(Новый ФорматированнаяСтрока(ТекущиеДанные.ЕдиницаИзмеренияПредставление, ШрифтЖирный));
		
		Строки.Добавить(" ");
		
	КонецЕсли;
	
	ИнформационнаяСтрока = ?(Строки.ВГраница() <> -1, Новый ФорматированнаяСтрока(Строки), Неопределено);
	
КонецПроцедуры

#КонецОбласти

#КонецОбласти

Связанные материалы