Имя: Пароль:
1C
1С v8
Программное создание документа "Возврат товаров поставщику"
0 ThugLife
 
04.04.12
10:07
возвратПоставщику = Документы.ВозвратТоваровПоставщику.СоздатьДокумент();
           возвратПоставщику.ВидОперации = Перечисления.ВидыОперацийВозвратТоваровПоставщику.ПокупкаКомиссия;
           НомерДокументаОснования = элемент.ПолучитьАтрибут("ДокументОснование");
           возвратПоставщику.Комментарий = элемент.ПолучитьАтрибут("Номер") + " Номер сделки: " + НомерДокументаОснования;
           возвратПоставщику.Организация = Организация;
           возвратПоставщику.Дата = Дата(СокрЛП((элемент.ПолучитьАтрибут("Дата"))));
           возвратПоставщику.Склад = Справочники.Склады.НайтиПоНаименованию(элемент.ПолучитьАтрибут("Склад"));
           возвратПоставщику.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(элемент.ПолучитьАтрибут("Клиент"));
           возвратПоставщику.ВалютаДокумента = рубли;
           возвратПоставщику.КурсВзаиморасчетов = 1;
           возвратПоставщику.КратностьВзаиморасчетов = 1;
           возвратПоставщику.СтатьяДоходовИРасходов = Справочники.ПрочиеДоходыИРасходы.НайтиПоНаименованию("Прочие косвенные расходы");
           возвратПоставщику.СчетУчетаДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
           возвратПоставщику.ДоговорКонтрагента = ПолучитьДоговорКонтрагента(элемент.ПолучитьАтрибут("Клиент"), элемент.ПолучитьАтрибут("Договор"));
           возвратПоставщику.СчетУчетаРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01");
           возвратПоставщику.СчетУчетаРасчетовПоПретензиям = ПланыСчетов.Хозрасчетный.РасчетыПоПрочимОперациям;
           
           ДокументыПоступлениеТоваровИУслег = Документы.ПоступлениеТоваровУслуг.Выбрать();
           Пока ДокументыПоступлениеТоваровИУслег.Следующий() Цикл
               Если ДокументыПоступлениеТоваровИУслег.Комментарий = НомерДокументаОснования Тогда
                   возвратПоставщику.Сделка = ДокументыПоступлениеТоваровИУслег.Ссылка;
                   break;
               КонецЕсли;
           КонецЦикла;    
           
           Количество = 0;
           сумма = 0;
           Для л = 0 По элемент.ДочерниеУзлы.Количество() - 1 Цикл
               Количество = Количество + Число(СокрЛП(элемент.ДочерниеУзлы.Элемент(л).ПолучитьАтрибут("Количество")));
               сумма = сумма + Число(СокрЛП(элемент.ДочерниеУзлы.Элемент(л).ПолучитьАтрибут("Сумма")));
           КонецЦикла;
           
           Если количество <> 0 Тогда
               строкаТаблицы = возвратПоставщику.Товары.Добавить();
               строкаТаблицы.Номенклатура = товар;
               строкаТаблицы.Количество = 12;
               строкаТаблицы.Цена = сумма / количество;
               строкаТаблицы.Сумма = сумма;
               строкаТаблицы.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
               строкаТаблицы.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
               строкаТаблицы.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ;
               строкаТаблицы.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
               строкаТаблицы.СуммаНДС = 0;
               
           КонецЕсли;
           Если  возвратПоставщику.Сделка.Пустая() Тогда
               возвратПоставщику.Записать();
               Сообщить("Создан документ ""Возврат поставщику"", но не проведен...");
           Иначе
               возвратПоставщику.Записать(РежимЗаписиДокумента.Проведение);
               Сообщить("Создан и проведен документ ""Возврат поставщику""...");
           КонецЕсли;
           Продолжить;


Возникает ошибка:


{ОбщийМодуль.НалоговыйУчетУСН.Модуль(4981)}: Значение не является значением объектного типа (Количество)
               Если ТаблицаОплат.Количество() > 0 Тогда


В отладчике СтруктураДопПараметров.ТаблицаРасчетов равно "Неопределено".

Какой параметр я не заполнил?
1 Шапокляк
 
04.04.12
10:08
ТаблицаРасчетов или ТаблицаОплат?
2 Wobland
 
04.04.12
10:09
ДокументыПоступлениеТоваровИУслег - круто!
Если ДокументыПоступлениеТоваровИУслег.Комментарий = НомерДокументаОснования Тогда - ещё круче
а по теме я так и не понял, в каком месте оно лезет в УчётУСН
3 ThugLife
 
04.04.12
10:11
Шапокляк расчетов.
4 ThugLife
 
04.04.12
10:11
Wobland при записи документа.
5 ThugLife
 
04.04.12
10:12
Опечатки не столь важны.
6 Wobland
 
04.04.12
10:12
(4) смотри что передаётся в УчётУСН в качестве ТаблицаОплат и думай
7 Wobland
 
04.04.12
10:13
(5) опечатки?
8 ThugLife
 
04.04.12
10:15
Wobland и че?
9 Wobland
 
04.04.12
10:17
(8) вызов этой процедуры покажи что-ли... или конфигурацию назови
10 ThugLife
 
04.04.12
10:17
Бухгалтерия.
11 Wobland
 
04.04.12
10:20
(10) строка 4981 у меня принадлежит процедуре ОтразитьВУСН(), вызов этой процедуры из модуля документа не производится
12 Wobland
 
04.04.12
10:22
>СтруктураДопПараметров.ТаблицаРасчетов равно "Неопределено".
остаётся правильно её заполнить
13 ThugLife
 
04.04.12
10:23
В этом весь вопрос - что это за реквизит/табличная часть.
14 Wobland
 
04.04.12
10:24
я бы включил остановку по ошибке, посмотрел бы на стек вызовов и стал бы размышлять ;)
15 ThugLife
 
04.04.12
12:55
Вопрос решен. Проведение сделал не оперативным.
Ошибка? Это не ошибка, это системная функция.