Имя: Пароль:
1C
1C 7.7
v7: Получить субконто в Бух справке
0 Sulimov
 
23.11.11
15:36
Всем привет!
Нужно внешней обработкой создать документ "Бухгалтерскую справку" и записать туда проводки. Но что-то субконто не подставляется. Пишу так:
Процедура Сформировать()
   Счет10 = СчетПоКоду("10.10");
   //СпрМат = СоздатьОбъект("Справочник.Материалы");
   //СпрМест = СоздатьОбъект("Справочник.МестаХранения");
   БухИтоги = СоздатьОбъект("БухгалтерскиеИтоги");
   БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);
   БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестаХранения, , 1);
   БухИтоги.ВыполнитьЗапрос('01.01.80', ТекущаяДата(),Счет10,,2);  
   
   Док = СоздатьОбъект("Документ.БухгалтерскаяСправка");
   Док.Новый();
   Док.ДатаДок = ТекущаяДата();
   Док.СодержаниеОперации = "Перенос остатков по малоценным ОС с 10.10 на 10.12.1";
   
   БухИтоги.ВыбратьСубконто(1);  
   Пока БухИтоги.ПолучитьСубконто(1) = 1 цикл
       Если (БухИтоги.Субконто(1).ПринадлежитГруппе(ГруппаСправочника)=1) и (БухИтоги.Субконто(1).ЭтоГруппа()=0)  Тогда
           ВыбМат = БухИтоги.Субконто(1);
           БухИтоги.ВыбратьСубконто(2);
           Пока БухИтоги.ПолучитьСубконто(2)=1 Цикл
               ВыбМесто = БухИтоги.Субконто(2);
               Если БухИтоги.СКД("к") =0 Тогда
                   продолжить;
               Иначе
                   Количество = БухИтоги.СКД("к");
               КонецЕСли;
       Док.НоваяСтрока();
       Док.СчетДт = СчетПоКоду("10.12.1");
       Док.НазначитьТип(Док.СубконтоДт1, ВидыСубконто.Материалы);
       Док.НазначитьТип(Док.СубконтоДт2, ВидыСубконто.МестаХранения);
       Док.СубконтоДт1 = ВыбМат;
       Док.СубконтоДт2 = ВыбМесто;
       Док.СчетКт = СчетПоКоду("10.10");
       
       Док.НазначитьТип(Док.СубконтоКт1, ВидыСубконто.МестаХранения);
       Док.НазначитьТип(Док.СубконтоКт2, ВидыСубконто.МестаХранения);
       Док.СубконтоКт1 = ВыбМат;
       Док.СубконтоКт2 = ВыбМесто;
       Док.Количество = Количество;
       Док.Записать();
               
Сообщить(ВыбМат.Наименование + " "+ ВыбМесто.Наименование + " "+ Количество);
           КонецЦикла;            
       КонецЕсли;
   КонецЦикла;
КонецПроцедуры

Ну видимо что-то нето. Подскажите, кто знает..
1 Sulimov
 
23.11.11
15:36
Ругается так:
Док.НазначитьТип(Док.СубконтоДт1, ВидыСубконто.Материалы);
{D:\1C\ДОРАБОТКИ ПО НТЦ\ПЕРЕНОС ОСТАТКОВ С 10.10 НА 10.12.ERT(34)}: Реквизит с данным идентификатором не найден!
2 miki
 
23.11.11
15:38
Субконто(1), Субконто(2)
и тут опечатка:
>>Док.НазначитьТип(Док.СубконтоКт1, ВидыСубконто.МестаХранения);
 Док.НазначитьТип(Док.СубконтоКт2, ВидыСубконто.МестаХранения);
3 Сияющий Асинхраль
 
23.11.11
15:39
Первый реквизит НазначитьТип - строка, а ты что туда суешь?
4 miki
 
23.11.11
15:41
Или конкретно:
Док.Дебет.Материалы =
Док.Кредит.Материалы =
5 Sulimov
 
23.11.11
16:04
Спасибо!!!