|
Как кодом заполнить Субконто в Хозрасчетных движениях в документе кор. регистро? | ☑ | ||
---|---|---|---|---|
0
new1snik
20.06.13
✎
08:36
|
Добрый день.
Есть документ корректировки регистров в УПП. С ним я работаю следующим образом: НовСтрока = ВыбранныйДокументКорректировки.Движения.Хозрасчетный.Добавить(); НовСтрока.Организация = ОрганизацияКорректировки; НовСтрока.Период = ДатаКорректировки; НовСтрока.СчетДт = ПланыСчетов.Хозрасчетный.ИздержкиОбращения; НовСтрока.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; НовСтрока.Сумма = Сумма; НовСтрока.Активность = 1; ВыбранныйДокументКорректировки.Записать(); Каким образом можно заполнить СубконтоДт и СубконтоКт? Просто дополнить код следующими строчками как оказалось не правильно: НовСтрока.СубконтоДт = Справочники.СтатьиЗатрат.СписаниеНДСНаРасходы; НовСтрока.СубконтоКт = Справочники.СтатьиЗатрат.НайтиПоНаименованию(СтатьяЗатрат); |
|||
1
mikecool
20.06.13
✎
08:38
|
субконто - это коллекция
|
|||
2
new1snik
20.06.13
✎
08:49
|
нашел вот такой пример:
УстановитьСубконто(НовСтрока.СчетДт, НовСтрока.СубконтоДт, СтатьяЗатрат, Справочники.СтатьиЗатрат.НайтиПоНаименованию(СтатьяЗатрат)) ; Но конфигуратор пишет, что такой процедуры не существует. |
|||
3
bambazamba
20.06.13
✎
09:03
|
(2) работаете? Или студенческая работа?
|
|||
4
bambazamba
20.06.13
✎
09:03
|
Неправильно вопрос задал. Вы эту задачу за зарплату делаете? Или в рамках какого-нтбудь обучения?
|
|||
5
new1snik
20.06.13
✎
09:11
|
(4) Стажер я, за зарплату.
|
|||
6
new1snik
20.06.13
✎
09:14
|
Разобрался.
НовСтрока = ВыбранныйДокументКорректировки.Движения.Хозрасчетный.Добавить(); НовСтрока.Организация = ОрганизацияКорректировки; НовСтрока.Период = ДатаКорректировки; НовСтрока.СчетДт = ПланыСчетов.Хозрасчетный.ИздержкиОбращенияНеОблагаемыеЕНВД; НовСтрока.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; НовСтрока.Сумма = Сумма; НовСтрока.Активность = 1; НовСтрока.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат, Справочники.СтатьиЗатрат.НайтиПоНаименованию("Возвратные отходы")); НовСтрока.СубконтоКт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура, Справочники.Номенклатура.НайтиПоНаименованию("Велосипед")); Вот таким образом субконто проставляется. |
|||
7
cw014
20.06.13
✎
09:31
|
СП читать не предлагать?
|
|||
8
shuhard
20.06.13
✎
09:32
|
(6)[НовСтрока.СубконтоДт.Вставить]
дурной вариант |
|||
9
new1snik
20.06.13
✎
09:51
|
(8) А какой не дурной?
|
|||
10
salvator
20.06.13
✎
09:53
|
НовСтрока.СубконтоДт.СтатьиЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Возвратные отходы"));
|
|||
11
new1snik
20.06.13
✎
10:17
|
(10) Благодарю.
|
|||
12
zak555
20.06.13
✎
10:20
|
НовСтрока.СубконтоДт.СтатьиЗатрат
аналогично НовСтрока.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат] |
|||
13
new1snik
20.06.13
✎
10:33
|
Сейчас пытаюсь в цикле добавлять движения в документ, но ничего не получается - либо создается только 1 документ, либо совсем ничего не создается. Вот код:
Для Каждого Элемент Из ТаблицаРезультатовЗапроса Цикл Сообщить(Элемент.Субконто1); Сообщить(Элемент.Субконто2); Сообщить(Элемент.Сумма); Сообщить("_________"); // Движения регистара бухгалтерии НовСтрока = ВыбранныйДокументКорректировки.Движения.Хозрасчетный.Добавить(); НовСтрока.Организация = ОрганизацияКорректировки; НовСтрока.Период = ДатаКорректировки; НовСтрока.СчетДт = ПланыСчетов.Хозрасчетный.ИздержкиОбращенияНеОблагаемыеЕНВД; НовСтрока.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; НовСтрока.Сумма = Сумма; НовСтрока.Активность = 1; НовСтрока.СубконтоДт.СтатьиЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Возвратные отходы"); НовСтрока.СубконтоКт.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Велосипед"); НовСтрока.СубконтоКт.Склады = Справочники.Склады.НайтиПоНаименованию(".Склад1"); ВыбранныйДокументКорректировки.Записать(); КонецЦикла; Что не так? |
|||
14
new1snik
20.06.13
✎
10:34
|
(13) Запрос возвращает 8 строк, то есть я рассчитываю создать 8 записей.
|
|||
15
zak555
20.06.13
✎
10:35
|
ВыбранныйДокументКорректировки.Движения.Хозрасчетный.Записать();
|
|||
16
new1snik
20.06.13
✎
10:41
|
(15) Не создается 8 записей.
А если вынести код из цикла, то создается только 2 записи, если код повторить 3 и больше раз, то вообще ничего не создается. |
|||
17
zak555
20.06.13
✎
10:43
|
Хозрасчетный = ВыбранныйДокументКорректировки.Движения.Хозрасчетный;
Для Каждого Элемент Из ТаблицаРезультатовЗапроса Цикл НовСтрока = Хозрасчетный.Добавить(); //... конецЦикла; Хозрасчетный .Записать(); |
|||
18
new1snik
20.06.13
✎
10:44
|
(16) Хм, если менять в коде, например, субконто в каждой записи, то записи добавляются. Больше 2 одинаковых не создается, видимо.
|
|||
19
new1snik
20.06.13
✎
12:25
|
Опять двадцать пять. Сейчас пытаюсь добавить запись в регистр накопления "ПартииТоваровНаСкладахНалоговыйУчет", но ничего не получается.
Добавляю вот так: ПартииТоваровНаСкладахНалоговыйУчет = ВыбранныйДокументКорректировки.Движения.ПартииТоваровНаСкладахНалоговыйУчет; НовСтрока = ПартииТоваровНаСкладахНалоговыйУчет.Добавить(); НовСтрока.ВидДвижения = ВидДвиженияНакопления.Приход; НовСтрока.Стоимость = Сумма; НовСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Субконто1); НовСтрока.Период = ДатаКорректировки; НовСтрока.Организация = ОрганизацияКорректировки; НовСтрока.Активность = 1; ПартииТоваровНаСкладахНалоговыйУчет.Записать(); ВыбранныйДокументКорректировки.Записать(); Но если записывать подобным образом в регистр накопления "Товары на складах", то там запись появляется. |
|||
20
Csar
20.06.13
✎
12:42
|
(19) а в партиях разве не обязательно указывать регистратор?
|
|||
21
new1snik
20.06.13
✎
12:51
|
(20) Не знаю.
Нашел вот такой код: Новая = ВыбранныйДокументКорректировки.ТаблицаРегистровНакопления.Добавить(); Новая.Имя = "ПартииТоваровНаСкладахНалоговыйУчет"; Новая.Представление = "Партии товаров на складах (налоговый учет)"; Строка = ВыбранныйДокументКорректировки.Движения.ПартииТоваровНаСкладахНалоговыйУчет.Добавить(); // Добавляешь колонки из таблицы Строка.Активность = Истина; Строка.Период = ТекущаяДата(); ВыбранныйДокументКорректировки.Записать(); Вроде работает. Но если в выбранном документе корректировки уже был добавлен регистр накопления ПартииТоваровНаСкладахНалоговыйУчет, то при попытке открытия документа выдает оошибку, о том, что возникла ошибка метода контента Вставить. |
|||
22
Csar
20.06.13
✎
12:56
|
(21) попробуй в (19) все же вписать регистратор и его заполнение. Вдруг поможет.
PS подсказка в стиле "перезагрузи винду - вдруг поможет". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |