Имя: Пароль:
1C
1С v8
Поменять значение в регистре накопления
0 Adgjj
 
03.09.12
10:05
Здравствуйте!
Скажите, пжл, как поменять значение "Вид работы" в документе "ТТД"?

Для каждого СтрокаТЗ_2 Из ТЗ_2 Цикл
      ////ТТД = СтрокаТЗ_2.ТТД.ПолучитьОбъект().Выработка.Получить(0).ВидРаботы;
      //СтрокаТЗ_2.ТТД.ПолучитьОбъект().Выработка.Получить(0).ВидРаботы = Справочники.ВидыРабот.НайтиПоНаименованию("Вид1");

     
      //в РН отбор по регистратору (ТТД) → ВидРаботы нужный присвоить
      НаборЗаписей = РегистрыНакопления.ВыработкаТС_Лес.СоздатьНаборЗаписей();
      НаборЗаписей.Отбор.Регистратор.Установить(СтрокаТЗ_2.ТТД);
      //НаборЗаписей.ВидРаботы = Справочники.ВидыРабот.НайтиПоНаименованию("Вид1");
     
      //ТаблицаДвижений = НаборЗаписей.Выгрузить();

   конеццикла;
1 Reset
 
03.09.12
10:10
Установить отбор в наборе, прочитать, изменить значение в нужных строках(записях), записать.
2 dmpl
 
03.09.12
10:12
(0) Что конкретно-то сделать надо? Поменять только в регистре? Или в самом документе тоже?
3 Adgjj
 
03.09.12
10:14
(2) Я сначала хотела изменить в документе (потом документ перепровести) - не получилось
Решила через регистр.
4 Reset
 
03.09.12
10:18
(3) Если это продолжение темы с битой ссылкой  - в документе нужно тоже менять
5 Adgjj
 
03.09.12
10:22
(4) да

Тогда только в док-те и нужно, не могу придумать, как:
Для каждого СтрокаТЗ_2 Из ТЗ_2 Цикл
      ////ТТД = СтрокаТЗ_2.ТТД.ПолучитьОбъект().Выработка.Получить(0).ВидРаботы;

      //СтрокаТЗ_2.ТТД.ПолучитьОбъект().Выработка.Получить(0).ВидРаботы = Справочники.ВидыРабот.НайтиПоНаименованию("Вид1");
6 dmpl
 
03.09.12
10:25
(3) Если пробовали как в комментариях - то и не должно было получиться. Надо получить объект, а затем обойти табличную часть объекта построчно и там изменить нужные реквизиты, после чего записать объект (в режиме проведения). И только если при проведении документа происходит ошибка, то надо изменить документ, записать в режиме запись и потом поправить движения.

(5) Надо что-то типа

ТТД = СтрокаТЗ_2.ТТД.ПолучитьОбъект();

Для Каждого стр Из ТТД.Выработка Цикл
   стр.ВидРаботы = Справочники.ВидыРабот.НайтиПоНаименованию("Вид1");
КонецЦикла