Имя: Пароль:
1C
1С v8
УТ 10.3 Установка цен номенклатуры.
,
0 kasazanov
 
24.01.13
12:38
Конфа УТ10.3

Пишу обработку которая создаст документ УстановкаЦенНоменклатуры на основании документа ОприходованиеТоваров.

Проблема такая: Когда я начинаю программно добавлять ТЧ в документ то при его открытии выходит ошибка "Поле объекта не обнаружено (цена)" это из за какой то необычной ТЧ документа УстановкиЦенНоменклатуры, кто знает УТ10.3 подскажите в чем фишка этого документа и как туда добавить программно ТЧ.

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

   
   Пока Выборка.Следующий() Цикл
   ДобавитьЭлемент = Документ.Товары.Добавить();
   ДобавитьЭлемент.Номенклатура = Выборка.Номенклатура;
   ДобавитьЭлемент.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
   ДобавитьЭлемент.Валюта = ТипЦен.ВалютаЦены;
   //ДобавитьЭлемент.Цена = Выборка.Цена;
   КонецЦикла;
1 cw014
 
24.01.13
12:40
А в пофигураторе не посмотреть никак, как поле называется?
2 DrShad
 
24.01.13
12:40
фишка этого документа в том, что у него две ТЧ, а на морде сводная талица
3 cw014
 
24.01.13
12:41
Простите, а где у вас в выборке "Цена"?
4 Утконос
 
24.01.13
12:41
а где у тебя в запросе цена ?  Выборка.Цена;
5 kasazanov
 
24.01.13
12:41
(1) смотрел там в ТЧ всего 2 реквизита. Поэтому и туплю че да как.

(2) а как правильно туда что то добавить?
6 Утконос
 
24.01.13
12:41
ДобавитьТовар = Документ.Товары.Добавить(); и это на кой ?
7 DrShad
 
24.01.13
12:42
(5) нужно заполнить обе ТЧ
8 cw014
 
24.01.13
12:43
(5) Не игнорируй сообщения (3) и (4). В них твоя ошибка
9 kasazanov
 
24.01.13
12:47
(3) (4) Просто убрал из запроса цену и ниже присвоил ей число руками чтобы посмотреть что будет, все равно выдается ошибка
изначально вариант был такой, который тоже не работает.

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

   
   Пока Выборка.Следующий() Цикл
   ДобавитьЭлемент = Документ.Товары.Добавить();
   ДобавитьЭлемент.Номенклатура = Выборка.Номенклатура;
   ДобавитьЭлемент.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
   ДобавитьЭлемент.Валюта = ТипЦен.ВалютаЦены;
   ДобавитьЭлемент.Цена = Выборка.Цена;
   КонецЦикла;
   
   
   
   Документ.Записать();
10 Godofsin
 
24.01.13
12:48
(9) в документе есть процедура заполнить, посмотри как там реализовано
11 Godofsin
 
24.01.13
12:49
+ (10) заполнить по поступлению
12 hhhh
 
24.01.13
12:52
(9) а тип цен-то не заполнили, ну вы приколист!
13 kasazanov
 
24.01.13
12:53
(12) ну вроде вначале я его заполнял. или это не то?
14 hhhh
 
24.01.13
12:55
(13) ну эти две табличные части между собой связываются как? Вроде через поле типа цен.
15 kasazanov
 
24.01.13
12:58
(14) Ты реально крут, все заработало ))
16 kasazanov
 
24.01.13
12:58
Всем спасибо.
17 DrShad
 
24.01.13
13:00
(15) а в (2) тебе что не понятно?
18 kasazanov
 
24.01.13
13:05
(17) Да сразу не вкурил просто.