Имя: Пароль:
1C
1С v8
Проблема с БухгалтерскийУчет.УстановитьСубконто
0 iQwerty
 
02.07.13
17:55
Ошибка вида
{ОбщийМодуль.БухгалтерскийУчет.Модуль(371)}: Получение элемента по индексу для значения не определено
           ВидСубк = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные[ИмяСубконто];
..........................


Процедура Кнопка1Нажатие(Элемент)
Запрос2 = Новый Запрос;    

Запрос2.УстановитьПараметр("ДатаНачалаПериода", началодня(ДатаНачалаПериода));
Запрос2.УстановитьПараметр("ДатаКонецПериода", Конецдня(ДатаКонецПериода));
    Запрос2.УстановитьПараметр("Гарантия",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Гарантия"));
Запрос2.УстановитьПараметр("Бесплатная",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Бесплатная"));
Запрос2.УстановитьПараметр("Доукомплектация",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Доукомплектация"));
Запрос2.УстановитьПараметр("Гарантийная", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Гарантийная"));
Запрос2.УстановитьПараметр("Бесплатная1", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Бесплатная"));
Запрос2.УстановитьПараметр("Доукомплектация1", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Доукомплектация"));

Запрос2.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|    ПоступлениеТоваровУслуг.Дата,
|    ПоступлениеТоваровУслуг.Организация,
|    ПоступлениеТоваровУслуг.Ответственный,
|    ПоступлениеТоваровУслуг.Контрагент.Код,
|    ПоступлениеТоваровУслуг.Номер,
|    ПоступлениеТоваровУслуг.Контрагент
|ИЗ
|    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|            ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка
|        ПО ЗначенияСвойствОбъектов.Объект = ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры
|ГДЕ
|    ЗначенияСвойствОбъектов.Свойство В (&Гарантия, &Бесплатная, &Доукомплектация)
|    И ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаКонецПериода
|    И ЗначенияСвойствОбъектов.Значение В (&Гарантийная, &Бесплатная1, &Доукомплектация1)";
ТЗ=Новый ТаблицаЗначений;
     ТЗ.Колонки.Добавить("ссылка");
     ТЗ.Колонки.Добавить("номенклатура");
     ТЗ.Колонки.Добавить("Характеристика");
     ТЗ.Колонки.Добавить("Дата");
     ТЗ.Колонки.Добавить("Организация");
     ТЗ.Колонки.Добавить("Сумма");
     ТЗ.Колонки.Добавить("Ответственный");
      ТЗ.Колонки.Добавить("Номер");

     //ТЗ.Колонки.Добавить("Содержание");    
     // ТЗ.Колонки.Добавить("Комментарий");
Результат2=Запрос2.Выполнить();
ТЗ2 = Результат2.Выгрузить();

ЭлементыФормы.ТабличноеПоле3.Значение = ТЗ2;
ЭлементыФормы.ТабличноеПоле3.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле3.ОбновитьСтроки();

////////////////////
    для каждого строка из ТабличноеПоле3 цикл
         
ДокОпер  = Документы.ОперацияБух.СоздатьДокумент();

ДокОпер.Дата = Строка.Дата;
ДокОпер.Организация = Строка.Организация;
//докопер.Номер=Строка.Номер;
//ДокОпер.Движения.Хозрасчетный.Загрузить(Результат1.Выгрузить());    
ДокОпер.Записать();
ДокОперацияСсылка = ДокОпер.Ссылка;
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка;
////////////////
   Контрагент = Строка.Контрагент;
   //КодОС = СокрП(ДБФ.OS);
   //ОсновноеСредство = Справочники.ОсновныеСредства.НайтиПоКоду(КодОС);
   РегЗапись = РегХозрасчетный.Добавить();
   РегЗапись.Период = Строка.Дата;
   РегЗапись.Регистратор = ДокОперацияСсылка;
   РегЗапись.Организация = Строка.Организация;
   РегЗапись.Содержание  = "Корректировка стоимости ОС с 0 стоимостью(Макс)";
   РегЗапись.СчетДт = ПланыСчетов.Хозрасчетный.МЦвОрганизации.Ссылка;
     РегЗапись.СчетКт = ПланыСчетов.Хозрасчетный.АвансыВИностраннойВалюте.Ссылка;

   БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, РегЗапись.СчетКт, РегЗапись.СубконтоКт, "Контрагенты", Контрагент);
   //БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, РегЗапись.СчетКт, РегЗапись.СубконтоКт, "ОсновныеСредства", ОсновноеСредство);
   //РегЗапись.Сумма = Строка.Сумма;

 
РегХозрасчетный.Записать();        
       
       
    конеццикла;

////////////////////////


КонецПроцедуры
1 Поросенок Петр
 
02.07.13
19:05
Отладчик вирусы зохавали?
2 iQwerty
 
02.07.13
19:58
ошибку решил,почти все работает, только почему то не заполняется субконто 1(то есть пустая)
вот код
Контрагент = строка.контрагент;
.....................
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт,"Контрагенты", Контрагент);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, "Контрагенты", Контрагент);
3 iQwerty
 
02.07.13
20:00
в отладчике значение контрагент то что нужно
но почему то пустует субконто
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн