Имя: Пароль:
1C
1C 7.7
v7: Выписка банковская продолжение
0 Asia2016
 
18.08.16
11:13
Если проводишь выписку банковскую в первый раз, то все хорошо, все проводится, обороты правильные. Если надо подкорректировать что-то и затем проводишь второй и более раз, столько раз она записывает проводку расхода. Даже если на посмотреть не отменяя проведение все равно записывает проводки
1 Зая Бусечка
 
18.08.16
11:15
У моего бывшего где валялся ТТ. Могу попросить одолжить его вам, чтобы вы его применили сначала к программисту, потом к себе.
2 Asia2016
 
18.08.16
12:04
Процедура ЗаполнитьПлПор()      
       
      ТП = СоздатьОбъект("ТаблицаЗначений");  
    ТП.НоваяКолонка("ПервичныйДокумент");
    ТП.НоваяКолонка("ВидДвижения");
    ТП.НоваяКолонка("НазначениеПлатежа");  
    ТП.НоваяКолонка("КоррСчет");
    ТП.НоваяКолонка("Расход");
    ТП.НоваяКолонка("Субконто1");
      ТП.НоваяКолонка("Субконто2");  
      ТП.НоваяКолонка("БанковскийСчет");      
  
      ДокПлПор = СоздатьОбъект("Документ.ПлатежноеПоручение");
    ДокПлПор.ВыбратьДокументы(ДатаДок,ДатаДок);      
    Пока ДокПлПор.ПолучитьДокумент()=1 Цикл  
        Если ПометкаУдаления() = 0 Тогда  
            Если ДокПлПор.РасчетныйСчет = БанковскийСчет Тогда
            ТП.НоваяСтрока();              
            ТП.ПервичныйДокумент = ДокПлПор.ТекущийДокумент();
              ТП.ВИдДвижения = Перечисление.ВидыДвиженийПоРасчетномуСчету.Оплата;  
              ТП.НазначениеПлатежа = ДокПлПор.СодержаниеПлатежа;  
              ТП.КоррСчет = ДокПлПор.Счет;
              ТП.Расход   = ДокПлПор.Сумма;  
            ТП.Субконто1= ДокПлПор.Контрагент;
            ТП.Субконто2= ДокПлПор.Договор;
            ТП.БанковскийСчет = ДокПлПор.РасчетныйСчет;
            КонецЕсли;
        КонецЕсли;    
    КонецЦикла;                    
    ТП.Свернуть("ПервичныйДокумент,ВИдДвижения,НазначениеПлатежа,КоррСчет,Расход, Субконто1, Субконто2, БанковскийСчет ",);
    ЗагрузитьТабличнуюЧасть(ТП);
    ТП.ВыбратьСтроки();
    Пока ТП.ПолучитьСтроку() = 1 Цикл
        ТП.Очистить();                
    КонецЦикла;    
  КонецПроцедуры  
Процедура заполнения
Перем Сч46, Сч62_1, Сч62_2, Сч64_1, Сч64_2, Сч76_1, Сч76_2, Сч76_4;
Перем Сч67_2, Сч45_10, Сч68_30, СчПС;
Перем БухИт;
//_____________________________________________________________________________
Функция ПоказатьКурс()
    Перем Стр;
    Если Валюта.Выбран() = 1 Тогда
        Стр = Валюта.Курс.Получить(ДатаДок);
    Иначе
        Стр = "";
    КонецЕсли;
    Возврат Стр;
КонецФункции //ПоказатьКурс

Процедура ОбработкаПроведения()
    БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
    курс=Показатькурс();
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Валютный Тогда
        Счет = Счетпокоду("52.10");
    Конецесли;
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Рублевый Тогда
        Счет = Счетпокоду("51.10");
    КонецЕсли;
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Блок_счет_вал Тогда
        Счет = Счетпокоду("55.30.2");
    КонецЕсли;
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Блок_счет_сум Тогда
        Счет = Счетпокоду("55.30.1");
    КонецЕсли;
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Корпоративный Тогда
        Счет = Счетпокоду("55.40");
    КонецЕсли;
    Если БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Аккредитив Тогда
        Счет = Счетпокоду("55.10");
    КонецЕсли;
    
    Если (БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Валютный) или (БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Блок_счет_вал)или (БанковскийСчет.ТипСчета = Перечисление.ТипыБанковскихСчетов.Аккредитив) Тогда  
        Валютный = 2;
    Иначе
        Валютный = 1;
    КонецЕсли;

    ВыбратьСтроки() ;
    Пока ПолучитьСтроку () = 1 Цикл
        
        Если Расход> 0 Тогда
            Операция.НоваяПроводка() ;
            Операция.НомерЖурнала     = "1" ;
            Операция.АвторПроводки    = Пользователь;
            Операция.ДатаОперации   = ДатаДок;
            Операция.Дебет.Счет     = КоррСЧет ;
            Операция.дебет.субконто(1,субконто1);
            Операция.дебет.субконто(2,субконто2);
            Операция.дебет.субконто(3,субконто3);
            Операция.Кредит.Счет            = Счет;
            Операция.Кредит.БанковскиеСчета = БанковскийСчет;
            Операция.Сумма                     = Расход ;
            Операция.СодержаниеПроводки     = ""+Назначениеплатежа;
            Если (Операция.Дебет.Счет.Валютный = 1) ИЛИ (Операция.Кредит.Счет.Валютный = 1) Тогда
                Операция.Валюта        = валюта;
                Операция.валсумма    = Валсумма;
            КонецЕсли;
        Конецесли;
        
        Если Приход >0 Тогда
            Операция.НоваяПроводка();
            Операция.НомерЖурнала             = "1" ;
            Операция.АвторПроводки            = Пользователь;
            Операция.ДатаОперации           = ДатаДок;
            Операция.Дебет.Счет             = Счет;
            Операция.Дебет.БанковскиеСчета     = БанковскийСчет;
            Операция.Кредит.Счет             = КоррСчет;
            Операция.кредит.субконто(1,субконто1);
            Операция.кредит.субконто(2,субконто2);
            Операция.кредит.субконто(3,субконто3);
            Операция.Сумма                     = Приход ;
            Операция.СодержаниеПроводки     = ""+назначениеплатежа;
            Если (Операция.Дебет.Счет.Валютный = 1) ИЛИ (Операция.Кредит.Счет.Валютный = 1) Тогда
                Операция.Валюта        = валюта;
                Операция.валсумма    = Валсумма;
            КонецЕсли;
        Конецесли;
        Операция.ЗаписатьПроводки() ;
        
    
    КонецЦикла ;  
    
    Операция.Записать() ;
КонецПроцедуры
Проведение
Что не так?
3 Alexor
 
18.08.16
12:05
Самое простое. Поставьте галочку очищать движения в свойствах документа
4 Это_mike
 
18.08.16
12:06
(1) "из пушки - по тараканам"©?
5 Зая Бусечка
 
18.08.16
12:07
(4) Не, проще. Термоядерной бомбой по муравьям...
6 Asia2016
 
18.08.16
12:09
(3) это где такая волшебная галочка находится
7 Масянька
 
18.08.16
12:11
(4) (5) Встретились два одиночества... :))))))))))
8 Asia2016
 
18.08.16
12:18
Вроде как получилось. Спасибо. Попробую тестировать