7.7 Подскажите пожалуйста, не могу определить

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

  1. TopicStarter Overlay
    kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    При проведении этого документа выбирается счет 91.2 и статья расходов бонус покупателям,контрагент и все.В журнале проводок должна быть такая картина:дебет 91.2 и кредит 76.5.Но есть проблема при создании документа возникает еще одна проводка(при чем не постоянно а из 10 случаев только один документ) дебет 91.2 и кредит 91.2.Скрины и код модуля документа тут же.
    Код:
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ
    //
    //******************************************************************************
    
    Процедура ОбработкаПроведенияПоВзаиморасчетам()
    
    Перем ТаблицаДолгов;
    Перем ВремРегистры;
    Перем ВремВзаиморасчеты;
    Перем КодОперации;
    
    КодОперации = глКО.Прочее;
    
    СписокПараметров=СоздатьОбъект("СписокЗначений");
    СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок");
    СписокПараметров.ДобавитьЗначение(Фирма,		"Фирма");
    СписокПараметров.ДобавитьЗначение(КодОперации,	"КодОперации");
    
    ВремРегистры = СоздатьОбъект("Регистры"); 
    Если Сумма<0 Тогда
    СписокПараметров.ДобавитьЗначение(-1, "ЗнакДвижения"); // уменьшение долга клиента
    Иначе     
    СписокПараметров.ДобавитьЗначение(1, "ЗнакДвижения"); // увеличение долга клиента
    КонецЕсли;
    
    Если ВидОперации = Перечисление.ВидыОперацийКоррДолга.Покупатель Тогда
    ВремВзаиморасчеты=ВремРегистры.Покупатели;
    Иначе     
    ВремВзаиморасчеты=ВремРегистры.Поставщики;
    КонецЕсли;
    
    глФильтрДолгов(Контекст, Договор, СписокПараметров, ВремВзаиморасчеты);
    
    Если ИтогиАктуальны() = 0 Тогда
    ВремРегистры.Актуальность(1);
    ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
    КонецЕсли;
    
    
    ТаблДолгов = СоздатьОбъект("ТаблицаЗначений");
    
    ТаблДолгов.НоваяКолонка("КредДокумент");
    ТаблДолгов.НоваяКолонка("ВидДолга");
    ТаблДолгов.НоваяКолонка("СтавкаНДС");
    ТаблДолгов.НоваяКолонка("СтавкаНП");
    ТаблДолгов.НоваяКолонка("Сумма");
    ТаблДолгов.НоваяКолонка("СуммаУпр");
    ТаблДолгов.НоваяКолонка("СуммаРуб");
    ТаблДолгов.НоваяКолонка("СуммаНДС");
    ТаблДолгов.НоваяКолонка("СуммаНП");
    ТаблДолгов.НоваяКолонка("Себестоимость");
    ТаблДолгов.НоваяКолонка("ОблагаетсяНП");        
    ТаблДолгов.НоваяКолонка("ДоговорКомитента");
    
    КурсДоллара	= глКурсДляВалюты(глДоллары,ДатаДок);
    КратДоллара = глКратностьДляВалюты(глДоллары,ДатаДок);
    КурсРубля	= глКурсДляВалюты(глРубли,ДатаДок);
    КратРубля   = глКратностьДляВалюты(глРубли,ДатаДок);
    
    ТаблДолгов.НоваяСтрока();
    
    ТаблДолгов.КредДокумент = ТекущийДокумент();  
    
    ТаблДолгов.ВидДолга 	= глВД.Аванс;    
    
    // суммы
    ВалютаВзаим	= Договор.ВалютаВзаиморасчетов;
    
    ЗнакСуммы  	= ?(Сумма<0,-1,1);
    ТаблДолгов.СуммаУпр = ЗнакСуммы*?(ВалютаВзаим=глДоллары	,СуммаВзаиморасчетов,глПересчет(Сумма,Валюта,Курс,глДоллары,КурсДоллара,Кратность,КратДоллара));
    ТаблДолгов.СуммаРуб = ЗнакСуммы*?(ВалютаВзаим=глРубли	,СуммаВзаиморасчетов,глПересчет(Сумма,Валюта,Курс,глРубли,	КурсРубля,  Кратность,КратРубля));
    ТаблДолгов.Сумма 	= ЗнакСуммы*СуммаВзаиморасчетов;
    
    Если ВидОперации = Перечисление.ВидыОперацийКоррДолга.Поставщик Тогда
    ТекущийДолг = ВремВзаиморасчеты.СводныйОстаток(Фирма,Договор,,,"СуммаВал");  
    //Lina++ 
    ТаблДолгов.ВидДолга 	= глВД.ДолгЗаТовары;
    //Если (ЗнакСуммы < 0) И (ТаблДолгов.Сумма > ТекущийДолг) Тогда
    //    глНеПроводить(Контекст, "Сумма корректировки превышает долг поставщика перед фирмой!");
    //	Возврат;
    //КонецЕсли;
    //Lina--
    КонецЕсли;
    
    ТаблДолгов.СуммаНДС = 0;
    ТаблДолгов.СуммаНП 	= 0;
    ТаблДолгов.СтавкаНДС= ПолучитьПустоеЗначение(Перечисление.СтавкиНДС);
    ТаблДолгов.СтавкаНП = ПолучитьПустоеЗначение("Справочник.СтавкиНП");
    
    ТаблДолгов.Себестоимость = 0;
    ТаблДолгов.ОблагаетсяНП = ОблагаетсяНП;
    
    глДвижениеДолгов(Контекст, Договор,ТаблДолгов,СписокПараметров,ВремВзаиморасчеты);
    
    КонецПроцедуры  // ОбработкаПроведенияПоВзаиморасчетам()
    
    //******************************************************************************
    // ПроведениеПоРегистрам()
    //
    // Параметры:
    //  Нет.
    //
    // Возвращаемое значение:
    //  Нет.
    //
    // Описание:
    //  Проведение по регистрам оперативного учета.
    //
    Процедура ПроведениеПоРегистрам()
    
    // Удаление движений по регистрам.
    Для Номер = 1 По Метаданные.Регистр() Цикл
    ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор);
    КонецЦикла;
    
    ОбработкаПроведенияПоВзаиморасчетам(); 
    
    КонецПроцедуры // ПроведениеПоРегистрам()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
    //
    //******************************************************************************
    // Предопределенная процедура.
    //
    Процедура ОбработкаПроведения(ВидыДвижений)
    
    // Проверка заполненности обязательных реквизитов.
    Если глВсеРеквизитыДокументаЗаполнены(Контекст,
    "Фирма,Валюта,Контрагент,Договор,ВидОперации")=0 Тогда
    Возврат;
    КонецЕсли;
    
    Если Сумма  = 0 Тогда
    Возврат;
    КонецЕсли;
    
    // Проведение по регистрам оперативного учета.	
    Если (ПустоеЗначение(ВидыДвижений) = 1) ИЛИ (Найти(ВидыДвижений, "Регистр") <> 0) Тогда
    ПроведениеПоРегистрам();
    
    Если СтатусВозврата() = 0 Тогда
    Возврат;
    КонецЕсли;
    КонецЕсли;
    
    глПриПроведении(Контекст, ВидыДвижений);
    
    КонецПроцедуры //ОбработкаПроведения()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ
    
    

    Вложения:

    • s1.JPG
      s1.JPG
      Размер файла:
      195,4 КБ
      Просмотров:
      23
    • s2.JPG
      s2.JPG
      Размер файла:
      199 КБ
      Просмотров:
      19
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Все дело в том, что проводки в комплексной формируются на основании регистров
    смотрите в процедуре глПриПроведении идет ее вызов. Там еще менять надо (или как вариант правильно отслеживать вид операции (корректировка поставщик/покупатель))
  3. TopicStarter Overlay
    kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    А не подскажите что именно поменять,а то дали задание а я в этом не очень силен.Заранее спасибо
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Нужно "отлавливать" момент формирования проводок отладчиком, а для этого нужна КОНКРЕТНАЯ конфа - телепатически помочь не получится
  5. TopicStarter Overlay
    kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    А если я Вам дам конфу?Очень нужно.Обещаю что больше не буду такого просить.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Конфа необходима с данными (чтобы сразу выловить глюк)
    Если нет ничего конфеденциального - выкладывайте в файлообменник архив ссылку сюда или в личку/почту/асю - по желанию

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