Ваши комментарии

Тогда мне прийдется на 5-4-3 значные Barcode добавлять тоже шаблоны

Можно при выгрузке дополнить до 6 символов лидирующими нулями все коды короче 6 символов.

23{Barcode:@[0-9]{6}}{Quantity:@[0-9]{1}.[0-9]{3}}{OneC:1}

В этом виде шаблон также не работает. 

Вот эта часть: {Quantity:@[0-9]{1}.[0-9]{3}} не разбирается. Можно сделать шаблон работоспособным заменив эту часть на {Quantity:1.3} - количество символов в этой части неизменно. Рабочий шаблон будет выглядеть так:23{Barcode:@[0-9]{6}}{Quantity:1.3}{OneC:1}

Но даже если он будет работать, как регулярное выражение избавит от необходимости добавлять нули в код товара? После срабатывания этот шаблон также вернёт 6 цифр, следующие после 23, в качестве Barcode.

Для обработки таких весовых штрихкодов не нужно использовать регулярные выражения, это избыточно. Здесь достаточно добавить шаблон следующего вида:


23{Barcode:6}{Quantity:1.3}{OneC:1}

Шаблон 23{Barcode:@[0-9]{6}}{Quantity:@[0-9]{1}.[0-9]{4}}{OneC:1} для штрихкода 2303112004187 не отработает, т.к. в шаблоне ожидается строка 14 символов - 2 символа префикс + 6 код товара + 5 вес + 1 контрольная = 14.

Неправильно распознаётся вес скорее всего из-за разбора сканируемого ШК каким-то другим шаблоном, в котором Quantity захватывает 4187 вместо 0418.

В вычисляемом поле можно использовать запросы. В запросе можно использовать значения из полей текущей строки, обращаясь к ним через Item.ИмяПоля

Проблема была в способе создании строки плановой части.

Внутри цикла  вместо

NewItem = Document.DeclaredItems.AddNew() 

используем отдельно создание объекта строки документа:

NewItem = new global::Cleverence.Warehouse.DocumentItem()

далее заполняем поля и последним действием в цикле записываем этот объект в плановую часть:

Document.DeclaredItems.Add(NewItem)

Доброго дня. 

Насколько я понимаю, не находится подходящая плановая строка при записи в документ.  Как настроен поиск подходящей плановой строки в записи?  Выбором полей из списка или выражением?

И, судя по скриншотам, есть какая-то проблема с упаковкой в строках - возможно, упаковка не заведена для продукта.

Пожалуйста, опишите задачу в целом, что есть и что хотите получить. Попробую предложить более простой путь, чем заполнение плана циклом.

Добрый день!

Насколько я понял, вы хотите выводить на экран плановую табличную часть. В ней действительно не происходит суммирования доп. полей. 

Слияние строк (и их доп. полей) можно настроить в фактической части документа. Как это сделать можно посмотреть тут.

Для вывода на экран корректного значения можно использовать значение поля КоличествоТуш из строк фактической части документа, связанных со строкой плановой части. Сделать это можно следующим шаблоном: {Item.ParentCurrentItems.КоличествоТуш}. 

Обратите внимание, что если со строкой плановой части связано несколько строк фактической, то данный шаблон вернёт сумму по полю КоличествоТуш изо всех связанных строк.

Добрый день.

Простите за длительную паузу.

Циклом можно реализовать примерно вот так:


Но в целом необязательно использовать цикл.

Можно и без цикла выбирать строку с недогрузом и сканировать её, потом выбирать следующую.

Добрый день. 

В цикле для обращения к текущей строке используется SelectedLine, а не Item.

Добрый день!

Это можно реализовать с помощью действия "Цикл по строкам".

Опишите чуть подробнее, что планируется делать. Строка будет выводиться пока не будет набрана и только тогда будет переходить к следующей?



Сервис поддержки клиентов работает на платформе UserEcho