Имя: Пароль:
1C
1С v8
Как заполнить табличную часть документа?
0 Хрюкин
 
20.02.12
08:19
Платформа 8.2 БГУ. Документ Операция (ввод остатков) Требуется обработкой заполнить 4-е субконто. Проблема в том, что в самой форме есть эти субконто, а в реквизитах табличной части в конфигураторе вижу только 3 реквизита: Имя, Представление, Значение.
1 Godofsin
 
20.02.12
08:21
Предположу, что там другое таб.поле
2 Beckins
 
20.02.12
08:22
Предположу надо учить 1с :) И смотреть в отладчик как оно заполняется.
3 Хрюкин
 
20.02.12
08:57
Вроде что-то стало понятно. Получилась такая процедура:
ДвиженияБУ = РегистрыБухгалтерии.ЕПСБУ.ВыбратьПоРегистратору(Док.Ссылка);    
   Пока ДвиженияБУ.Следующий() Цикл
       Если (ДвиженияБУ.СчетДт.Код = "205.31") или (ДвиженияБУ.СчетДт.Код = "205.3А") Тогда
           ДвиженияБУ.СубконтоДт[4] = Справочники.Номенклатура.НайтиПоНаименованию("ком.набор");
           Сообщить(ДвиженияБУ.СчетДт);
       КонецЕсли;
   КонецЦикла;

Вот только проводки не сохраняются. Подскажите, что доделать.
4 GenV
 
20.02.12
09:01
(0) Сначала запросом с условиями (только сравнивать значения по ссылкам) получаешь все различные регистраторы. Потом обходом регистраторов из запроса читаешь набор регистра бухгалтерии ЕПСБУ и обновляешь в нем данные с записью набора в конце.
5 Хрюкин
 
20.02.12
09:06
(4) Вот записать в конце не получается.
6 GenV
 
20.02.12
09:06
(5) Давай твой код, который сделан как я описал.
7 hhhh
 
20.02.12
09:48
(5) ну вот это

ДвиженияБУ.СубконтоДт[4]

вроде пятое субконто. А вы говорите про четвертое. Определитесь для начала какое субконто вам нужно: пятое или четвертое?
8 Хрюкин
 
20.02.12
09:59
(7) исправил 4 на 3, все равно не записывается
9 hhhh
 
20.02.12
10:09
(8) ДвиженияБУ - это ведь Выборка. Если вы поменяли в выборке чего-то, почему думаете, что проводки в базе должны поменяться?
10 Хрюкин
 
20.02.12
10:42
(9) Подскажи как правильно сделать
11 hhhh
 
20.02.12
10:46
(10) записывать не через выборку, а как все, через набор записей. Читай синтакс помощник про ВыбратьПоРегистратору. Там пример даже есть.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший