Имя: Пароль:
1C
1C 7.7
v7: Ошибка в обработке проведения...
0 2yha
 
05.10.08
13:34
Здравствуйте, создала док Закрытие договора займа.

Процедура ОбработкаПроведения()
   // определяем сумму займа
   опер = создатьОбъект("Операция");
   //задаем фильтр по субконто
   опер.выбратьОперацииСПроводками(договор.датаНачала,датаДок,"51,65.3,52,65.33");
       опер.использоватьСубконто(видыСубконто.договорыЗайма,договор);
   сумма = 0;
   Пока опер.получитьПроводку = 1 Цикл
       Если (опер.дебет.счет = счетПоКоду("52")) и (опер.валСумма>0) Тогда
           //сумма в валюте
           сумма = опер.валСумма;
           датаНачала = опер.датаОперации;
           валюта = опер.валюта;
           агент = опер.кредит.субконто(1);
           заимодавец = опер.кредит.субконто(2);
           прервать;                            
       иначеЕсли (опер.дебет.счет = счетПоКоду("51")) и (опер.сумма> 0 ) тогда
           //сумма в руб
           сумма = опер.сумма;
           датаНачала = опер.датаОперации;
           валюта = константа.ОсновнаяВалюта;
           агент = опер.кредит.субконто(1);
           заимодавец = опер.кредит.субконто(2);
           прервать;    
       КонецЕсли;
   КонецЦикла;
   Если сумма = 0  Тогда
       сообщить("По договору "+Договор+ " не поступали денежные средства!");
       неПроводитьДокумент();
       возврат;
   КонецЕсли;
   //определяем срок договора. процент
   срок = датаДок - ДатаНачала;
   Если датаДок<договор.датаОкончания Тогда
       процент = договор.процентДосрочный;
   иначе
       процент = договор.процентСрочный;    
   КонецЕсли;
   //определяем сумму процентов в валюте договора
   суммаПроцентов = сумма*процент*срок/365/100;
   //создаем проводку
   операция.новаяПроводка();
   операция.дебет.счет = счетПоКоду("91.2");
   Если валюта = константа.ОсновнаяВалюта Тогда
       // договор в руб
       операция.кредит.счет = счетПоКоду("65.4");
       операция.сумма = суммаПроцентов;
   иначе
       //договор в валюте
       операция.кредит.счет = счетПоКоду("65.44");
       операция.валСумма = суммаПроцентов;
       операция.сумма = суммаПроцентов*валюта.курс.получить(датаДок)/валюта.кратность.получить(датаДок);    
   КонецЕсли;
   операция.кредит.агенты = агент;
   операция.кредит.заимодавцы = заимодавец;
   операция.кредит.договорыЗайма = договор;
   операция.Записать();
КонецПроцедуры

При компиляции выдает следующую ошибку
Пока опер.получитьПроводку = 1 Цикл
{Документ.ЗакрытиеДоговораЗайма.Модуль Документа(16)}: Поле агрегатного объекта не обнаружено (получитьПроводку)

Подскажите, как правильно сделать? хотя проводки есть по счетам....
1 ТелепатБот
 
гуру
05.10.08
13:34
2 Дядя Васька
 
05.10.08
13:41
Скобки поставь
3 2yha
 
05.10.08
13:46
в каком месте скобки должны быть?
4 2yha
 
05.10.08
13:50
ааа. ясно про скобки:)
5 2yha
 
05.10.08
13:52
Теперь такую ошибку выдает...
операция.новаяПроводка();
{Документ.ЗакрытиеДоговораЗайма.Модуль Документа(44)}: Недопустимая операция
6 Euguln
 
05.10.08
14:02
У документа поставь галочку "Бухгалтерский учет"
7 2yha
 
06.10.08
12:09
Да, поставила:)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn