Синтаксис
Функция Place(Серия) Экспорт
Параметры
Серия (Тип строка)
Возвращаемое значение
Строка в формате XML (описание)
Пример реализации
Функция Place(Рулон) Экспорт
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
текРулон = СокрЛП(Рулон);
текСерия = Справочники.СерииНоменклатуры.НайтиПоНаименованию(текРулон);
Если (текСерия = Справочники.СерииНоменклатуры.ПустаяСсылка()) Тогда
// Запись документа XML
ЗаписьXML.ЗаписатьНачалоЭлемента("Error");
ЗаписьXML.ЗаписатьТекст("не найдена серия");
ЗаписьXML.ЗаписатьКонецЭлемента();
Иначе
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписьXML.ЗаписатьНачалоЭлемента("packet");
ЗаписьXML.ЗаписатьНачалоЭлемента("number");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("type");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("units");
ЗаписьXML.ЗаписатьТекст("тонна");
ЗаписьXML.ЗаписатьКонецЭлемента();
//Количество
текОстаток = НайтиОстатокПакетаСерий(текСерия, Ложь);
ЗаписьXML.ЗаписатьНачалоЭлемента("quantity");
ЗаписьXML.ЗаписатьТекст(Формат(текОстаток,"ЧЦ=10; ЧДЦ=2; ЧГ="));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("weight");
ЗаписьXML.ЗаписатьТекст(Формат(текОстаток,"ЧЦ=10; ЧДЦ=2; ЧГ="));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("items");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("itemsDescription");
ЗаписьXML.ЗаписатьНачалоЭлемента("itemDescription");
// ищем товар по серии
текТовар = НайтиТовар(текСерия);
Характеристика = НайтиХарактеристику(текСерия);
Если (текТовар = 0) Тогда
// не найден товар
ЗаписьXML.ЗаписатьНачалоЭлемента("Error");
ЗаписьXML.ЗаписатьТекст("не найден товар");
ЗаписьXML.ЗаписатьКонецЭлемента();
Иначе
ЗаписьXML.ЗаписатьНачалоЭлемента("itemId");
ЗаписьXML.ЗаписатьТекст(текТовар.Код);
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("itemName");
ЗаписьXML.ЗаписатьТекст(текТовар.Наименование);
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("inventDimId");
Если Характеристика <> 0 Тогда
ЗаписьXML.ЗаписатьТекст(СокрЛП(Характеристика.УникальныйИдентификатор()));
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("extProperties");
Если Характеристика <> 0 Тогда
ЗаписьXML.ЗаписатьТекст(СокрЛП(Характеристика.Наименование));
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ЗаписьXML.ЗаписатьНачалоЭлемента("location");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("locationId");
Попытка
ЗаписьXML.ЗаписатьТекст(СокрЛП(текСерия._МестоХранения.УникальныйИдентификатор()));
Исключение
КонецПопытки;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("quantity");
ЗаписьXML.ЗаписатьТекст(Формат(текОстаток,"ЧЦ=10; ЧДЦ=2; ЧГ="));
ЗаписьXML.ЗаписатьКонецЭлемента();
Типоразмеры = Размеры(текТовар,текСерия);
Если Типоразмеры = "" Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("length");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("width");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("thickness");
ЗаписьXML.ЗаписатьКонецЭлемента();
Иначе
ЗаписьXML.ЗаписатьНачалоЭлемента("length");
ЗаписьXML.ЗаписатьТекст(Строка(Типоразмеры[0].Длина));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("width");
Если НЕ ЗначениеЗаполнено(Типоразмеры[0].Ширина) Тогда
ЗаписьXML.ЗаписатьТекст(Строка(Типоразмеры[0].Ширина2));
Иначе
ЗаписьXML.ЗаписатьТекст(Строка(Типоразмеры[0].Ширина));
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("thickness");
ЗаписьXML.ЗаписатьТекст(Строка(Типоразмеры[0].Толщина));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("metalType");
ЗаписьXML.ЗаписатьТекст(Строка(Типоразмеры[0].Ассортимент));
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ТаблицаСвойств = НайтиВсеСвойства(текТовар,Характеристика);
ЗаписьXML.ЗаписатьНачалоЭлемента("Properties");
Если ТаблицаСвойств.Количество() >0 Тогда
Для каждого стр из ТаблицаСвойств Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("property");
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyId");
ЗаписьXML.ЗаписатьТекст(стр.Код);
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyObject");
ЗаписьXML.ЗаписатьТекст(Строка(ТипЗнч(стр.Объект)));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyValue");
ЗаписьXML.ЗаписатьТекст(Строка(стр.Значение));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
Иначе
ЗаписьXML.ЗаписатьНачалоЭлемента("property");
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyId");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyObject");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("PropertyValue");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("height");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("RALColor");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("units");
ЗаписьXML.ЗаписатьТекст("тонна");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("initialWeight");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
СтрXML = ЗаписьXML.Закрыть();
Возврат СтрXML;
КонецФункции