Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Перем Документы, СписокДействий;
- Функция конв16(Dec)
- Ост=Число(DEC);
- Hex="";
- Пока Ост>0 Цикл
- HEX0=Ост-Цел(Ост/16)*16;
- Ост=Цел(Ост/16);
- Если HEX0=10 Тогда
- HEX0="a";
- ИначеЕсли HEX0=11 Тогда
- HEX0="b"
- ИначеЕсли HEX0=12 Тогда
- HEX0="c"
- ИначеЕсли HEX0=13 Тогда
- HEX0="d"
- ИначеЕсли HEX0=14 Тогда
- HEX0="e"
- ИначеЕсли HEX0=15 Тогда
- HEX0="f"
- КонецЕсли;
- Hex=""+HEX0+Hex;
- КонецЦикла;
- Возврат Hex;
- КонецФункции
- Процедура ВводНового(авв,ввв)
- докЗП = СоздатьОбъект("Документ._ВыгрузкаЗПвСбербанк");
- докЗП.ВыбратьДокументы (ДатаДок,ДатаДок);
- Если Выбран()=1 Тогда
- счдок = 0;
- Иначе
- счдок = 1;
- КонецЕсли;
- Пока докЗП.ПолучитьДокумент() = 1 Цикл
- счдок = счдок + 1;
- КонецЦикла;
- н = СОКРЛП(конв16(счдок));
- КонецПроцедуры
- Процедура ПриОткрытии()
- СписокДействий.ДобавитьЗначение("Перейти в журнал");
- Документы = СоздатьОбъект("ТаблицаЗначений");
- Документы.НоваяКолонка("Док",,,,"Документ",38,,);
- Документы.НоваяКолонка("Ком",,,,"Комментарий",,,);
- Каталог = "X:\";
- //____________вот здесь я изменил_____________________________________________
- д = СОКРЛП(конв16(ДатаЧисло(ДатаДок)));
- м = СОКРЛП(конв16(ДатаМесяц(ДатаДок)));
- //_____________________________________________________________________________
- КонецПроцедуры
- Процедура Добавить()
- ОткрытьПодбор("Документ.ВыплатаЗаработнойПлаты","кака",1);
- КонецПроцедуры
- Процедура ОбработкаПодбора(ВыбДок,КонтФормы)
- Документы.ВыбратьСтроки();
- Пока Документы.ПолучитьСтроку() = 1 Цикл
- Если Документы.Док = ВыбДок Тогда
- Возврат;
- КонецЕсли;
- КонецЦикла;
- Документы.НоваяСтрока();
- Документы.Док = ВыбДок;
- Документы.Ком = ВыбДок.Комментарий;
- ВыбДок.ВыбратьСтроки();
- Пока ВыбДок.ПолучитьСтроку() = 1 Цикл
- ЗарплатныйСчет = СокрЛП(ВыбДок.Сотрудник.НомерЗарплатногоСчетаСБ);
- Если СтрДлина(ЗарплатныйСчет) = 0 Тогда
- Сообщить("У сотрудника: " + ВыбДок.Сотрудник.Наименование + " не заполнен номер банковской карты, его не выгружаем");
- Продолжить;
- КонецЕсли;
- НоваяСтрока();
- ФИО = СокрЛП(ВыбДок.Сотрудник.Наименование);
- Сумма = ВыбДок.Сумма+Выбдок.Компенсация;
- НомерСчета = ЗарплатныйСчет;
- Срок = СокрЛП(ВыбДок.Сотрудник.ДействительнаСБ);
- Пасп = СтрЗаменить(СокрЛП(ВыбДок.Сотрудник.ДокументУдЛичность),",",РазделительСтрок);
- Паспорт = СтрПолучитьСтроку(Пасп,2)+" "+СтрПолучитьСтроку(Пасп,3);
- Сообщить("Добавлен: " + ФИО + ":" + Сумма + "руб. на " + НомерСчета);
- КонецЦикла;
- КонецПроцедуры
- Процедура Выгрузить()
- Если Выбран() = 0 Тогда
- Предупреждение("Перед выгрузкой документ надо записать!");
- Возврат;
- КонецЕсли;
- Если КоличествоСтрок() = 0 Тогда
- Предупреждение("Нечего выгружать!");
- Возврат;
- КонецЕсли;
- //____________вот здесь я изменил_____________________________________________
- ИмяДБФВерное = "S13u2"+СОКРЛП(м)+СОКРЛП(д)+СОКРЛП(н)+".dbf";
- ИмяДБФ = "temp.dbf";
- ДБФ = СоздатьОбъект("Xbase");
- ДБФ.КодоваяСтраница(1);
- ДБФ.ДобавитьПоле("P_A_NUMBER", "C", 32, 0);
- ДБФ.ДобавитьПоле("SUMMA", "N", 16, 2);
- ДБФ.ДобавитьПоле("FIO", "C", 40, 0);
- ДБФ.ДобавитьПоле("PASSPORT", "C", 20, 0);
- ДБФ.ДобавитьПоле("KOD", "C", 20, 0);
- ДБФ.СоздатьФайл(каталог + "\" + ИмяДБФ,каталог);
- ВыбратьСтроки();
- Пока ПолучитьСтроку() = 1 Цикл
- ДБФ.Добавить();
- ДБФ.УстановитьЗначениеПоля("P_A_NUMBER",НомерСчета);
- ДБФ.УстановитьЗначениеПоля("SUMMA",Сумма);
- ДБФ.УстановитьЗначениеПоля("FIO",ФИО);
- ДБФ.УстановитьЗначениеПоля("PASSPORT",Паспорт);
- ДБФ.Записать();
- КонецЦикла;
- ДБФ.ЗакрытьФайл();
- фс.ПереименоватьФайл(каталог + "\" + ИмяДБФ,каталог + "\" + ИмяДБФВерное,1);
- фс.ВыбратьКаталог(Каталог,"Выберите куда сохраняем файл выгрузки:");
- //____________вот здесь я изменил_____________________________________________
- ИмяАрхива = "S13u2"+СОКРЛП(м)+СОКРЛП(д)+"17.arj";
- //Если ФС.СуществуетФайл(Каталог + "\" + ИмяАрхива) = 1 Тогда
- // Если Вопрос("Файл выгрузки " +Каталог + "\" + ИмяАрхива + " существует, перезаписать?",4) = 6 Тогда
- // ФС.УдалитьФайл(Каталог + "\" + ИмяАрхива);
- // КонецЕсли;
- //КонецЕсли;
- КомандаСистемы("sbersign /s " + Каталог + "\" + ИмяДБФВерное);
- КомандаСистемы(КаталогИБ()+"\arj.exe a -e " + каталог + "\" + ИмяАрхива + " " + каталог + "\" + ИмяДБФВерное);
- ФС.УдалитьФайл(каталог + "\" + ИмяДБФВерное);
- КонецПроцедуры
- СписокДействий = СоздатьОбъект("СписокЗначений");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement