Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 7.40 KB | None | 0 0
  1. Перем Документы, СписокДействий;
  2.  
  3. Функция конв16(Dec)
  4.        
  5.     Ост=Число(DEC);
  6.     Hex="";
  7.     Пока Ост>0 Цикл
  8.         HEX0=Ост-Цел(Ост/16)*16;
  9.         Ост=Цел(Ост/16);
  10.         Если HEX0=10 Тогда
  11.             HEX0="a";
  12.         ИначеЕсли HEX0=11 Тогда
  13.             HEX0="b"
  14.         ИначеЕсли HEX0=12 Тогда
  15.             HEX0="c"
  16.         ИначеЕсли HEX0=13 Тогда
  17.             HEX0="d"
  18.         ИначеЕсли HEX0=14 Тогда
  19.             HEX0="e"
  20.         ИначеЕсли HEX0=15 Тогда
  21.             HEX0="f"
  22.         КонецЕсли;
  23.         Hex=""+HEX0+Hex;
  24.     КонецЦикла;  
  25.    
  26.     Возврат Hex;
  27.    
  28. КонецФункции
  29.  
  30.  
  31. Процедура ВводНового(авв,ввв)
  32.  
  33.     докЗП = СоздатьОбъект("Документ._ВыгрузкаЗПвСбербанк");
  34.     докЗП.ВыбратьДокументы (ДатаДок,ДатаДок);
  35.     Если Выбран()=1 Тогда
  36.         счдок = 0;
  37.     Иначе
  38.         счдок = 1;
  39.     КонецЕсли;  
  40.    
  41.     Пока докЗП.ПолучитьДокумент() = 1 Цикл
  42.         счдок = счдок + 1;
  43.     КонецЦикла;  
  44.     н = СОКРЛП(конв16(счдок));                    
  45.    
  46.  
  47. КонецПроцедуры
  48.  
  49. Процедура ПриОткрытии()
  50.  
  51.     СписокДействий.ДобавитьЗначение("Перейти в журнал");
  52.                
  53.     Документы = СоздатьОбъект("ТаблицаЗначений");
  54.     Документы.НоваяКолонка("Док",,,,"Документ",38,,);
  55.     Документы.НоваяКолонка("Ком",,,,"Комментарий",,,);
  56.  
  57.     Каталог = "X:\";
  58.     //____________вот здесь я изменил_____________________________________________
  59.     д = СОКРЛП(конв16(ДатаЧисло(ДатаДок)));
  60.     м = СОКРЛП(конв16(ДатаМесяц(ДатаДок)));
  61.     //_____________________________________________________________________________
  62.                          
  63.                  
  64. КонецПроцедуры
  65.  
  66. Процедура Добавить()
  67.  
  68.     ОткрытьПодбор("Документ.ВыплатаЗаработнойПлаты","кака",1);              
  69.  
  70. КонецПроцедуры
  71.  
  72. Процедура ОбработкаПодбора(ВыбДок,КонтФормы)
  73.  
  74.     Документы.ВыбратьСтроки();
  75.     Пока Документы.ПолучитьСтроку() = 1 Цикл
  76.         Если Документы.Док = ВыбДок Тогда
  77.             Возврат;
  78.         КонецЕсли;
  79.     КонецЦикла;
  80.  
  81.     Документы.НоваяСтрока();   
  82.     Документы.Док = ВыбДок;
  83.     Документы.Ком = ВыбДок.Комментарий;    
  84.                                    
  85.     ВыбДок.ВыбратьСтроки();
  86.     Пока ВыбДок.ПолучитьСтроку() = 1 Цикл
  87.  
  88.             ЗарплатныйСчет = СокрЛП(ВыбДок.Сотрудник.НомерЗарплатногоСчетаСБ);
  89.             Если СтрДлина(ЗарплатныйСчет) = 0 Тогда
  90.                 Сообщить("У сотрудника: " + ВыбДок.Сотрудник.Наименование + " не заполнен номер банковской карты, его не выгружаем");
  91.                 Продолжить;  
  92.             КонецЕсли;      
  93.  
  94.         НоваяСтрока();
  95.         ФИО = СокрЛП(ВыбДок.Сотрудник.Наименование);
  96.         Сумма = ВыбДок.Сумма+Выбдок.Компенсация;
  97.         НомерСчета = ЗарплатныйСчет;
  98.         Срок = СокрЛП(ВыбДок.Сотрудник.ДействительнаСБ);
  99.         Пасп = СтрЗаменить(СокрЛП(ВыбДок.Сотрудник.ДокументУдЛичность),",",РазделительСтрок);
  100.         Паспорт = СтрПолучитьСтроку(Пасп,2)+" "+СтрПолучитьСтроку(Пасп,3);
  101.         Сообщить("Добавлен: " + ФИО + ":" + Сумма + "руб. на " + НомерСчета);
  102.     КонецЦикла;
  103.  
  104. КонецПроцедуры
  105.  
  106. Процедура Выгрузить()
  107.        
  108.     Если Выбран() = 0 Тогда
  109.         Предупреждение("Перед выгрузкой документ надо записать!");
  110.         Возврат;
  111.     КонецЕсли;
  112.  
  113.     Если КоличествоСтрок() = 0 Тогда
  114.         Предупреждение("Нечего выгружать!");
  115.         Возврат;
  116.     КонецЕсли;                          
  117.  
  118.     //____________вот здесь я изменил_____________________________________________
  119.    
  120.     ИмяДБФВерное = "S13u2"+СОКРЛП(м)+СОКРЛП(д)+СОКРЛП(н)+".dbf";
  121.    ИмяДБФ = "temp.dbf";
  122.    
  123.    
  124.     ДБФ = СоздатьОбъект("Xbase");
  125.     ДБФ.КодоваяСтраница(1);
  126.     ДБФ.ДобавитьПоле("P_A_NUMBER",    "C", 32,   0);
  127.     ДБФ.ДобавитьПоле("SUMMA",    "N", 16,   2);            
  128.     ДБФ.ДобавитьПоле("FIO",    "C", 40,   0);      
  129.     ДБФ.ДобавитьПоле("PASSPORT",    "C", 20,   0);      
  130.     ДБФ.ДобавитьПоле("KOD",    "C", 20,   0);    
  131.     ДБФ.СоздатьФайл(каталог + "\" + ИмяДБФ,каталог);    
  132.  
  133.     ВыбратьСтроки();
  134.     Пока ПолучитьСтроку() = 1 Цикл
  135.             ДБФ.Добавить();
  136.             ДБФ.УстановитьЗначениеПоля("P_A_NUMBER",НомерСчета);
  137.             ДБФ.УстановитьЗначениеПоля("SUMMA",Сумма);
  138.             ДБФ.УстановитьЗначениеПоля("FIO",ФИО);
  139.             ДБФ.УстановитьЗначениеПоля("PASSPORT",Паспорт);
  140.            ДБФ.Записать();                                        
  141.     КонецЦикла;  
  142.    ДБФ.ЗакрытьФайл();
  143.     фс.ПереименоватьФайл(каталог + "\" + ИмяДБФ,каталог + "\" + ИмяДБФВерное,1);
  144.    
  145.     фс.ВыбратьКаталог(Каталог,"Выберите куда сохраняем файл выгрузки:");
  146.                                                                        
  147.     //____________вот здесь я изменил_____________________________________________
  148.     ИмяАрхива = "S13u2"+СОКРЛП(м)+СОКРЛП(д)+"17.arj";                          
  149.    
  150.    
  151.     //Если ФС.СуществуетФайл(Каталог + "\" + ИмяАрхива) = 1 Тогда
  152.     //  Если Вопрос("Файл выгрузки " +Каталог + "\" + ИмяАрхива  + " существует, перезаписать?",4) = 6 Тогда
  153.     //      ФС.УдалитьФайл(Каталог + "\" + ИмяАрхива);
  154.     //  КонецЕсли;
  155.     //КонецЕсли;
  156.     КомандаСистемы("sbersign /s " + Каталог + "\" + ИмяДБФВерное);
  157.     КомандаСистемы(КаталогИБ()+"\arj.exe a -e " + каталог + "\" + ИмяАрхива + " " + каталог + "\" + ИмяДБФВерное);
  158.  
  159.  
  160.     ФС.УдалитьФайл(каталог + "\" + ИмяДБФВерное);
  161.    
  162. КонецПроцедуры
  163.  
  164.  
  165. СписокДействий = СоздатьОбъект("СписокЗначений");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement