7.7 Проблема с формированием операции

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем wise, 29 авг 2006.

  1. TopicStarter Overlay
    wise
    Offline

    wise

    Регистрация:
    25 авг 2006
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Бухгалтерия Бюджет

    Создаю программно операцию ставлю Дебет, Кредит, содержание субконто, сумму проводки. Пишу операция записать. Операция отражается в журнале операций, но сумма и аналитика не отражается на счете.. Подскажите в чем проблема. :unsure:
  2. consaltingl
    Offline

    consaltingl

    Регистрация:
    29 авг 2006
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Хорошо бы код увидеть. А то в слепую сложно.
  3. TopicStarter Overlay
    wise
    Offline

    wise

    Регистрация:
    25 авг 2006
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Вот такой примерно кодильник. Все робит операция формируется, только не проводится автоматически... :unsure:
    Есть еще одна заморочка, как указать учрежедние в операции?


    Данные читаются из DBF файла.

    П
    Код:
    роцедура Сформировать()
    
    ФайлИмпорта=Создатьобъект("XBase");
    ФайлИмпорта.ОткрытьФайл(ИмяВходногоФайла);
    Если ФайлИмпорта.Открыта() = 1 Тогда
    
    СпрСотр           = СоздатьОбъект("Справочник.Сотрудники");
    - - -   И другие необходимые справочники
    
    Опер = СоздатьОбъект("Операция");    
    Опер.ВыбратьОперации(ДатаТек,ДатаТек);
    
    
    НачатьТранзакцию();        
    
    Опер = СоздатьОбъект("Операция");    
    Опер.Новая();
    Опер.ДатаОперации=ДатаТек;
    Опер.Содержание="Проводки " );
    
    Пока 1=1 Цикл        
    
    
    // Обработка DBF-файла
    
    Если ФайлИмпорта.SUM <> 0 Тогда
    
    Дт           = ФайлИмпорта.DT;
    Кт           = ФайлИмпорта.KT;   
    
    КодАнУчетДт1 = ФайлИмпорта.AND1;   
    КодАнУчетДт2 = ФайлИмпорта.AND2; 
    КодАнУчетДт3 = ФайлИмпорта.AND3;
    КодАнУчетДт4 = ФайлИмпорта.AND4;
    КодАнУчетДт5 = ФайлИмпорта.AND5;
    
    КодАнУчетКт1 = ФайлИмпорта.ANK1;
    КодАнУчетКт2 = ФайлИмпорта.ANK2;   
    КодАнУчетКт3 = ФайлИмпорта.ANK3;
    КодАнУчетКт4 = ФайлИмпорта.ANK4;
    
    КодНачисл    = ФайлИмпорта.KOD;   
    
    Опер.НоваяПроводка();
    Опер.Дебет.Счет = СчетПоКоду(Дт);
    Опер.Кредит.Счет = СчетПоКоду(Кт);
    Опер.Сумма = ФайлИмпорта.SUM;
    Сумма = Сумма + ФайлИмпорта.SUM;     
    
    ФлагОшибки = 0;
    Ошибка = "Не найдены реквизиты в проводке № " + 
    Формат(ФайлИмпорта.НомерЗаписи(),"Ч(0)5,0)") + 
    " Дт " + Дт + " Кт " + Кт + " : ";
    
    
    //* * * * * * * АНАЛИТИКА ДЕБЕТА * * * * * * * * * *
    
    //* * * Счет 106.04  Аналитика (4 субконто): спр - ФКР, спр - ОГС, спр - Номенклатура, спр - Виды затрат 
    
    Если Лев(Дт,6) = "106.04" Тогда                  
    
    // ФКР 
    Если СпрФКР.НайтиПоКоду(КодАнУчетДт1) = 1 Тогда  
    Опер.Дебет.Субконто(1,СпрФКР.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "ФКР " + КодАнУчетДт1 + " ";
    КонецЕсли;                                      
    
    // ОГС
    Если СпрОГС.НайтиПоКоду(КодАнУчетДт2,0) = 1 Тогда   
    Опер.Дебет.Субконто(2,СпрОГС.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "КОСГУ " + КодАнУчетДт2 + " ";
    КонецЕсли;                                      
    
    //Номенклатура
    Если СпрНом.НайтиПоКоду(КодАнУчетДт3) = 1 Тогда        
    Опер.Дебет.Субконто(3,СпрНом.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "Номенклатура " + КодАнУчетДт3 + " ";
    КонецЕсли;                                      
    
    //Виды зартат
    Если СпрВидыЗ.НайтиПоКоду(КодАнУчетДт4) = 1 Тогда        
    Опер.Дебет.Субконто(4,СпрВидыЗ.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "Виды зартат " + КодАнУчетДт4 + " ";
    КонецЕсли;                                      
    
    КонецЕсли;    
    
    - - -  И другие счета 
    
    //* * * * * * * АНАЛИТИКА КРЕДИТА * * * * * * * * * *
    
    //* * * СЧЕТ 304.01   Аналитика (3 субконто): спр - ФКР,  спр - ОГС, КонтрАгенты            
    
    
    Если  (Лев(Кт,6) = "304.01")  Тогда                
    
    // ФКР
    Если СпрФКР.НайтиПоКоду(КодАнУчетКт1) = 1 Тогда  
    Опер.Кредит.Субконто(1,СпрФКР.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "ФКР " + КодАнУчетКт1 + " ";
    КонецЕсли;                                      
    
    // ОГС
    Если СпрОГС.НайтиПоКоду(КодАнУчетКт2,0) = 1 Тогда   
    Опер.Кредит.Субконто(2,СпрОГС.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "КОСГУ " + КодАнУчетКт2 + " ";
    КонецЕсли;                                      
    
    // Контрагенты
    Если СпрКонт.НайтиПоКоду(КодАнУчетКт3,0) = 1 Тогда   
    Опер.Кредит.Субконто(3,СпрОГС.ТекущийЭлемент());
    Иначе     
    ФлагОшибки = 1;        
    Ошибка = Ошибка + "Контрагенты " + КодАнУчетКт3 + " ";
    КонецЕсли;                 
    
    КонецЕсли;  
    
    - - -  И другие счета 
    
    Если ФлагОшибки = 1 Тогда
    Сообщить(Ошибка);
    КонецЕсли;         
    
    
    КонецЕсли;  
    
    / Проверка конца файла
    Если ФайлИмпорта.Следующая()=0 Тогда      
    Прервать; 
    КонецЕсли;
    КонецЦикла;                             
    
    Опер.СуммаОперации  = Сумма;
    
    Опер.Записать();  
    
    ЗафиксироватьТранзакцию();
    
    ФайлИмпорта.ЗакрытьФайл();
    КонецПроцедуры
    
    
    
  4. Hopper
    Offline

    Hopper

    Регистрация:
    29 сен 2006
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Подскажите, решилась проблема?
    занимаюсь похожей операцией по основным средствам в бюджетке. До этого работал в небюджетных конфах - думал что все понимаю. Столкнулся с бюджетными операциями и "сел в лужу" не могу заполнить проводки в операции из обработки. Три ночи - результат нулевой. Почему не записываются субконто по КОСГУ и Основным средствам? Ведь они выбранны в справочниках как ТекущийЭлемент(), все данные считываются а в операцию не прописываются. Уже на грани помещательства.. поможите! :)

Поделиться этой страницей