gifts2017

Доведение до ума обработок "1С-Минск". Обработка загрузки выписки из программы "Клиент-Банк".

Опубликовал Vlad (vld_trade) в раздел Обмен - Обмен с интернет-банком

Исправил критические недочеты встроенной в типовую конфигурацию обработки "КлиентБанк".
Обработка распознает контрагента по его расчетному счету, создает нового с правильным УНП.

13/03/2013: Исправил найденные бухгалтером недочеты по поиску контрагентов.
Теперь поиск производится:
- сначала по р/с;
- затем, если контрагент не найден, произвожу поиск по УНП.

Бухгалтер попросил проанализировать возможность перехода на типовую бухгалтерию для Беларуси на платформе 1С:Предприятия 8.
Посмотрел на "самую типовую", поставляемую фирмой "1С-Минск". Сразу наткнулся на невозможность работы с обработкой "КлиентБанк".
бла-бла-бла...

Что исправлено

  • Обработка считывает назначение платежа ПОЛНОСТЬЮ (в типовой подхватывает до первого переноса строки).
  • Обработка распознает контрагента по его расчетному счету (в типовой вообще непонятно, что происходит).
  • Обработка создает контрагента с присвоением УНП (в типовой такого функционала почему-то нет).

Оставил орфографию и пунктуацию программистов 1С-Минск. Кому интересно, может простым сравнением текста модуля выявить мои доработки (очень надеюсь, что это будут программисты 1С-Минск).

Честно признаюсь, опубликовал материал только для заработка баллов, так что "не стесняйтесь".

P.S. Это моя первая публикация, прошу сильно ногами не пинать. Спасибо!

P.P.S. В связи с тем, что у меня нет возможности вернуться к этой обработке, небольшие пояснения на сегодня (16/01/2015):

Как заметил Strady: Подойдет для банков, использующих систему "Клиент-банк" от "Системные технологии" (файл обмена начинается на "^Type =").

Файлов-примеров (образцов выписок из систем "Клиент - Банк") у меня на руках нет, поэтому прикрепить не могу.

По состоянию на март-апрель 2013 года обработка успешно загружала файлы выписок (и рублевые, и валютные) из систем банков ВТБ Беларусь и БелВЭБ.

Проверено пользователем Stanar: Выписки Технобанка не загружаются этой обработкой.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Версия 1.1 обработки. Исправил найденные бухгалтером недочеты по поиску контрагентов.
.zip 119,40Kb
13.03.13
8
.zip 119,40Kb 8 Скачать
Собственно обработка
.zip 124,48Kb
13.03.13
19
.zip 124,48Kb 19 Скачать
Все версии в одном архиве.
.zip 238,75Kb
13.03.13
37
.zip 238,75Kb 37 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Наталья Рома (Naton) 20.03.13 07:54
А для какого банка подходит?
2. Vlad (vld_trade) 20.03.13 11:36
Дык универсальный загрузчик...
На форме настроек все параметры.
Проверено на ВТБ.
3. Vertex (Vertex) 28.11.13 17:37
4. Strady 09.12.13 11:47
Подойдет для банков, использующих систему "Клиент-банк" от "Системные технологии" (файл обмена начинается на "^Type ="). Например Белинвест, БВЭБ, Белсвисс, Альфа, Техно и большинство других некрупных банков. Для банков БПС-банк, Беларусьбанк, Белагропром работать не будет. Нужны обработчики выгрузки в файл и загрузки из файла для каждой системы. А так для заготовки - хорошая работа.
5. mlkk (malanka) 11.12.13 18:56
(4) Strady, а есть вообще обработчики выгрузки в файл и загрузки из файла для беларусбанка
6. malanka 11.12.13 23:19
vld_trade, в какой формат загружаемого файла? И прописано ли там разбор строки без раздителей по заданной длине полей?
7. Vlad (vld_trade) 12.12.13 11:05
(6) В (4) расписали формат. Этот формат [от Системных технологий] не предусматривает полей заданной длины. В каждой строке файла своя информация, причем информация м. б. перенесено на следующие строки.
Я ответил? Или нужны дополнительные пояснения?
Я уже и не помню, как конкретно выглядит файл. ПО Клиент-Банк меняется, а обработка продолжает исправно обрабатывать выписки.
8. malanka 12.12.13 13:13
(7) vld_trade, спасибо, да это отличается от Беларусбанка
9. Strady 13.12.13 11:41
(5) mlkk, конкретно для этой обработки обработчиков никаких нет. Вот пример для ББ из другой обработки
	Процедура ББ_ЗагрузитьВыпискуР(Текст,ном)
		НоваяСтр = ТЧЗагрузки.Добавить();
		Стр=Текст.ПолучитьСтроку(ном);
		СчетОрганизации=НайтиРасчетныйСчет(Сред(Стр,17,13),Организация,"974");
		НоваяСтр.СчетОрганизации = СчетОрганизации;
		ДатаВып=Лев(Стр,10);  
		СтДатаДок=ФорматДаты(ДатаВып);
		НоваяСтр.ДатаДок=СтДатаДок;
		НоваяСтр.НомерДок=Сред(Стр,11,6);
		НоваяСтр.ТипОперации=Сред(Стр,83,2);
		НоваяСтр.НазначениеПлатежа=Сред(Стр,139,286);
		Содержание="";
		НоваяСтр.СчетКонтрИзФайла=Сред(Стр,39,13);
		Если Число(Сред(Стр,53,15))>0 тогда
			НоваяСтр.СуммаДебет=Число(Сред(Стр,53,15));
			НоваяСтр.СуммаКредит=0;
		ИначеЕсли Число(Сред(Стр,70,15))>0 тогда	
			НоваяСтр.СуммаКредит=Число(Сред(Стр,70,15)); 
			НоваяСтр.СуммаДебет=0;
		КонецЕсли;	
		НоваяСтр.УННКонтрИзФайла = Сред(Стр,534,9);
		НоваяСтр.ИмяКонтрагентаИзФайла = Сред(Стр,85,36);
		КодБ = Сред(Стр,30,9);
		НоваяСтр.КодБ=КодБ;
		Контр=НайтиКонтрагентаПоИННЛибоПоРС(СокрЛП(НоваяСтр.УННКонтрИзФайла),СокрЛП(НоваяСтр.СчетКонтрИзФайла));
		Если Контр<>Ложь Тогда   //Нашли контрагента по УНН или по РС		
			Если Контр<>"" Тогда
				НоваяСтр.Контрагент=Контр;					
			КонецЕсли; 
		КонецЕсли; 		
	КонецПроцедуры
...Показать Скрыть


	Процедура ВыгрузитьПП_БеларусБанк(ПотокВыгрузки,СтрокаСекции)
		ДатаДокумента =Формат(СтрокаСекции.Дата,"ДФ=dd.MM.yyyy");
		Плательщик=ВРЕГ(СокрЛП(Организация.НаименованиеПолное))+" РБ";
		Получатель=ВРЕГ(СокрЛП(СтрокаСекции.Контрагент));
		
		ПотокВыгрузки.ДобавитьСтроку("12"+(СокрЛП(СтрЗаменить(СтрокаСекции.Номер,Символы.НПП,""))));
		ПотокВыгрузки.ДобавитьСтроку("410");
		
		ПотокВыгрузки.ДобавитьСтроку("51BYR");
		Сумм=Формат(СтрокаСекции.СуммаДокумента,"ЧЦ=15; ЧДЦ=2; ЧРД=,; ЧГ=");
		ПотокВыгрузки.ДобавитьСтроку("52"+Сумм);
		ПотокВыгрузки.ДобавитьСтроку("61"+СокрЛП(БанковскийСчет.НомерСчета));
		Банк2=Врег(СокрЛП(СтрЗаменить(СтрокаСекции.КонтрагентБанк,"№","N"))); 
		Банк2=Врег(СокрЛП(СтрЗаменить(Банк2,Символ(171),""""))); 
		Банк2=Врег(СокрЛП(СтрЗаменить(Банк2,Символ(187),""""))); 
		ПотокВыгрузки.ДобавитьСтроку("82"+Банк2);                    
		ПотокВыгрузки.ДобавитьСтроку("81"+СокрЛП(СтрокаСекции.КонтрагентБИКБанка));
		ПотокВыгрузки.ДобавитьСтроку("91"+СокрЛП(Строка(СтрокаСекции.КонтрагентНомерСчета)));
		ПотокВыгрузки.ДобавитьСтроку("92"+СокрЛП(Строка(СтрокаСекции.КонтрагентИНН)));
		Клиент=Получатель;
		ПотокВыгрузки.ДобавитьСтроку("93"+ВРЕГ(Лев(Клиент,120)));
		
		Содержание=СокрЛП(СтрокаСекции.НазначениеПлатежа);
		Содержание=ВРЕГ(СтрЗаменить(Содержание,"/"," "));
		Содержание=стрЗаменить(Содержание,"№","N");
		Содержание=стрЗаменить(Содержание,":"," ");
		Содержание=стрЗаменить(Содержание,Символ(160),"");//заменили пробел в юникоде
		Содержание=стрЗаменить(Содержание,Символ(10)," ");//заменили перевод строки
		ПотокВыгрузки.ДобавитьСтроку("A1"+Лев(Содержание,140)); 
		ПотокВыгрузки.ДобавитьСтроку("A2"+Сред(Содержание,141,96));
		ПотокВыгрузки.ДобавитьСтроку("A4"+СокрЛП(Строка(Формат(СтрокаСекции.ОчередностьПлатежа,"ЧЦ=2"))));
		
		//если счет получателя налоговый, заполнять A5
		Если Лев(СокрЛП(СтрокаСекции.КонтрагентНомерСчета),4)="3602" Тогда //признак "налоговости" счета-получателя
			НазнПлатежа=СокрЛП(СтрокаСекции.НазначениеПлатежа);
			Если СокрЛП(СтрокаСекции.Документ.КодПлатежа)="03511" Тогда         //это ФСЗН, код платежа 03511
				ПотокВыгрузки.ДобавитьСтроку("A5"+СокрЛП(СтрокаСекции.Документ.КодПлатежа));
				ПотокВыгрузки.ДобавитьСтроку("A6");
			ИначеЕсли СокрЛП(СтрокаСекции.Документ.КодПлатежа)<>"" Тогда //это налоги
				ПотокВыгрузки.ДобавитьСтроку("A5"+СокрЛП(СтрокаСекции.Документ.КодПлатежа));
				ПотокВыгрузки.ДобавитьСтроку("A6");
				ПотокВыгрузки.ДобавитьСтроку("A7");  //срок платежа - только для налогов но не очень понятно откуда его брать
			КонецЕсли;
		КонецЕсли;	
		Если СтрокаСекции.Документ.РасходыПоПереводу = 1 Тогда 
			РасХоды="NOD"; //за счет неизвестно кого. см документацию на банковский клиент
		ИначеЕсли СтрокаСекции.Документ.РасходыПоПереводу = 2 Тогда
			РасХоды="OUR"; //за счет плательщика
		ИначеЕсли СтрокаСекции.Документ.РасходыПоПереводу = 3 Тогда
			РасХоды="BEN"; //за счет бенефициара
		Иначе
			РасХоды="SHA"; //за счет обоих двух
		КонецЕсли;
		ПотокВыгрузки.ДобавитьСтроку("B1"+РасХоды);
		ПотокВыгрузки.ДобавитьСтроку("~");
		
		
	КонецПроцедуры
...Показать Скрыть


Актуально где-то на 2011 год для новой системы ББ. У ББ еще встречалась старая система от Софтклуб. А вообще обработчики создаются довольно просто, при наличии времени по примеру уже готовых.
10. Strady 13.12.13 11:51
(7) vld_trade, мне кажется лучше кое-чем дополнить публикацию:
1) для какой системы "К-Б" дорабатывалась обработка (версия ПО).
2) примеры файлов обмена (если не хотите родные выкидывать, то примеры должны быть в документации), т.к. некоторые банки, использующие Системные технологии любят, допиливать что-то под себя (например в БВЭБ файл выписки с приложением начинается на "^Type =400" и др. примеры)
3) дорабатывалась только загрузка выписок или и ПП?
4) проверялось только в белке или и в валюте?
11. malanka 13.12.13 13:17
(9) Strady, спасибо большое за код. Я и собиралась дорабатывать, просто искала наиболее приближенную к требуемой.
12. piton66 (piton66) 25.03.14 18:19
(9) Strady,
У ББ еще встречалась старая система от Софтклуб.
А кто знает, как из этого клиент-банка файл с выпиской получить?
13. Strady 14.04.14 17:49
(12) piton66, да, был такой. Вопрос как выгрузить из софтклубовкого КБ? Насколько я помню, то файлы выписок автоматически формируются и хранятся в папке типа "C:\scclient\POST\INFO\".
14. Алексей Карвацкий (AVK_Alex) 17.05.14 13:01
Здравствуйте, коллеги!

Подскажите, пожалуйста - кто знает: в последних версиях бухгалтерии для РБ обработка КлиентБанк имеет название "Клиент-банк (не используется)". Что бы это означало? Появился какой-то другой механизм? Используется система MailBank от СТ, последняя редакция БП 1.6 для РБ.

1. Пришлось допиливать данную обработку для загрузки Контрагентов-Счетов (как писалось выше).
2. Подход разработчиков не впечатлил - видно, что делали на скорую руку (или лишь бы сделать). Вполне возможно, что объект еще в разработке и вскоре нас порадуют отличным функционалом.
3. Не происходит загрузки платежных поручений. А все потому, что вместо тега 'Date' (как ожидали разработчики) используется тег 'DatePlt'.

Если у кого есть рабочий вариант - поделитесь, пожалуйста...
P.S. Посмотрел: выложенные файлы почти годовой давности - не стал качать (голяк со стартманями).
15. Алексей Карвацкий (AVK_Alex) 17.05.14 13:13
P.P.S. Ах, вот оно что!

на сайте 1С-Минск увидел такую строку:
1С-Минск: Обмен с банком для 1С: Бухгалтерия для Беларуси 1 350 000 руб.

Все встало на свои места :)
16. Станислав Ширяев (Stanar) 14.01.15 16:23
Доброго дня) Купил абонемент, скачал обработку - не работает с файлами Технобанка(( Нюанс - файлы из интернет-банка, но думаю от аналогичных с клиент-банка отличаться не должны. Может есть идеи?
17. Станислав Ширяев (Stanar) 14.01.15 21:56
У технобанка теперь не системные технологии, к сожалению (( Так что эта обработка не подходит (((((
Прикрепленные файлы:
9biieqmj0.txt
9biif44h0.txt
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа