Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 01:30

Замена значения в поле табличной части

Автор СерьезныйЧеловек, 18 авг 2010, 14:40

0 Пользователей и 1 гость просматривают эту тему.

СерьезныйЧеловек

Вообщем мне нужно заменить во всех документах реализация товаров в поле ставка ндс что бы было написано без ндс.
Значит я сделал запрос, в котором выбрал все документы реализация товров и услуг, выгрузил табличную часть.
А как присвоить всей выборке без ндс чет не догоняю, так как плоховато знаю синтаксис.
Пробовал делать типо такого ТабЧасть.СтавкаНДС=БезНДС, но не получается.

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

Заранее спасибо.

СерьезныйЧеловек

Т.е как обратиться к табличной части, чтобы можно было бы заменить в ней значение.

СерьезныйЧеловек

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

Вот ругается, на ТабЧасть. СтавкаНДС - поле ндс не найдено :mellow:

СерьезныйЧеловек


skyther

Для Каждого СтрокаТЧ Из Документ.Товары Цикл
  СтрокаТЧ.СтавкаНДС="БезНДС";
КонецЦикла;

Slin

ТабЧасть у вас имеет тип ТаблицаЗначений
Делайте так:ТабЧасть=Документ.Товары.Выгрузить();
ТабЧасть.ЗаполнитьЗначения(Перечисления.СтавкиНДС.БезНДС, "СтавкаНДС");
Документ.Товары.Загрузить(ТабЧасть);


P.S. Перечисление пишу на память

Slin

вариантов как минимум три
из них 2 описаны выше :)

СерьезныйЧеловек


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск