Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Движения по регистру накопления.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Powerman
В конце процедуры «ОбработкаПроведения» вызываю из общего модуля экспортную функцию, в которой пытаюсь получить движения по регистру, которые точно есть т.к. в консоли запросов данные получаю. При выполнении запроса в экспортной функции данных нет… Пытался получать их через запрос и СоздатьНаборЗаписей с отбором по регистратору.
Код ниже…
Подскажите, почему нет данных…
Спасибо.

Запрос = Новый Запрос;
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПартииТоваровНаСкладах.Регистратор,
    |    ПартииТоваровНаСкладах.Количество КАК Количество,
    |    ПартииТоваровНаСкладах.Склад
    |ИЗ
    |    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |ГДЕ
    |    ПартииТоваровНаСкладах.Регистратор = &Док";
    
    Запрос.УстановитьПараметр("Док", Докум.Ссылка);
    
    Результат = Запрос.Выполнить().Выгрузить();
alex040269
потому что они еще не записаны в базу.
Powerman
Цитата(alex040269 @ 17.07.14, 10:55) необходимо зарегистрироваться для просмотра ссылки
потому что они еще не записаны в базу.

вызов функции в последней строке процедуры проведения, после процедур самих движений.
Rayne
Была тут где-то тема, где обсуждалось, почему нельзя движения по партиям достать запросом в обработке проведения самого документа

необходимо зарегистрироваться для просмотра ссылки

А консолью проверять бесполезно - момент уже не тот, движения уже есть в базе.
alex040269
Перед запросом вставтье код:
Движения.ПартииТоваровНаСкладах.Записать(Истина);

и убедитесь, что в "Движения.ПартииТоваровНаСкладах" есть записи.
какой будет результат запроса?
Powerman
Цитата(alex040269 @ 17.07.14, 11:08) необходимо зарегистрироваться для просмотра ссылки
Перед запросом вставтье код:
Движения.ПартииТоваровНаСкладах.Записать(Истина);

и убедитесь, что в "Движения.ПартииТоваровНаСкладах" есть записи.
какой будет результат запроса?


При записи движений запрос находит записи, но мне кажется, это не правильно потому как разработчики заложили запись движений в другом месте с какой-то целью. Кто что думает по этому поводу…

Цитата(Rayne @ 17.07.14, 11:08) необходимо зарегистрироваться для просмотра ссылки
Была тут где-то тема, где обсуждалось, почему нельзя движения по партиям достать запросом в обработке проведения самого документа

необходимо зарегистрироваться для просмотра ссылки

А консолью проверять бесполезно - момент уже не тот, движения уже есть в базе.


Так конечно получается…
Для каждого Движение из Движения.Продажи Цикл
   //...
КонецЦикла;


Мне подошло проще…
ИтогДвижение = Источник.Движения.ПартииТоваровНаСкладах.Итог("Количество");


Но опять же… движения не записаны и не факт что на сто процентов запишутся в том виде, каком есть в процедуре проведения.
Rayne
1. Запишутся, если у вас нет дополнительных обработок в подписках на события.
2. Если есть сомнения в том, что "не факт, что они в таком виде запишутся", то зачем тогда вообще к ним запрос делать? Цель-то конечная есть какая-то?
Powerman
Цитата(Rayne @ 17.07.14, 15:38) необходимо зарегистрироваться для просмотра ссылки
1. Запишутся, если у вас нет дополнительных обработок в подписках на события.
2. Если есть сомнения в том, что "не факт, что они в таком виде запишутся", то зачем тогда вообще к ним запрос делать? Цель-то конечная есть какая-то?


Конечная цель проверить ошибки при проведении по партиям. Т.е. количество по табличной части документа сравнить с количеством в движении по регистру.
По-хорошему, я так думаю, надо бы проверять в какой ни будь обработке.
Rayne
А если по одной строке документа будет списываться несколько партий? Это самописный документ? В стандартных движения делаются глобальными процедурами.
Vofka
Powerman, зачем?
Rayne
Цитата(Vofka @ 17.07.14, 16:00) необходимо зарегистрироваться для просмотра ссылки
Powerman, зачем?


Тоже отличный вопрос smile.gif
alex040269
Цитата(Vofka @ 17.07.14, 16:00) необходимо зарегистрироваться для просмотра ссылки
Powerman, зачем?

что бы убедиться в правильности кода smile.gif я полагаю.
Powerman
Цитата(alex040269 @ 18.07.14, 15:42) необходимо зарегистрироваться для просмотра ссылки
что бы убедиться в правильности кода smile.gif я полагаю.

Угадали... 44000000.gif

Спасибо всем кто участвовал в обсуждении. icon_beer17.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.