![]() |
|
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
|
Вроде как получилось. Спасибо. Попробую тестировать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |