gifts2017

ЗиК 7.7 - Банк Санкт-Петербург (зарплатные карты)

Опубликовал Sergey A (serg_info) в раздел Обработки - Обработка справочников

Обработка проставляющая табельные номера в файле банка для начисления зарплаты на карты.
Соответствие устанавливается по:
- паспорту
-ФИО + дата рождения
- зарплатный счет

Обработка проставляющая табельные номера в файле банка для начисления зарплаты на карты.
Соответствие устанавливается по:
- паспорту
-ФИО + дата рождения
- зарплатный счет

Диагностика расхождений данных между ЗиК и данными банка вследствии смен ФИО, паспортов.

Диагностика на дубли, когда один и тот же человек устраивается на работу дважды в разное время и получает 2-ве зарплатные карты.

У нас более 1500 человек и большая текучка + сезонность.

Отсюда и такие требования к обработке.

Есть и другие обработки:

- на выдачу карт

- и сама выгрузка выплат на карты по ведомостям с контролем сумм

 

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

Наименование Файл Версия Размер
ЗиК в Банк СПБ (файл банка проставление Таб.№) 25
.zip 15,36Kb
04.05.10
25
.zip 15,36Kb Скачать
ЗиК в Банк СПБ (заказ карт) 5
.zip 15,46Kb
04.05.10
5
.zip 15,46Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Елена Мocкаленко (melenaspb) 15.04.10 11:53
А можно посмотреть Вашу обработку на выдачу карт?
Точнее меня интересует один момент - Как записать дату рождения сотрудника в DBF-файл в формате "дд.мм.гггг"? У меня банк "Санкт-Петербург" требует дату рождения именно в таком виде, но я что-то туплю , получается же 10 знаков вместе с точками,а в DBF длина поля типа дата 8 знаков.
2. Sergey A (serg_info) 15.04.10 13:45
(1) Не надо передавать в DBF как текст, передавайте как дату прямо из 1С...

тзЭкран - таблица значений где живет список сотрудников
тзЭкран.ДатаРождения - столбец типа дата


тзЭкран.ДатаРождения=новСотрудник.ДатаРождения;

Тут кусок кода, он достаточно длинный т.к. там дальше много проверок + вывод диагностики + добавление исключение рукми перед выгрузкой и т.д.

//_____________________________
Процедура ВыгрузитьВДБФ()
ДБФ=СоздатьОбъект("XBASE");
ДБФ.ОткрытьФайл(СокрЛП(ВыбФайл));
ДБФ.ОчиститьФайл();

Для сч=1 По тзЭкран.КоличествоСтрок() Цикл
тзЭкран.ПолучитьСтрокуПоНомеру(сч);

ДБФ.Добавить();
ДБФ.FNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,1);
ДБФ.LNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,2);
ДБФ.SNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,3);
Если (тзЭкран.Сотрудник.Пол.Выбран()=1) и (Найти("МЖ",Лев(тзЭкран.Сотрудник.Пол.Наименование,1))>0) Тогда
ДБФ.SEX=Лев(тзЭкран.Сотрудник.Пол.Наименование,1);
Иначе
Сообщить("Не определен пол у "+тзЭкран.Сотрудник);
КонецЕсли;
стПусто="";
ДБФ.BIRTHDAY=тзЭкран.ДатаРождения;
СЗ=глРазложить(тзЭкран.Сотрудник.АдресПрописка);
ДБФ.AREA=СЗ.ПолучитьЗначение(3,стПусто);
ДБФ.PUNKT=СЗ.ПолучитьЗначение(6,стПусто);
ДБФ.CITY=СЗ.ПолучитьЗначение(5,стПусто);
Если СокрЛП(СЗ.ПолучитьЗначение(3,стПусто))="Санкт-Петербург г" Тогда
ДБФ.AREA="";
ДБФ.CITY="Санкт-Петербург г";
КонецЕсли;


// добавлено
Если ПустаяСтрока(ДБФ.CITY)=1 Тогда
ДБФ.CITY="-";
КонецЕсли;

Если ПустаяСтрока(СЗ.ПолучитьЗначение(7,стПусто))=1 Тогда
ДБФ.STREET="-";
Иначе
ДБФ.STREET=СЗ.ПолучитьЗначение(7,стПусто);
КонецЕсли;
Если ПустаяСтрока(СЗ.ПолучитьЗначение(8,стПусто))=1 Тогда
ДБФ.HOUSE="-";
Иначе
ДБФ.HOUSE=СЗ.ПолучитьЗначение(8,стПусто);
КонецЕсли;
Если ПустаяСтрока(СЗ.ПолучитьЗ
3. Елена Мocкаленко (melenaspb) 15.04.10 16:17
(2) Спасибо, попробую. У меня , действительно, похоже дата рождения как строка записывается.
4. Елена Мocкаленко (melenaspb) 15.04.10 16:52
Что-то у меня все равно эта дата не получается.
Пишу вот так :
ДляДБФ=СоздатьОбъект("ТаблицаЗначений");
ДляДБФ.НоваяКолонка("BIRTHDAY","Дата");
....
Если ПустоеЗначение(ТСотрудников.Сотрудник.ДатаРождения) = 0 тогда
ДатаРождения =ТСотрудников.Сотрудник.ДатаРождения;
Иначе
глДобавитьСообщение(ОбработчикСообщений, "У сотрудника " + ФИО + " не указана дата рождения", ТСотрудников.Сотрудник, , "");
НеФормироватьФайл = 1;
ЕстьПустыеПоля=1;
КонецЕсли;
....
// запись в таблицу значений
ДляДБФ.НоваяСтрока();
ДляДБФ.BIRTHDAY= ДатаРождения;
....
// запись в сам dbf-файл
ДБФ.Добавить();
ДБФ.BIRTHDAY= ДляДБФ.BIRTHDAY;
В итоге когда смотрю готовый dbf-файл дата выглядит вот так "19710621".
А в присланном из банка файле вот так "21.06.1971"
Я еще могу сделать дату вот такой "21.06.71", но так как в банке у меня не получается.

5. Sergey A (serg_info) 16.04.10 10:46
Ну вот почти полный набор. Добавил обработку на формирование файла для заказа карт на вновь принятых людей.

Вообще по хорошему этот наборчик банк мог бы и сам разработать и своим клиентам раздавать, решения то типовые.

Кому съекономит день работы - плюсуйте, не стесняйтесь :)
def03; Vovka_Ch; melenaspb; +3 Ответить
6. def03 14.08.10 09:23
Где можно посмотреть обработку на выдачу карт
7. Sergey A (serg_info) 16.08.10 10:31
(6) Второй файл, формирует список вновь принятых людей в банк для выдачи карт.
Возможно "ручное" удаление/добавление людей. Чтобы обработка носила более управляемый характер...
8. def03 21.08.10 15:27
ребят а такой обработки нет под сбербанк
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа