Имя: Пароль:
1C
1С v8
v8: Не устанавливается единица измерения в табличной части.
0 memogolik
 
23.01.12
16:19
Очень странная проблема. Есть запрос, который возвращает номенклатуру и количество. Я заполняю документ СписаниеТовар. Все реквизиты при этом устанавливаются корректно кроме едининицы измерения.
вот текст обработки:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
   Запрос = Новый Запрос;
   Запрос.Текст = "
   |ВЫБРАТЬ
   |    Номенклатура Как Товар,
   |    Сумма(Коэффициент*Количество) КАК ПолноеКоличество
   |    
   |ИЗ
   |    Документ.ПоступлениеТоваровУслуг.Товары
   |ГДЕ
   |    Склад = &ВыбСклад и
   |    Ссылка.Дата<=&ВыбКонПериода и
   |    Ссылка.Дата>=&ВыбНачПериода и
   |    Номенклатура.ВидНоменклатуры = &ВыбВидыНоменклатуры
   |СГРУППИРОВАТЬ ПО
   |    Номенклатура
   |УПОРЯДОЧИТЬ ПО
   |    Номенклатура.Наименование
   |";
   Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад);
   Запрос.УстановитьПараметр("ВыбВидыНоменклатуры", ВыбВидыНоменклатуры);
   Запрос.УстановитьПараметр("ВыбНачПериода", ВыбНачПериода);
   Запрос.УстановитьПараметр("ВыбКонПериода", ВыбКонПериода);
   Результат = Запрос.Выполнить().Выгрузить();
   ЭлементыФормы.ТЗ.Значение = Результат;
   Элементыформы.ТЗ.СоздатьКолонки();
   Результат = Запрос.Выполнить().Выбрать();
   ДокСписание = Документы.СписаниеТоваров.СоздатьДокумент();
   ВыбОрганизация = Справочники.Организации.НайтиПоКоду("ЦБ0000013");
   ДокСписание.Организация = ВыбОрганизация;
   ДокСписание.Склад = ВыбСклад;
   ДокСписание.Дата = ТекущаяДата();
   Пока Результат.Следующий() Цикл
       НоваяСтрока=ДокСписание.Товары.Добавить();
       НоваяСтрока.Номенклатура =Результат.Товар;
       МойТовар = Результат.Товар;
       НоваяСтрока.ЕдиницаИзмерения = МойТовар.БазоваяЕдиницаИзмерения;
       НоваяСтрока.ЕдиницаИзмеренияМест =МойТовар.БазоваяЕдиницаИзмерения;
       НоваяСтрока.Коэффициент=1;
       НоваяСтрока.Количество = Результат.ПолноеКоличество;
   КонецЦикла;
   ДокСписание.Записать();
КонецПроцедуры

Самое любопытное, что правая часть в выражении присваивания в отладчике считается без проблем. Я хочу записать во всех строках "базовую единицу". Но и "ЕдиницаИзмерения" и "ЕдиницаИзмеренияМест" по какой то неведомой мне причине упорно отказывается устанавливаться в табличной части этого документа.
Заранее спасибо.
1 zbv
 
23.01.12
16:20
типы разные
2 Чайник Рассела
 
23.01.12
16:20
НоваяСтрока.ЕдиницаИзмерения = МойТовар.ЕдиницаХраненияОстатков;
3 DrShad
 
23.01.12
16:21
(1) +100500
по пальцам железной линейкой за такой код нужно бить
4 Wobland
 
23.01.12
16:21
(0) проведённость документа важна?
5 DrShad
 
23.01.12
16:22
да и если уж есть запрос с выгрузкой результата, а тем более с его обходом, тогда в самом запросе все необходимые реквизиты и выбирать
6 memogolik
 
23.01.12
16:27
(4) нет.
(3) - это я уже начал извращаться , было
НоваяСтрока.ЕдиницаИзмерения = Результат.Товар.БазоваяЕдиницаИзмерения
7 mzelensky
 
23.01.12
16:27
(0) Дядь, а дядь...тебя кто вообще учил так делать?
8 memogolik
 
23.01.12
16:31
(1) почему разные? и там и там вроде Справочники.ЕдиницыИзмерения
9 DrShad
 
23.01.12
16:44
(8) отладчик украли? Базовая это Классификатор единиц измерения
2 + 2 = 3.9999999999999999999999999999999...