Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Косяк при проведении отчета о розничных продажах?

Косяк при проведении отчета о розничных продажах?
Я
   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
Вопрос поставлен криво и мутно.
ну задвоены строки и задвоены. Результат при этом - правильный или нет? если правильный - то не пофиг?
Если количество строк в движениях уменьшилось в два раза, это тоже ни о чем не говорит. может в каждой строке - удвоенное количество. и результат не изменился.
.
   Cthulhu
 
2 - 01.11.20 - 15:28
смахивает на задвоенный вызов в рамках одной транзакции.
судя по тому, как оно себя ведет при перепроведении и распроведении-проведении... можно попробовать в самом начале процедуры проведения именно этого документа - без условий тупо очищать движения.
   maker92
 
3 - 01.11.20 - 15:35
(2) Ну я в процедуре, которую в заголовке указал, попробовал принудительно очищать набор записей. В таком случае движения в регистре становятся как после проведения непроведенного документа. Я так понимаю, что если не очищать движения, то он просто дописывает в регистр новые записи к старым, т. о. получается задвоение.
   maker92
 
4 - 01.11.20 - 15:39
Я не могу понять, вообще допустимо такое поведение. Вроде как при перепроведении движения должны полностью перезаписываться. Не должно же быть так, что он часть движений или все оставляет, а к ним еще дописывает, или смотрит, какие записи есть в регистре и дописывает недостающие. Эта как то неправильно получается, не должно же такого быть.
   Cthulhu
 
5 - 01.11.20 - 15:50
(4): такое может быть правильным и необходимым.
   Chameleon1980
 
6 - 01.11.20 - 17:15
{4}см. очищать движения
   Михаил Козлов
 
7 - 01.11.20 - 22:41
Используем КА 2. Время от времени (нечасто) возникают неверные движения по регистрам накопления или по РБ. Как правило, после отмены проведения и проведении все встает (очень редко - нет).
Причину не поймали. На горячую линию не обращались.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.