Не понимаю отсутствия движений у документов в выборке

1. AnryMc 849 02.06.21 10:56 Сейчас в теме
Стандартная обработка StandardDocumentsPostingMy
"Все функции - Стандартные - Проведение документов" (БСП 3.0.1.418)

Производиться выборка проведенных документов и их перепроведение.
в функции делающей выборку документов за дату DoPortionPostAtServer

в полученной выборке у документов все движения пустые. ПОЧЕМУ?

ПОДРОБНЕЕ:
У выбранных документов установлен признак проведения
DocObject = SelectionDetailRecords.Ref.GetObject();

но движения пустые.
Движения появляются после проведения
DocObject.Write(DocumentWriteMode.Posting);


Явной отмены проведения я не вижу.

ВОПРОС: Почему у объекта полученного из ссылки в выборке пустые движения если он проведен?
Или я не вижу момента отмены проведения?
По теме из базы знаний
Найденные решения
18. Sashares 34 02.06.21 14:54 Сейчас в теме
(17)Охохо...
DocObject = SelectionDetailRecords.Ref.GetObject();
DocObject.Движения.Хозрасчетный.Прочитать();
//после того как прочитали движения, в DocObject.Движения.Хозрасчетный - будут движения

Это же основы.
19. FatPanzer 02.06.21 14:59 Сейчас в теме
(17) Коненчо. У Прочитать() нет возвращаемого значения, поэтому отладчик ничего не покажет...
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. kuzev 47 02.06.21 11:01 Сейчас в теме
(1) Наличие признака проведения у документа не означает наличие движений. Можно установить признак проведения, но не проводить.
nomad_irk; ubnkfl; +2 Ответить
8. AnryMc 849 02.06.21 13:18 Сейчас в теме
(2) Документы были проведены и имели движения (до выполнения обработки)
3. ubnkfl 02.06.21 11:12 Сейчас в теме
Удивительно, но документ может быть помечен на удаление и иметь движения ))
4. ZergKRSK 129 02.06.21 11:14 Сейчас в теме
Странно видеть такой вопрос у столь опытного автора
5. MikhailDr 02.06.21 11:32 Сейчас в теме
Документ можно вручную отредактировать через внешнюю обработку и удалить движения или поставить признак проведения.
6. FatPanzer 02.06.21 11:40 Сейчас в теме
10. AnryMc 849 02.06.21 13:25 Сейчас в теме
(5) Вопрос не почему исчезли, а почему не видны...
11. Sashares 34 02.06.21 13:27 Сейчас в теме
(10)Вам ответили уже в (7) - при получении объекта движения не считываются.
7. coollerinc 188 02.06.21 11:55 Сейчас в теме
А вы как движения смотрите? У объекта Объект.Движения? Если так. То надо их в начале Объект.Движения.ТоварыНаСкладах.Прочитать()
13. AnryMc 849 02.06.21 13:36 Сейчас в теме
(7)
Прочитать()


Функция на &AtServerNoContext

так пустые движения
РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(SelectionDetailRecords.Ref)
или
SelectionDetailRecords.Ref.GetObject().Движения.Хозрасчетный

так ошибка "{(1)}: Метод объекта не обнаружен (Прочитать)"
РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(SelectionDetailRecords.Ref).Прочитать()
или
SelectionDetailRecords.Ref.GetObject().Движения.Хозрасчетный.Прочитать()

после
DocObject.Write(DocumentWriteMode.Posting);

есть движения по
РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(SelectionDetailRecords.Ref)
или
SelectionDetailRecords.Ref.GetObject().Движения.Хозрасчетный

До вызова обработки документы имели движения!!!!
14. FatPanzer 02.06.21 13:54 Сейчас в теме
(13)
РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(SelectionDetailRecords.Ref).Прочитать()
У выборки и нет метода Прочитать(), конечно же...
SelectionDetailRecords.Ref.GetObject().Движения.Хозрасчетный.Прочитать()
В порядке предположения: в одной строке нельзя каскадно помещать два метода, обращающиеся к СУБД.
15. AnryMc 849 02.06.21 14:19 Сейчас в теме
(14)
одной строке нельзя каскадно помещать два метода, обращающиеся к СУБД.


Про выборку это я погарячился.

Просто я уже в конфигураторе перепробовал кучу методов/способов...
16. Sashares 34 02.06.21 14:31 Сейчас в теме
(15) Так тоже пробовали?
DocObject = SelectionDetailRecords.Ref.GetObject();
DocObject.Движения.Хозрасчетный.Прочитать();
17. AnryMc 849 02.06.21 14:44 Сейчас в теме
(16)
Так тоже пробовали?
Прикрепленные файлы:
18. Sashares 34 02.06.21 14:54 Сейчас в теме
(17)Охохо...
DocObject = SelectionDetailRecords.Ref.GetObject();
DocObject.Движения.Хозрасчетный.Прочитать();
//после того как прочитали движения, в DocObject.Движения.Хозрасчетный - будут движения

Это же основы.
20. AnryMc 849 02.06.21 15:02 Сейчас в теме
(18)
//после того как прочитали движения, в DocObject.Движения.Хозрасчетный - будут движения


Спасибо.

На N-ій день "аврала" - и на таком споткнёшься...
19. FatPanzer 02.06.21 14:59 Сейчас в теме
(17) Коненчо. У Прочитать() нет возвращаемого значения, поэтому отладчик ничего не покажет...
9. AnryMc 849 02.06.21 13:22 Сейчас в теме
1) Выборка
2) Текущий элемент выборки
DocObject = SelectionDetailRecords.Ref.GetObject();


DocObject.Движения[3] - пустое

запишем

DocObject.Write(DocumentWriteMode.Posting);


DocObject.Движения[3] - есть движения
12. FatPanzer 02.06.21 13:28 Сейчас в теме
(9) Конечно. Так и должно быть.
21. AnryMc 849 02.06.21 15:04 Сейчас в теме
Ко всему прочему: Объект - движения - Прочитать()
аналогичный результат: Объект - записать(проведение)
22. Sashares 34 02.06.21 15:07 Сейчас в теме
(21)Совсем не обязательно.
Прочитать() - читает те движения, которые на момент чтения есть в регистре.
Объект - записать(проведение) - при перепроведении движения формируются заново и записываются в регистр.
Они могут измениться, например, может сумма в проводках измениться, если она рассчитывается как средняя.
23. AnryMc 849 02.06.21 15:13 Сейчас в теме
(22) Это понятно. Имелось в виду что у объекта "появляются" (становятся доступны) движения...
24. FatPanzer 02.06.21 15:18 Сейчас в теме
(23) Ну да, потому что типовая запись в типовых решениях идет же через Объект.Движения.Регистр.Загрузить(ТаблицаДвижения). Или как-то так.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот