пятница, 30 января 2015 г.

Серия "В один клик" : 1С, "зарплатный файл" и БИК

Столкнулись тут слон с китом, то есть одна известная жёлтая программа с одним известным зелёным банком. Что они не поделили? Банк говорит: "Хочу в зарплатном файле БИК!". На вопрос "Зачем, это же твой БИК!", – не отвечает. Жёлтая программа говорит "Я версии 7.7, мне щас так нельзя у меня такого нет". 



Структура этого зарплатного файла (который загружается в банк-клиент), к счастью, простая – обычная xml-разметка в текстовом виде.
Т.е. можно: а) самому вставлять руками этот БИК каждый раз б) научить бухгалтера. 
Первое надоело, а второе довольно безнадёжно. Полез я в кишки к жёлтой программе. Не то, чтобы я в ней что-то  понимаю :) . К счастью, не пришлось учить новый язык с русским синтаксисом – при обновлении программы всё дописанное мной затёрлось бы. Заказать поддерживающей организации эти две строчки кода тоже не удалось: "Разработка блаблабла поддержка нестандартной конфигурации блаблаблабла много денег давайте!"

Сначала я подумал, что вставку статичной строки можно сделать даже на моём любимом cmd. Но, поразмыслив, решил этого не делать по причине необходимости обучения бухгалтера (переименовывать файл, или класть его в папку, или вбивания имени файла вручную... в моей ситуации чревато лишней работой. Бывает и такое :) ). Поэтому сегодняшний скрипт – совсем даже и не скрипт, а полноценное ПО! 


Программа принимает на вход файл определённого формата. Проверка формата производится как по расширению, так и по содержанию. Если файл тот, то программа допишет туда злосчастный БИК в нужное место. Если в файле уже есть БИК, программа об этом сообщит и лишнего не напишет.

Программа не перезаписывает файл, а сохраняет новый рядом со старым, добавляя к названию corrected.
У программы простое и понятное окно с двумя большими кнопками, так что сделать что-нибудь не то крайне сложно. 



Код программы (скачать бесплатно без смс) :) Код для VS Express 2012, на .NET 4 . Не забудь вписать свой БИК, и не бей меня ногами за качество кода – оно просто работает ;)













Комментариев нет:

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