Выгрузки марки в корректном формате в УПД. БП3

Клиент выгружает УПД через дополнительную внешнюю обработку из БП3.

При этом в XML-файле выгружается код маркировки с фигурными скобочками:

Я нашел в коде места, где выгружается тег НомУпак.

Но к замене скобочек подошел творчески. Просто убивать их нельзя, они могут присутствовать в криптохвосте (но это неточно).

Поэтому код по замене получился таким:

Если СтрТоварИСМП.Количество()>0 Тогда
   
Запись.ЗаписатьНачалоЭлемента(«НомСредИдентТов»);
    Для Каждого
ЭлТоварИСМП Из СтрТоварИСМП Цикл
        Если Не
ПустаяСтрока(ЭлТоварИСМП.Значение) Тогда
           
Запись.ЗаписатьНачалоЭлемента(«НомУпак»);
           
//Осипов 2021-05-12
            //Запись.ЗаписатьТекст(ЭлТоварИСМП.Значение);
           
Запись.ЗаписатьТекст(КорректныйКодМарки(ЭлТоварИСМП.Значение));
           
Запись.ЗаписатьКонецЭлемента();
        КонецЕсли;
    КонецЦикла;
   
Запись.ЗаписатьКонецЭлемента();
КонецЕсли;



Функция
КорректныйКодМарки(ИсхЗначение)
   
//Осипов 2021-05-12
   
Значение = ИсхЗначение;
    Если
Лев(Значение, 4) = «(01)» Тогда
       
Значение = «01» + Сред(Значение, 5);
    КонецЕсли;
    Если
Сред(Значение, 17, 4) = «(21)» Тогда
       
Значение = Лев(Значение, 16) + «21» + Сред(Значение, 17+4);
    КонецЕсли;
    Возврат
Значение;
КонецФункции

Объем план: 1 час. Среда: БП 3.0.92.51

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *