Имя: Пароль:
1C
1С v8
Как исправить ошибку с остатками после группового изменения Чеков ККМ (УТ11.5)
0 Константин Ш
 
19.01.23
15:47
Здравствуйте!
Управление торговлей (11.5.10.46)
Платформа (8.3.22.1709)

Не помню уже по какой причине, но как-то криво закрыли смену и чеки не заархивировались. Архивация через форму кассовой смены не помогла и, не думая о последствиях и соответственно н делая бэкап, накуралесил.
Висели еще несколько незаархивированных чеков за старые даты, тоже не помню, что за проблема была с ними.
Через штатное средство "групповое изменение реквизитов" сделал отбор пробитых чеков и не архивных и установил им всем свойство архивный в Истину.
Работали неделю и потом понял что остатки не корректные. Нашел сам факт ошибки:

Через отчет "Движение на складах" не видит "Отчет о розничных продажах №..." в которых точно есть товар А
При этом отчет "Поиск ссылок на объекты" показывает, что Товар А есть в том самом "Отчет о розничных продажах №..."
Получается, что "Отчет о розничных продажах №..." убрал движение чеков по регистру, а сам в нем не прописался.

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

Нашел уже несколько товаров с неверными остатками, у всех одна и таже картина:
В "поиске ссылок" - N отчетов о продажах,
В "Движение на складах" N-1
нахожу какой именно отчет потерян в "Движение..", от него перехожу в его кассовую смену, нажимаю "Заархивировать Чеки ККМ" и остаток встает на место.

Стандартной обработкой "Архивирование и удаление чеков ККМ" не получается прогнать и заархивировать все чеки, ругается:

"По документу Кассовая смена 00-00000336 от 07.03.2021 9:00:32 не создано документов Отчет о розничных возвратах"

Дело в том что после обновления конфигурации пару месяцев назад после закрытия смены создается 2 отчета: о продажах и пустой о возвратах. У старых смен нет этого отчета о возвратах, поэтому заархивировать старые Чеки ККМ не может.

Пробовал экспериментировать с копией базы, пытался программно создать отчет о возвратах с указанием в нем ссылки на кассовую смену, но такой документ потом не проводится ни программно ни вручную, ошибка была типа "В данной транзакции уже происходили ошибки!" не смог отследить и забросил, ночь уже была.
Уровень в конфигураторе у меня начинающий, Базовые приемы знаю, в не сложном коде ориентируюсь. Подскажите, пожалуйста, как лучше сделать?
1 asady
 
19.01.23
16:12
(0) Пригласите специалиста (с) какой-то мистюк
2 rozer76
 
19.01.23
16:32
(0) да, непонятно зачем 1с сделала создание всегда отчетаорозничныхВОзвратах даже если нет чековВозврат не в смену эту. Можете архивирование так поправить
см ОМ РозничныеПродажи --> ВыполнитьАрхивациюЧековККМ

https://pastenow.ru/L2QE0

З.Ы. 1С:Комплексная автоматизация 2 (2.5.8.342)
3 Константин Ш
 
19.01.23
18:39
(2) Спасибо! Думаю Этот кусок кода мне бы помог в случае большого количества битых отчетов.

1) Выгрузил в Excel весь регистр Товары на складах, удалил строки с регистратором НЕ "Отчет о розничных продажах", удалил дубли строк, т.к. один регистратор имел множество строк.
2) Выгрузил список всех ОоРП, автозаменой и нехитрыми манипуляциями привел к единому виду даты отчетов
3) Расположил 2 таблицы рядом и увидел что список ОоРП больше Самодельного списка из регистратора на 17 штук. Это же отлично! Можно поправить руками.
4) Условным форматированием выделил различающиеся значения и вручную нажал "заархивировать Чеки ККМ" в соответствующих кассовых сменах. Проверил остатки - встали на место.

За 10 лет работы периодически случались необъяснимые потери товара, теперь я всегда буду сравнивать движения такого товара в отчете "движение на складах" и в "поиск ссылок на объекты"
Кажется теперь, что такая ошибка движения ОоРП по регистрам имеет место быть...