Имя: Пароль:
1C
1С v8
Проблема с запросом
,
0 memogolik
 
16.04.12
18:08
Есть некий запрос, который возвращает документы нескольких типов: реализация, заказы, приходники, расходники, установака цен.
Есть код:
       Выборка=Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       Объект = Выборка.Регистратор.ПолучитьОбъект();
       Объект.ДоговорКонтрагента = КонечныйДоговор;
       Объект.Записать(РежимЗаписиДокумента.Проведение);
   КонецЦикла;

Причем для заказов и реализаций он работает прекрасно, а для приходников почему то нет(не изменяет договор в документе). Реквизит "ДоговорКонтрагента" есть и в реализации и в приходнике, не подскажете куда копать? В отладчике после строчки с проведением
"Объект.Записать(РежимЗаписиДокумента.Проведение)" Объект.ДоговорКонтрагента.Код правильный, но после выполнения обработки у приходников по факту договор остается неизменным.
Заранее спасибо.
1 rbcvg
 
16.04.12
18:11
Может ты договор с покупателем пытаешься в поступление засунуть?
2 Шапокляк
 
16.04.12
18:14
(0) А разве в приходном кассовом ордере не в ТЧ Расшифровка платежа договор менять надо?
3 memogolik
 
16.04.12
18:23
(1) нет, все договора с покупателем
(2) А в нем и там и там есть такой реквизит... , но мне нужен тот, что в шапке поменять
4 le_
 
16.04.12
18:30
(3) Он перед записью документа из ТЧ подставляется в шапку.
5 memogolik
 
16.04.12
18:32
(4) le_ спасибо, буду пробовать. Надо будет тогда через ТипЗнч(Объект) проверять по типу документов?
6 memogolik
 
16.04.12
18:48
Чудеса да и только: вставил код для приходника

Если ТипЗнч(Объект.Ссылка)=Тип("ДокументСсылка.ПриходныйКассовыйОрдер") Тогда
   Строка=Объект.РасшифровкаПлатежа;
   Строка.ДоговорКонтрагента = КонечныйДоговор;
КонецЕсли;

В отладчике смотрю - в условие он не попадает. ТипЗнч(Объект.Ссылка)=Тип("ДокументСсылка.ПриходныйКассовыйОрдер")=Истина. С обоих сторон типы совпадают, что это может быть?)
7 memogolik
 
16.04.12
19:01
какой то заколдованный круг(
8 memogolik
 
16.04.12
19:12
Продвинулся чуть чуть .
Строка.ДоговорКонтрагента закоментил, в отладчике это выражение при попытке вычислить значение пишет
"Значение не является значение объектного типа(ДоговорКонтрагента)", хотя ДоговорКонтрагента я прям скопировал из реквизита табличной части. Что не правильно?
9 Dен
 
16.04.12
19:15
(6) Может тип значения ДокументОбъект, а не ДокументСсылка?
10 Dен
 
16.04.12
19:16
+(9) Сори, там ведь
ТипЗнч(Объект.Ссылка)
11 le_
 
16.04.12
19:31
(6) Что за бред?

Док.РасшифровкаПлатежа[0].ДоговорКонтрагента = Дог;//если в ТЧ одна строка