УТ 10.3 Проведенные документы без движений.
В базе обнаружились проведенные документы без движений. Для поиска таких документов написал запрос но в нем я указываю конкретный регистр накопления, а нужно получать документы для которых нет движений вообще, как на картинке.
Как такое можно сделать?
Запрос.Текст = "ВЫБРАТЬ
| ВозвратТоваровОтПокупателя.Ссылка
|ИЗ
| Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК РегНакопления
| ПО ВозвратТоваровОтПокупателя.Ссылка = РегНакопления.Регистратор
|ГДЕ
| РегНакопления.Регистратор ЕСТЬ NULL
| И ВозвратТоваровОтПокупателя.Дата МЕЖДУ &НачДата И &КонДата
| И ВозвратТоваровОтПокупателя.Проведен";
ПоказатьКак такое можно сделать?
Прикрепленные файлы:

По теме из базы знаний
- Проведение/снятие с проведения документов/очистки движений не проведенных, перезаписи ссылочных объектов с отборами для баз 1С 8.1-8.3 УТ 10.3/11, БП 2/3, КА 1.1/2, УНФ 1.6, ЗУП 3
- [COM] Перенос данных через COMConnector
- Правила жёлтого напильника
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Мини-обзор разных решений задач
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) не срабатывает, а сообщение выводится и для объектов, у которых есть движения. Может быть я где-то ошибся?
как-то так
Сделал. Запустил отладчик (см. картинку). Точно известно, что документ проведен и у него нет движений, но условие Если ОбъектДок.Движения.Количество() = 0 Тогда
Сообщить("- "+ВыборкаДок.Ссылка);
КонецЕсли;
Прикрепленные файлы:

(3) Переписал но и так не работает:(.
ВыборкаДок = Документы.ВозвратТоваровОтПокупателя.Выбрать(НачалоДня(НачПериода),КонецДня(КонПериода));
Пока ВыборкаДок.Следующий() Цикл
ОбъектДок = ВыборкаДок.ПолучитьОбъект();
Если ОбъектДок.Движения.Количество() = 0 Тогда
Сообщить("- "+ВыборкаДок.Ссылка);
КонецЕсли;
КонецЦикла;
|ГДЕ
...
| И ВозвратТоваровОтПокупателя.Проведен = ИСТИНА";
А данный метод - Движения.Количество() покажет количество регистров в структуре конфигурации, по которым документ должен делать движения. Т.е. у всех доков ВозвратТоваровОтПокупателя количество движений будет одно и тоже, независимо от того, проведен или непроведен.
...
| И ВозвратТоваровОтПокупателя.Проведен = ИСТИНА";
А данный метод - Движения.Количество() покажет количество регистров в структуре конфигурации, по которым документ должен делать движения. Т.е. у всех доков ВозвратТоваровОтПокупателя количество движений будет одно и тоже, независимо от того, проведен или непроведен.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот