Имя: Пароль:
1C
1С v8
Анализ регистра при проведении документа. (Очень нужен ответ)
0 siggoron
 
14.01.12
18:43
Вот какая ситуация:
В конфигурации УТ 10 версии существует 2 документа: ВозвратТоваровОтПокупателя и ПоступлениеТоваровУслуг. Оба эти документа имеют следующие значения движений: Проведение – Разрешить, Оперативное проведение – Разрешить, Удаление движений – Не удалять автоматически.
В самом конце обработки модуля объекта ОбработкаПроведения вставляю следующий код:


Процедура ОбработкаПроведения(Отказ, РежимПроведения)

//--//
       ТЗ = Движения.ПартииТоваровНаСкладах.Выгрузить();
       ТЗ.ВыбратьСтроку();//Первый показ движений регистра
       
       Запрос = Новый Запрос;
       Запрос.Текст = "ВЫБРАТЬ
       |    *
       |ИЗ
       |    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
       |ГДЕ
       |    ПартииТоваровНаСкладах.Регистратор = &Регистратор";
       Запрос.УстановитьПараметр("Регистратор",Ссылка);
       ТЗ = Запрос.Выполнить().Выгрузить();
       ТЗ.ВыбратьСтроку();//Второй показ движений регистра
//--//
КонецПроцедуры // ОбработкаПроведения()


Вопрос: Почему для документа ПоступлениеТоваровУслуг при его проведении данная обработка выводит движения регистра в первой таблице, а во второй нет, а для документа ВозвратТоваровОтПокупателя наоборот?
Заранее благодарен за ответы.

P/s Всё исполнения от имени администратора (полные права) + в учетной политике проставлены значения «Вести партионный учет по складам» и «Списывать партии при проведении документа».
1 Wingless
 
14.01.12
18:46
Потому что в первом случае движения еще не записаны.
2 siggoron
 
14.01.12
18:51
(1) Т.е. как только исполняется метод Движения.ПартииТоваровНаСкладах.Записать(), то сразу движения данного регистра для документа записываются в таблицы регистра а само движение очищается?
3 GROOVY
 
14.01.12
18:59
(2) А "с самим дивжением" ничего не происходит.
4 Рэйв
 
14.01.12
19:01
Вообще,имхо, смотреть два раза регистры в транзакции как то..Не факт что она завершится.
5 siggoron
 
14.01.12
19:08
(3) Так почему тогда при проведении документа ВозвратТоваровОтПокупателя сами движения документа пустые, а при выполнении запроса нет?
6 siggoron
 
14.01.12
19:13
+(5) это касается именно регистра ПартииТоваровНаСкладах, у других же регистров этого документа движения не пустые, но как только документ проведен при выполнении запросов все движения имеются.
7 siggoron
 
14.01.12
19:32
(3) да Вы правы.
8 Михаил Козлов
 
14.01.12
20:05
(5) В ПТиУ движения пишутся через коллекцию. В возврате - через модуль партионного учета.
AdBlock убивает бесплатный контент. 1Сергей