Имя: Пароль:
1C
1С v8
v8: Как присвоить значение субконто?
0 Начинающий Программер
 
20.12.11
21:59
Извиняюсь, что неправильно поставил окончание в слове, но по-иному мне сложно выразить вопрос. Попробую пояснить на примере кода:

В ТЗ у меня загруженная из экселя номенклатура и её остатки (Наименование, Количество и т.п.). Всё это хочу загрузить в документ "Корректировка записей регистров":

НовыйДок = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
   НовыйДок.Дата = ТекущаяДата();
   
   Для  Каждого ТекущаяСтрока Из ТЗ Цикл
       Состояние(i);
       НоваяСтрока = НовыйДок.Движения.Хозрасчетный.Добавить();
       НоваяСтрока.Период = ТекущаяДата();
       НоваяСтрока.КоличествоДт  = ТекущаяСтрока.Количество;
       НоваяСтрока.Организация = Справочники.Организации.ОсновнаяОрганизация;
       НоваяСтрока.СубконтоДт = Справочники.Склады.ОсновнойСклад;
       НоваяСтрока.СубконтоДт = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ТекущаяСтрока.Наименование));
       НоваяСтрока.СчетДт = ПланыСчетов.Хозрасчетный.СырьеИМатериалы;
       НоваяСтрока.СчетКт = ПланыСчетов.Хозрасчетный.Вспомогательный;
   КонецЦикла;
   
   НовыйДок.Записать(РежимЗаписиДокумента.Запись);


А теперь вопрос: как сюда прописать, что тут 2 разных субконто?
НоваяСтрока.СубконтоДт = Справочники.Склады.ОсновнойСклад;
       НоваяСтрока.СубконтоДт = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ТекущаяСтрока.Наименование));

В синтакс-помощнике не могу найти.
То есть должно быть что-то типа
НоваяСтрока.СубконтоДт[1] = Справочники.Склады.ОсновнойСклад;
       НоваяСтрока.СубконтоДт[2] = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ТекущаяСтрока.Наименование));
1 Wingless
 
20.12.11
22:03
НоваяСтрока.СубконтоКт.вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами, пыщпыщололоссылка);
2 zak555
 
20.12.11
22:05
НоваяСтрока.СубконтоДт[1] = Справочники.Склады.ОсновнойСклад;
НоваяСтрока.СубконтоДт[0] = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ТекущаяСтрока.Наименование));
3 Начинающий Программер
 
20.12.11
22:10
(2) А почему [0]? В плане счетов у 10-го счета иет субконто№1 - склады, а субконто №2 - номенклаттура.
4 zak555
 
20.12.11
22:16
хотя вру :


РегистрБухгалтерииСубконто.<Имя регистра бухгалтерии> (AccountingRegisterExtDimensions.<Имя регистра бухгалтерии>)
Элементы коллекции:

КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются Ключ - вид субконто, Значение - значение субконто.
Возможно обращение к значению субконто посредством оператора [...]. В качестве аргумента передается вид субконто (ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>).

Свойства:

<Имя вида субконто> (<Extra dimension type name>)

Методы:

Вставить (Insert)
Количество (Count)
Очистить (Clear)
Удалить (Delete)

Конструкторы:

Основной

Описание:

Коллекция значений субконто записи регистра бухгалтерии. Установка и получение значения конкретного субконто осуществляется через оператор [], в качестве параметра которому передается вид субконто.
Возвращается значение типа КлючИЗначение. В качестве ключа вид субконто, в качестве значения значение субконто.

Доступность:

Сервер, толстый клиент, внешнее соединение.
См. также:

РегистрБухгалтерииВыборка, свойство Субконто
РегистрБухгалтерииВыборка, свойство СубконтоДт
РегистрБухгалтерииВыборка, свойство СубконтоКт
РегистрБухгалтерииЗапись, свойство Субконто
РегистрБухгалтерииЗапись, свойство СубконтоДт
РегистрБухгалтерииЗапись, свойство СубконтоКт
5 Начинающий Программер
 
20.12.11
22:22
(1), (4) Кхм... сработало, спасибо! Хоть я и не понял, как это работает:-)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс