Последнее введенное количество

Чухно Евгений 4 года назад в Прочие разделы / - Вопросы по разработке обновлен 4 года назад 6

Есть выгруженный приходный кассовый ордер с позицией без серий. Серии создаются на ТСД при сканировании и добавляются в 1С через Промежуточную базу.

Вопрос такой :

"Позиция товара" собрано "0" из "500" шт

Я сканирую товар, ввожу серию - ввожу количество по новой серии"100". По умолчанию программа создает вторую запись в документе с этим товаром + серия и количество "100" из "0".

Как мне из первой строки, где нет серии, убрать ПОСЛЕДНЕЕ введенное количество ? чтобы с каждым дроблением безсерийного товара на серийные позиции - количество уменьшалось?

То есть после первого ввода "100", первая строка должна измениться на "0" из "400".

Я уже пробовал из ИзмененныхСтрокТовара убирать и количество из Buffer, и из SelectedProduct(срабатывает только 1 раз, далее не минусует), и из LastChangedDeclaredItems \ LastChangedCurrentItems -- ничего не хочет отнимать.

То есть суть вопроса такая : где хранится введенное количество в действии "Ввод количества" ?

Установленный продукт:
WiFi Driver PROF
Версия драйвера:
3.0.0.45069
Типовая конфигурация драйвера?:
Да
Операционная система:
Windows 10 Home
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
УТ 11.1
Типовая конфигурация 1с?:
Да
Модель ТСД:
Atol Smart.Droid

Действие Ввод количества правит SelectedProduct.Quantity, которое после записи в документ попадает в CurrentQuantity.

У действия Прямая запись в документ есть свойство "Игнорировать список колонок для сличения". Если поставить его в значение "Да", то при поиске подходящей плановой строки будут использоваться только основные поля строки, серия в них не входит.

Спасибо за подсказку. По сути ошибка была в моем просчете логики, ибо после первого прохода выбора ИзмененныеСтрокиТовара уже не пустая и часть моего кода не выполнялась. Изменил переходы, добавил условий и все отлично.

Вопрос еще один возник-пытаюсь печатать заданное количество экземпляров этикетки, но все равно печатает только 1


Операция "Печать" типовая, просто в нее передаю qty из редактируемого перед вызовом поля (int32)

Прошу прощения, но вопрос о передаваемом количестве экземпляров печати этикеток очень важный. В чем может быть проблема? Суть изложена выше + код. (Лицензия печати ДЕМО).
И еще странность. Если пустить код в обход вызова операции Печать, сразу после UsrPrntQty=UserPrintQty перейти к ДобавитьСериюНоменклатуры (Серия = {serial}), то серия добавляется идеально, а если перед этим вызвать печать и после печати перейти к Добавлению - то произойдет ошибка добавления серии(хотя в отладке вижу, что передается она идеально и код выполняется)

Проверьтие переходы в конфигурации, у Вас после редактирования UserPrintQty присваивание UsrPrntQty и в Печать передается UsrPrntQty, на действие присваивания есть переход?

Возможно, ошибка в клиенте под andriod и на печать всегда отправляется одна этикетка, проверим. Пока Вы можете обойти это, вызвав операцию Печать нужное количество раз. Примерно так:

i = 0

Печать

i = i+1

Если i < UserPrintQty Тогда

переход на Печать

Иначе

переход к след. действиям

Переход так и сделан : редактирование поля -> присваивание -> печать.
Пока решил вопрос затычкой вида "Напечатать еще копию ? да\нет". Но хотелось бы печатать сразу вводимое количество.

Еще одна ошибка замечена на андроид клиенте : при попытке автоматического завершения документа(когда все собрано + контроль количества) - приложение вылетает. Лог ошибки

0; 53; 31.10.2016 15:02:51.213 ERROR

ADDITION TEXT: CurrentDomain_UnhandledException
MESSAGE: Only the original thread that created a view hierarchy can touch its views.
TYPE:Java.Lang.RuntimeException
SOURCE:mscorlib
TARGETSITE: Throw
[STACK TRACE]
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <filename unknown>:0
at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (IntPtr jobject, IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x0008a] in <filename unknown>:0
at Android.Views.View.set_Visibility (ViewStates value) [0x00091] in <filename unknown>:0
at Cleverence.CompactForms.ListBox.SetItemsCollection (Cleverence.CompactForms.ListItemCollection value, Int32 selIndex) [0x000c5] in <filename unknown>:0
at Cleverence.Warehouse.Compact.ItemsViewAction.FillListBoxLocalForTrie () [0x000e0] in <filename unknown>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00017] in <filename unknown>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) [0x00081] in <filename unknown>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) [0x00000] in <filename unknown>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00031] in <filename unknown>:0
at System.Threading.ThreadHelper.ThreadStart () [0x0000b] in <filename unknown>:0
--- End of managed exception stack trace ---
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6659)
at android.view.ViewRootImpl.recomputeViewAttributes(ViewRootImpl.java:3183)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1133)
at android.view.View.needGlobalAttributesUpdate(View.java:8217)
at android.view.View.setFlags(View.java:9017)
at android.view.View.setVisibility(View.java:6078)
at dalvik.system.NativeStart.run(Native Method)

[STACK TRACE]
HANDLE:495984350
HRESULT: -2146233088
DATA:System.Collections.Generic.Dictionary`2[System.Object,System.Object]

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