1С бухгалтерия

Очень часто просят или спрашивают где задаются настройки загрузки банковских выписок в БП 3. И люди не охотно верят, когда говоришь что таких гибких настроек какие они хотят нет, что виды операций которые у них программа как-то определяет заложены внутри самой программы, а не где-то в пользовательских настройках. Поэтому привожу координаты и принцип по которому происходит загрузка выписок.

В общем модуле ЗагрузкаВыпискиПоБанковскомуСчету есть функция ХозяйственнаяОперация() в которой перебираются правила из таблицы ПравилаОпределенияХозяйственныхОпераций.

Для Каждого Правило Из ПравилаОпределенияХозяйственныхОпераций Цикл
 
	// Обязательные проверки, внешние по отношению к правилу (общие для всех правил)
	Если Правило.ПоступилоСписано <> Параметры.Операция.ПоступилоСписано Тогда
		Продолжить;
	КонецЕсли;
 
	РезультатОпределенияХозяйственнойОперации = ВыполнитьПравилоОпределенияХозяйственнойОперации(Параметры, Правило, Истина);
 
	Если РезультатОпределенияХозяйственнойОперации.Определена Тогда
 
		Возврат РезультатОпределенияХозяйственнойОперации.ХозяйственнаяОперация;
 
	Иначе
 
		ДежурноеПравило = Правило;
 
	КонецЕсли;
 
КонецЦикла;

Таблица ПравилаОпределенияХозяйственныхОпераций состоит из предопределенных элементов между которыми в модулях ранее создано соответствие. Например по зарплате строка выглядит так:
Имя - "ЗаработнаяПлата" (строка)
ПоступилоСписано - "Списано" (строка)
ОсновнойВидОперации - Перечисление заработной платы работнику (перечисление)
ОсновнаяСтатьяДДС - Оплата труда (справочник)

В конечном счете из функции ВыполнитьПравилоОпределенияХозяйственнойОперации делается вызов функции, допустим по списанию ХозяйственнаяОперацияСписано(). В том же общем модуле. А уже из этой функции идет вызов функций соответствующих именам правил. В частности для той же зарплаты вызывается ХозяйственнаяОперацияЗаработнаяПлата().
Вызываемые функции как правило обращаются к общему модулю БанковскиеПравила, где в частности проверяется на какой счет происходит оплата или с какого счета идет поступление, точнее по 5 первым цифрам счета.
Например для определения операции Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПоступленияОтПродажПоПлатежнымКартамИБанковскимКредитам из общего модуля ЗагрузкаВыпискиПоБанковскомуСчету вызывается функция ХозяйственнаяОперацияВыручкаРозничнойТорговлиЧерезПосредника() из которой идет обращение к функции из общего модуля БанковскиеПравила:

Функция ЭтоСчетНезавершенныхРасчетов(БалансовыйСчет) Экспорт
 
	Возврат БалансовыйСчет = "30221" Или БалансовыйСчет = "30222" // незавершенные переводы и расчеты кредитной организации
		Или БалансовыйСчет = "30232" Или БалансовыйСчет = "30233" // незавершенные расчеты с операторами услуг платежной инфраструктуры и операторами по переводу денежных средств
		Или БалансовыйСчет = "30236"  // Незавершенные переводы, поступившие от платежных систем и на корреспондентские счета
		Или БалансовыйСчет = "47422"  // Обязательства по прочим операциям
		Или БалансовыйСчет = "47423"  // Требования по прочим операциям
		Или БалансовыйСчет = "40907"; // Расчеты клиентов по зачетам
 
КонецФункции

Какой вывод из всего этого я сделал - то, что настроки загрузки банковских выписок по сути дела заложены в модуль конфигурации и повлиять не этот процесс не представляется возможным. Те же статьи движения денежных средств, которые поставлены в соответствие видам операций в таблице ПравилаОпределенияХозяйственныхОпераций прописываются в модуле за счет предопределенных элементов.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <1c7>, <drupal5>, <drupal6>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".