|
Косяк при проведении отчета о розничных продажах? | ☑ | ||
---|---|---|---|---|
0
maker92
01.11.20
✎
14:08
|
Здравствуйте.
Есть КА 2.4.10.89, версия 1с 8.3.16.1148, тонкий клиент. Есть проведенные отчеты о розничных продажах, в движениях которых задвоены строки Если повторно перепроводить документ, то ничего не меняется, но если отменить и провести заново, тогда количество строк в движениях уменьшиться в 2 раза. Вот код, выполняющийся при проведении (общий модуль ПроведениеСерверУТ): // Процедура выполняет подготовку наборов записей документа к записи движений. // 1. Очищает наборы записей от "старых записей" (ситуация возможна только в толстом клиенте) // 2. Взводит флаг записи у наборов, по которым документ имеет движения // Вызывается из модуля документов при проведении. // // Параметры: // Объект - ДокументОбъект - наборы записей которого нудно подготовить // ЭтоНовый - Булево - признак нового документа // ДвиженияМетаданные - свойство метаданных Движения. // ОтключитьПроверкуДатыЗапретаИзменения - Булево. // Процедура ПодготовитьНаборыЗаписейКРегистрацииДвижений(Объект, ЭтоНовый = Ложь, ДвиженияМетаданные = НеОпределено, ОтключитьПроверкуДатыЗапретаИзменения = Ложь) Экспорт Перем ЭтоНовыйДокумент, МетаданныеДвижения; Для Каждого НаборЗаписей Из Объект.Движения Цикл Если НаборЗаписей.Количество() > 0 Тогда // здесь всегда возвращается 0 НаборЗаписей.Очистить(); КонецЕсли; КонецЦикла; Может кто знает, косяк это или так и должно быть. Заранее спасибо. |
|||
1
Злопчинский
01.11.20
✎
15:18
|
Вопрос поставлен криво и мутно.
ну задвоены строки и задвоены. Результат при этом - правильный или нет? если правильный - то не пофиг? Если количество строк в движениях уменьшилось в два раза, это тоже ни о чем не говорит. может в каждой строке - удвоенное количество. и результат не изменился. . |
|||
2
Cthulhu
01.11.20
✎
15:28
|
смахивает на задвоенный вызов в рамках одной транзакции.
судя по тому, как оно себя ведет при перепроведении и распроведении-проведении... можно попробовать в самом начале процедуры проведения именно этого документа - без условий тупо очищать движения. |
|||
3
maker92
01.11.20
✎
15:35
|
(2) Ну я в процедуре, которую в заголовке указал, попробовал принудительно очищать набор записей. В таком случае движения в регистре становятся как после проведения непроведенного документа. Я так понимаю, что если не очищать движения, то он просто дописывает в регистр новые записи к старым, т. о. получается задвоение.
|
|||
4
maker92
01.11.20
✎
15:39
|
Я не могу понять, вообще допустимо такое поведение. Вроде как при перепроведении движения должны полностью перезаписываться. Не должно же быть так, что он часть движений или все оставляет, а к ним еще дописывает, или смотрит, какие записи есть в регистре и дописывает недостающие. Эта как то неправильно получается, не должно же такого быть.
|
|||
5
Cthulhu
01.11.20
✎
15:50
|
(4): такое может быть правильным и необходимым.
|
|||
6
Chameleon1980
01.11.20
✎
17:15
|
{4}см. очищать движения
|
|||
7
Михаил Козлов
01.11.20
✎
22:41
|
Используем КА 2. Время от времени (нечасто) возникают неверные движения по регистрам накопления или по РБ. Как правило, после отмены проведения и проведении все встает (очень редко - нет).
Причину не поймали. На горячую линию не обращались. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |