Форум на Kuban.ru (http://forums.kuban.ru/)
-   Избранное(Архив) (http://forums.kuban.ru/f1100/)
-   -   Придурошный Сбербанк - сборище даунов. Выгрузка зряплатного реестра в XML (http://forums.kuban.ru/f1100/priduroshnyj_sberbank_-_sborishe_daunov_vygruzka_zryaplatnogo_reestra_v_xml-771533.html)

Грязный Танка 22.12.2009 12:45

Придурошный Сбербанк - сборище даунов. Выгрузка зряплатного
 
Други! У чертового Сбера окончательно моск замкнуло. До сей поры благополучно выгружали зарплатные реестры для зачисления з/п на карточки в текстовый файл, формат коего они когда-то нам предоставили. Теперь у них новая фишка - хотят в xml. Но при этом предоставить вменяемо изложенный формат файла или образец не могут. Дают какой-то глючный конвертор, который якобы добивает недостающую информацию в 1с-овский файл. Нихрена он не работает и возиться с ним ничерта не хочу. Новый год на носу зарплату зачислить не можем.

Поможите люди добрые, кто с этими отмороженными дело имел! Дайте файлик посмотреть! А то у этих дебилов в Новосибе даже IT-шника, как они говорят, нет. Может скрывают....

В общем спасите от инфаркта - наставьте на путь истинный. Как решить эту дурнину попроще.


chief accountant 22.12.2009 12:53

Странно - у нас по-прежнему в txt. В договоре со сбером прописан формат и порядок предоставления реестров, допсоглашение чтоли подписали?

AlexMir 22.12.2009 12:56

(0) Только что с этим дурдомом закончил. Что конкретно интересует?

Грязный Танка 22.12.2009 12:56

(1) Я так понимаю они это постепенно натягивают...

Грязный Танка 22.12.2009 12:57

(2) Типа всё интересует. Только что оглаушили. Вообще не понимаю как жить...

Грязный Танка 22.12.2009 13:00

Я так понимаю штатная ё-совская выгрузка не формирует теги с номером договора и ищё какой-то хренью, а куда их впихнуть я не знаю и они не говорят.

chief accountant 22.12.2009 13:00

3-Грязный Танка >Если допсоглашение не подписано, можно их послать. Обязаны принять в старом формате

Грязный Танка 22.12.2009 13:03

(6) Доп соглашения нет. Но даже если пошлются, то не могу же я каждый месяц с ними бодаться... Всё равно нужно проблем решать. А с какого конца подойти непонимаю. Нужен образец хотя бы...

chief accountant 22.12.2009 13:07

7-Грязный Танка >У тебя сабж разбит на две части:
1. Выплатить зарплату.
2. Перейти на xml.
Так и решай их последовательно...

Грязный Танка 22.12.2009 13:10

Ну, с 1 пунктом будем работать.

Прошу помощи по 2-му.

AlexMir 22.12.2009 13:10

1. В заголовок надо вставить дату договора и зачем-то переставить поля.
Чтобы не портить ГМ, переписал функцию глСоздатьЭлементСчетаПК в док:

Функция СоздатьЭлементСчетаПК(Корень, НомерДоговора, РасчетныйСчет, ОбработчикСообщений, НеФормироватьФайл)

ЭлСчетаПК = Корень.СоздатьПодчиненныйЭлемент("СчетаПК");
ЭлСчетаПК.УстановитьАтрибут("ДатаФормирования", глДатаВXML(РабочаяДата()));

Если ПустоеЗначение(НомерДоговора) = 0 тогда
ЭлСчетаПК.УстановитьАтрибут("НомерДоговора", СокрЛП(НомерДоговора));
ЭлСчетаПК.УстановитьАтрибут("ДатаДоговора", глДатаВXML('01.06.2007'));
Иначе
глДобавитьСообщение(ОбработчикСообщений, "Не указан номер договора");
НеФормироватьФайл = 1;
КонецЕсли;

Если ПустоеЗначение(Константа.СокращенноеНазваниеОрганизации) = 0 тогда
ЭлСчетаПК.УстановитьАтрибут("НаименованиеОрганизации", СокрЛП(Константа.СокращенноеНазваниеОрганизации));
Иначе
глДобавитьСообщение(ОбработчикСообщений, "Не указано наименование организации");
НеФормироватьФайл = 1;
КонецЕсли;

Если ПустоеЗначение(РасчетныйСчет) = 0 тогда
ЭлСчетаПК.УстановитьАтрибут("РасчетныйСчетОрганизации", СокрЛП(РасчетныйСчет));
Иначе
глДобавитьСообщение(ОбработчикСообщений, "Не указан р/счет организации");
НеФормироватьФайл = 1;
КонецЕсли;

Если ПустоеЗначение(Константа.ИНН) = 0 тогда
ЭлСчетаПК.УстановитьАтрибут("ИНН", Константа.ИНН);
Иначе
глДобавитьСообщение(ОбработчикСообщений, "Не указан ИНН организации");
НеФормироватьФайл = 1;
КонецЕсли;

Возврат ЭлСчетаПК;

КонецФункции // глСоздатьЭлементСчетаПК

AlexMir 22.12.2009 13:12

2. Вставить дату и номер платежки. Перед контрольными суммами:
// АМ+
ЭлПлатежноеПоручение = ЭлСчетаПК.СоздатьПодчиненныйЭлемент("ПлатежноеПоручение");
ЭлПлатежноеПоручение.Значение = СокрЛП(ПлНомер);
ЭлДатаПлатежногоПоручения = ЭлСчетаПК.СоздатьПодчиненныйЭлемент("ДатаПлатежногоПоручения");
ЭлДатаПлатежногоПоручения.Значение = глДатаВXML(ПлДата);
// АМ-
глСоздатьЭлементКонтрольныеСуммы(ЭлСчетаПК, КоличествоЗаписей, СуммаИтого);

Грязный Танка 22.12.2009 13:25

AlexMir! Огромное тебе человеческое спасибо!!!

Я тут сконвертил всё же исходный файл... Конвертер под ДОСом - жесть! Теперь с ЦУ от AexMir'а и этим файлом уже справлюсь точно.


Всем спасибо. Тема закрыта (надеюсь :))

Buhta 22.12.2009 13:29

у мну тоже новое отделение СБ в XML запросило. но ничего, сожрали штатную ЗИКовскую выгрузку, я там только для удобства в самом доке кое-что переписала, а формат файла не меняла. уже 3 месяца кушают и не жужжат... (0) может у тебя тоже переварят? пошли им штатную выгрузку из ЗИКи. (вроде там и номер договора выгружается)

Грязный Танка 22.12.2009 14:18

(13) Не... не переварят. Мы им штатную заслали и вот... 3 часа на телефоне в попытках разрешить вопрос.
Они сначала сами позвонили и сообщили, что наш файл не прошел и они нам, дескать, отправляют конвертер, который этот файл доведёт до ума. Вот тут у бухов башню и снесло. Конвертер досовский. Они его запускают, открывается окошко, быстро пролетают буквы и окошко закрывается :) - ну всё правильно, в принципе. Только тупой мальчик от СБ заставлял их запускать этот файл снова и снова :) А мне потом говорил, что я не могу другими способами изменить xml файл, кроме как их конвертором. ПИПЕЦ!!! Настоящей ОЙТИШНЕГ!!!

В штатной выгрузке им не хватает номера и даты платёжки и ещё даты договора...

Buhta 22.12.2009 15:40

14-Грязный Танка > хады:( не знаю, м.б. в нашем отделении банка ойтишнеги получше и сами конвертером до нужного ума доводят, но пока не придираются... на всяк. случай, запомню веточку

VadimB 22.12.2009 15:49

Можно попытаться выклянчить у этого СберБанка чей-нибудь рабочий файлик в формате XML. Пусть слегка только подкоррежат название его организации и фамилии гавриков в нем. Как никак - коммерческая тайна. Посему желательно, чтобы человеков в нем было 2-3.

Грязный Танка 22.12.2009 15:59

(16) Гы! Я ж написал, что ихнее ойтишнег реально думает, что xml не редактируется, а только конвертором конвертируется :) Я ж с этого разговор и начал! Ан нет! Не дают файлик-от..

VadimB 22.12.2009 16:15

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

Тёмный 22.12.2009 21:28

18-VadimB > хороший вариант. пусть самы данные это великая тайна, но пусть хоть скажут кто им по новому формату сдать сумел, тогда пример файла добыть сумеешь. У нас в регионе сбер в дбф-формате, близком к текстовому берет, да к тому же с ай-ти спецами в их управе общаться получается. Но о попытках принимать в хмл-файлах разговоров еще не было.

Billi 22.12.2009 22:29

А наш сбер вот такое написал:
"Электронные реестры на зачисление средств на счета физических лиц должны направляться в банк в формате [b]dbf[/b] или [b]xml[/b]"
Причем формат dbf подробно расписали, а про xml:
"Структура Электронного реестра на зачисление заработной платы формата XML является стандартной для выгружаемых файлов из программы "1C""

Billi 22.12.2009 22:32

+(20) Если кому надо, могу формат dbf выслать.

Странный аттрактор 23.12.2009 00:36

(20, 21) +1. Мы тоже в дбф отсылаем. Могу дать выгрузку, если что.

AlexMir 23.12.2009 05:40

(20) Да-да. Поэтому я им сначала дбф выслал. Из техподдержки ответили: "Мы не можем объяснить, почему не проходит ваш файл. Присылайте в хмл." Такая вот...

VadimB 23.12.2009 07:55

Нарылось: [url]http://www.skbkontur.ru/forum/showthread.php?t=983[/url]
Но, чтобы скачать, требуется регистрация на тамошнем форуме...

chief accountant 23.12.2009 08:07

(20)(23) В договоре четко прописано в каком формате должен быть электронный реестр, у меня в договоре это п.4.1.5 "... реестры, оформленные в формате DbaseIII (*dbf)... Порядок наименования файла и структура реестра приведены в Приложении №2 к настоящему договору и являются его неотъемлемой частью. Отступление от указанных форматов не допускается."

Ткачик 23.12.2009 09:02

(23) Обычное дело, конфликт субверсий dBase, я с таким сталкивался в одной госконторе. Файл DBF, созданный из 1C, не читался их софтиной - какие-то отличия в заголовке. Дело решилось тем, что они мне прислали свою пустышку, которую 1С каждый раз перед выгрузкой просто копировала средствами ФС, а потом открывала копию и ДОПИСЫВАЛА записи. В таком случае заголовок оставался "правильным" и вопросов больше не возникало.

Billi 23.12.2009 09:11

25-chief accountant >Не, у нас по другому. В доп.соглашении:
"1. Внести изменения во внутренний формат (содержание) Электронного реестра на зачисление денежных средств на Счета карт /вкладов, предоставляемого в Банк Предприятием/Организацией. Структура файла Электронного реестра приведена в Приложении №1 к данному дополнительному соглашению."

А Приложении №1:
"Электронные реестры на зачисление средств на счета физических лиц должны направляться в банк в формате dbf или xml"

Billi 23.12.2009 09:14

22-Странный аттрактор >Если не трудно, скинь выгрузку посмотреть.

который не честный 23.12.2009 09:14

Мы перешли на сбер год назад, тогда же написал выгрузку в xml формате, дали нормальное описание. Но вот пару недель назад прислали требование, что в файл надо добавить номер и дату платёжного поручения...

Sergey_KVS 24.12.2009 19:58

Есть интересный сайтик [url]www.stp.ru[/url]. ВНИМАНИЕ - ЗАРАЖЕННЫЙ. Стандарты электронного обмена информацией. Там есть описания XML.
Так вот стандарт разрабатывался совместно сбербанком и 1С. Тем более становится непонятна несогласованность действий сбера и 1С.

Грязный Танка 24.12.2009 20:13

(30) А чё непонятно? Всяк имеющий дело со СБ скажет, что эт не контора, а сельпо, где сметана наразлифф. Хуже только почта РФ. Да и то спорный вопрос... Давно с ним связались - были объективные причины, щас бы там вжисть счет не открыл.

MishaD 24.12.2009 20:36

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

Странный аттрактор 24.12.2009 22:49

28 Извини, поздно увидел. Завтра с работы.

Att9 25.12.2009 07:22

33-Странный аттрактор > И мне можно, хочется сравнить. Заранее спасибо!

который не честный 25.12.2009 08:46

Ну тогда и мою версию гляньте

Анализатор = СоздатьОбъект("AddIn.XMLParser");
xml=Анализатор.СоздатьДокумент();

Корень=xml.СоздатьПодчиненныйЭлемент("СчетаПК");
Корень.УстановитьАтрибут("ФилиалБанка",СокрЛП(ВыбБанк));
Корень.УстановитьАтрибут("ДатаФормирования",ТекущаяДата());
Корень.УстановитьАтрибут("НомерДоговора",СокрЛП(ВыбБанк.НомерДоговора));
Корень.УстановитьАтрибут("ДатаДоговора",'дата');
Корень.УстановитьАтрибут("НаименованиеОрганизации",СокрЛП(КОнстанта.СокращенноеНаименованиеОрганизации));
Корень.УстановитьАтрибут("ИНН",Лев(СокрЛП(КОнстанта.ИНН),10));
Корень.УстановитьАтрибут("РасчетныйСчетОрганизации",счет);
Корень.УстановитьАтрибут("ОГРН",ОГРН);
Корень.УстановитьАтрибут("КодВалюты","810");
Корень.УстановитьАтрибут("Зачисление","01");

Сумма=0;
ЗачислениеЗарплаты=Корень.СоздатьПодчиненныйЭлемент("ЗачислениеЗарплаты");
Тз.ВыбратьСТроки();
Пока Тз.ПолучитьСТроку()=1 Цикл

Сотр=ЗачислениеЗарплаты.СоздатьПодчиненныйЭлемент("Сотрудник");
Сотр.УстановитьАтрибут("Нпп",Тз.НомерСтроки);

СЗ = глРазложить(ТЗ.Сотрудник.Наименование, " ");
Фамилия = СЗ.ПолучитьЗначение(1);
Попытка
Имя = СЗ.ПолучитьЗначение(2);
Исключение
Имя = "";
КонецПопытки;
Попытка
Отчество = СЗ.ПолучитьЗначение(3);
Исключение
Отчество = "";
КонецПопытки;

Для К=4 По СЗ.РазмерСписка() Цикл
Отчество = Отчество + " "+СЗ.ПолучитьЗначение(К);
КонецЦикла;




Значения=Сотр.СоздатьПодчиненныйЭлемент("Фамилия");
Значения.Значение=Фамилия;

Значения=Сотр.СоздатьПодчиненныйЭлемент("Имя");
Значения.Значение=Имя;

Значения=Сотр.СоздатьПодчиненныйЭлемент("Отчество");
Значения.Значение=Отчество;

Значения=Сотр.СоздатьПодчиненныйЭлемент("ОтделениеБанка");
Значения.Значение=СокрЛП(ВыбБанк.ОтделениеБанка);//Со справочника 4 знака

Значения=Сотр.СоздатьПодчиненныйЭлемент("ФилиалОтделенияБанка");
Значения.Значение="";

Значения=Сотр.СоздатьПодчиненныйЭлемент("ЛицевойСчет");
Значения.Значение=ТЗ.НомерЗарплатногоСчета;

Значения=Сотр.СоздатьПодчиненныйЭлемент("Сумма");
Значения.Значение=Число(СокрЛП(Тз.Сумма));
Сумма=Сумма+Число(СокрЛП(Тз.Сумма));
КОнецЦикла;


КонтрольныеСуммы=Корень.СоздатьПодчиненныйЭлемент("КонтрольныеСуммы");

КоличествоЗаписей=КонтрольныеСуммы.СоздатьПодчиненныйЭлемент("КоличествоЗаписей");
КоличествоЗаписей.Значение=Тз.КоличествоСТрок();
СуммаИтого=КонтрольныеСуммы.СоздатьПодчиненныйЭлемент("СуммаИтого");
СуммаИтого.Значение=Сумма;



ИмяФайла=СокрЛП(ВыбБанк.ОтделениеБанка)+Прав("000"+СокрЛП(КОнстанта.НомерСбер),3)+"Z.xml";
Если Прав(СокрЛП(ФормИмяКаталогаДанных),1)<>"\" Тогда
ИмяФайла="\"+ИмяФайла
КонецЕсли;
xml.Записать(СокрЛП(ФормИмяКаталогаДанных)+ИмяФайла);

Странный аттрактор 25.12.2009 11:25

28, 34 отправил

Грязный Танка 25.12.2009 11:34

(36) Я бы тоже очень хотел. Можно, пожалуйста?

Att9 25.12.2009 11:45

(36) Получил. Благодарю.

irishka77 25.12.2009 11:52

мои уже 2года сдают 2 файла : хмл с работниками как 1с формирует и 2ой -с данными по платежке(этот уходит в другой отдел в СБ) в формате тхт.


Текущее время: 00:22. Часовой пояс GMT +3.