Начат

Запись измененных строк в документе ТСД

Сергей Жидков 7 лет назад обновлен Александр Бушнов (Программист) 7 лет назад 7

Надо изменить часть строк в дополнительной таблице, и фактической таблице.

Пишу примерно так

Упаковки=select (*) from {Document.Упаковка} where...

Цикл по {Упаковки}

Количество = Item.Количество

Item.Количество=0;

Строка=select (*) from CurrentItems where...

Строка.Product.CurrentQuantity=Строка.Product.CurrentQuantity-Количество


Не могу понять, как теперь записать изменения в двух строках двух таблиц. Прямая запись в документ и Запись данных в буфер требуют SelectedProduct, а как подставить изменяемые строки не разобрался. Товар не сканируется.

Начат

Добрый день,

сохранить документ можно после изменений global::Cleverence.Warehouse.DocumentStorage.PersistAnyway(Document).

Если происходит запись в документ, изменения сами фиксируются, если нужно самим в любой момент сохранить, то  PersistAnyway можно вызвать.

Т.е. сделать действие присваивания, в котором написать "global::Cleverence.Warehouse.DocumentStorage.PersistAnyway(Document)"?

Или как то иначе вызвать?

Да, через действие присваивания.

Что-то не получается, вот два фрагмента

1. Надо в выбранную строку товара записать значение дополнительного поля строки. Пробовал записать через прямую запись в документ, записывается дополнительное поле в  добавленную новую строку с количеством 1. Количество менять не надо.


и 2. в строку дополнительной таблицы записать новое значение 0 (желательно ее вообще удалить), а в строке документа количество соответственно уменьшить.

Видимо я не в тот объект пишу новое значение.

Присваивайте в Строка.CurrentQuantity а не в Строка.Product.CurrentQuantity

Переменная Строка не отбирается. Тут что-то с циклом для меня непонятное.



Логика такая, в дополнительной таблице хранятся строки с кодом товара, количеством и номером коробки. Надо для указанного номера коробки во всех соответствующих строках указать количество 0. А в таблице документа уменьшить фактическое количество. В цикл передаю отобранные строки. Это работает. Когда присваиваю переменной КодТов текущий код товара в цикле, то при наведении мышью код показывается , а в окне Вычислить пусто, переменная Item тоже. К тому же я не могу понять, как обращаться в данном случае с переменной Item, в цикле она являет тобой строку цикла. Но внутри него надо сделать отбор, в котором тоже условия устанавливаются на переменную Item. В результате как отбор строки, так и отбор строк и даже просмотр ничего не подбирают. Внутри цикла не получится сделать отбор?

Добрый день. 

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

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