Функция Place

Синтаксис

Функция 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;  
    
КонецФункции

rating
  Комментарии

Нет комментариев.

Ваше имя
Email
Website
Заголовок
Комментарий
Изображение CAPTCHA
Введите код
 
©2007-2017, ИНТЕЛМЕТ ТЕХНОЛОДЖИС. Все права защищены.
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text