Помогите разобраться с обработкой .ert !1С 7.7 ЗиК

Новая тема
"Здравствуйте уважаемые технические специалисты!
У организации существует такая обработка, которая выгружает списки сотрудников на получение зарплаты в специальный формат для отправки в банк, и распечатывает реестры, в которых расписывается директор и т.д.
Так вот, написана она была для другой организации и формирует шапку с названием другой организации и директором а вот таблицу формирует нашу на основании данных из (Журнала документов по кассе) так вот, я не могу никак найти табличную часть в конфигураторе откуда эта обработка берет шапку и все остальное, я знаю что есть некая таблица в которой уже вбиты организация и все остальное, но найти не могу...
Поэтому приходится вручную переносить табличную часть из выгруженного реестра в свой с нашей шапкой, и еще после выгрузки в файл, почему то меняет номер договора, хотя в обработке он прописан правильно, а после выгрузки ставит вместо 00000018, 00000016, я не разбираюсь в языке написания обработок,
вот собственно и обработка, посомтрите пожалуйста, спасибо.

//*******************************************
Перем ДатаПериод;
Перем Фамилия, Имя, Отчество, НомСК, НаимОрганизации, ОГРН,f,t;
Перем СуммаИтог, ФормироватьФайл;


//==============================================­============================================================­=============
Процедура ПриОткрытии()   // установка параметров по умолчанию
    НаимОрганизации="ООО ЮНИ";
    //НаимОрганизации=СокрЛП(Константа.НазваниеОрганизации);   // полное наименование
    ОГРН=СокрЛП(Константа.ОГРН);
    РасчетныйСчет="40702810007300000033";
    ВидЗачисления="01";
    Формат_DBF=1;            // формат выгрузки по умолчанию  1 - для DBF, 0 - для TXT
    НомДок="000001";
    ДатаДок=ТекущаяДата();
   НомСберк="0382";
    НомСчета="408";
    НаименФилиала=СокрЛП("Россошанское ОСБ");
    НомФилиала="382";  
    Договор="00000018";
    ДатаДоговора="26.11.2009";
    Каталог="\\Optifood-data\Users$\ЛаринаТМ\Desktop\зарплата";           // если на дискету, тогда ЛАТИНСКАЯ буква А  Буквы ТОЛЬКО ЛАТИНСКИЕ!!!!!!!!!!!!!!!!!
    ФормироватьФайл=0;       // не трогать!!!
   Реестр = ДатаМесяц(ТекущаяДата())-1;
    Дат=ДатаПериод;
    ДатаРеестр = ТекущаяДата();
КонецПроцедуры

//================================­============================================================­===========================
Функция ФамИмОт(Объект,Фамилия="""",Имя="""",Отчество="""")

    Если ТипЗначения(Объект)=2 Тогда
         ФИО = глРазделить(СокрЛП(Объект),",");
    Иначе
         ФИО = глРазделить(СокрЛП(Объект.Наименование),",");
    КонецЕсли;                            
    ФИО = глРазложить(ФИО," ");
    Фамилия = """"; Имя = """"; Отчество = """";
    Если ФИО.РазмерСписка() > 0 Тогда
         Фамилия = ФИО.ПолучитьЗначение(1);
         Если ФИО.РазмерСписка() > 1 Тогда
              Имя          = ФИО.ПолучитьЗначение(2);
              Если ФИО.РазмерСписка() > 2 Тогда
                   // а вот отчество бывает и не из одного слова                    
                   Для Сч = 3 По ФИО.РазмерСписка() Цикл
                        Отчество = Отчество + ФИО.ПолучитьЗначение(Сч) + " ";
                   КонецЦикла;
                   Если ПустоеЗНачение(Отчество) = 0 Тогда
                        Отчество = Лев(Отчество,СтрДлина(Отчество)-1);
                   КонецЕсли;
              КонецЕсли;
         КонецЕсли;
    КонецЕсли;
   
    Возврат Фамилия+Симв(124)+?(ПустоеЗначение(Имя)=1," ",СокрЛП(Имя))+Симв(124)+?(ПустоеЗначение(Отчество)=1," ",СокрЛП(Отчество))+Симв(124);
КонецФункции
//======================================­============================================================­=====================

Процедура ВыборКаталога(Каталог)
   
    Кат = "С:\";
    Если ФС.ВыбратьКаталог(Кат, "Выберите каталог")=1 Тогда
        Каталог = Кат;
    КонецЕсли;
   
КонецПроцедуры
//====================================­============================================================­=======================


Процедура ПриНачалеВыбораЗначения(Поле, Фл)
   
    Если     Поле = "Каталог"     Тогда
         ВыборКаталога(Каталог);
    КонецЕсли;
   
КонецПроцедуры
//====================================­============================================================­=======================


Процедура ПриВыбореДок()
    СуммаИтог =0;
    ТабСотр.Очистить();
    ТабСотр.НоваяКолонка("Сотрудник","Справочник.Сотрудники")     ;
    ТабСотр.НоваяКолонка("Сумма","Ч",10,2);
    ТекущийДок=ДокВып;
    ТекущийДок.ВыбратьСтроки();
    Пока ТекущийДок.ПолучитьСтроку()=1 Цикл
      Если РСБ =1 Тогда
         Если СокрЛП(НомСчета)= СокрЛП(Лев(ТекущийДок.Сотрудник.НомерЗарплатногоСчета,3)) Тогда  
           Если СокрЛП(Лев(ТекущийДок.Сотрудник.ОтделениеБанка,4)) = "1402" Тогда
         ТабСотр.НоваяСтрока();
         ТабСотр.Сотрудник=ТекущийДок.Сотрудник;
         ТабСотр.Сумма=ТекущийДок.Сумма;                          
         КонецЕсли;
       КонецЕсли;
      Иначе
                   
           Если СокрЛП(НомСчета)= СокрЛП(Лев(ТекущийДок.Сотрудник.НомерЗарплатногоСчета,3)) Тогда  
           Если СокрЛП(Лев(ТекущийДок.Сотрудник.ОтделениеБанка,4)) <> "1402" Тогда
         ТабСотр.НоваяСтрока();
         ТабСотр.Сотрудник=ТекущийДок.Сотрудник;
         ТабСотр.Сумма=ТекущийДок.Сумма;                          
         КонецЕсли;
       КонецЕсли;

     КонецЕсли;

         
         СуммаИтог = СуммаИтог + ТабСотр.Сумма;
    КонецЦикла;
    ДатаПериод=ТекущийДок.ДатаПериода;
    Если СуммаИтог=0 Тогда          
         Предупреждение("В выбранной Ведомости нет сотрудников, у которых Номер счета начинается на "+Лев(НомСчета,3));
         Возврат;
    Иначе
         ФормироватьФайл=1;
    КонецЕсли;

КонецПроцедуры
//================================­============================================================­===========================

Процедура Печать()
   
    Дат=ДатаПериод;
    Таб=СоздатьОбъект("Таблица")     ;
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Шапка");  
    НомерСТрокиНаСтранице=10;
    КолСтрок=ТабСотр.КоличествоСтрок();
    СтрокНаСтранице=30;
    СтрокНа1Странице=35;
    //Страниц=КолСтрок/СтрокНаСтранице;
    НомЛист=1;
    СтрокПодвал=11;
    НомПП=0;
    СуммаИтог=0;
    СуммаЛист=0;
    //Страница=1;
   Если (КолСтрок>=18) и (КолСтрок<25)Тогда
         СтрокНа1Странице=28;
    КонецЕсли;
    ТабСотр.ВыбратьСтроки();
    Пока ТабСотр.ПолучитьСтроку()=1 Цикл
         Если НомЛист<>1 Тогда
         Если НомерСтрокиНаСтранице>=СтрокНаСтранице Тогда
              Таб.ВывестиСекцию("ИтогЛист");
              Таб.ВывестиСекцию("Лист");
              Таб.НоваяСтраница();
              СуммаЛист=0;
              НомЛист=НомЛист+1;
              //Страница=Страница+1;
              НомерСтрокиНаСтранице=2;
              Таб.ВывестиСекцию("ШапкаМал");  
         КонецЕсли;          
         ИначеЕсли НомЛист=1 Тогда
             
              Если НомерСтрокиНаСтранице=СтрокНа1Странице Тогда
              Таб.ВывестиСекцию("ИтогЛист");
              Таб.ВывестиСекцию("Лист");
              Таб.НоваяСтраница();
              СуммаЛист=0;
              НомЛист=НомЛист+1;
              //Страница=Страница+1;
              НомерСтрокиНаСтранице=2;
              Таб.ВывестиСекцию("ШапкаМал");  
         КонецЕсли;          
         КонецЕсли;
         
         НомПП=НомПП+1;
         СуммаИтог=СуммаИтог+ТабСотр.Сумма;
         СуммаЛист=СуммаЛист+ТабСотр.Сумма;
         Таб.ВывестиСекцию("Строка");
         НомерСтрокиНаСтранице=НомерСтрокиНаСтранице+1;
         //Если (НомерСтрокиНаСтранице>=СтрокНаСтранице) или(НомПП=КолСтрок) Тогда
         //     Если НомЛист>1 Тогда
         //          Таб.ВывестиСекцию("ИтогЛист");
         //     КонецЕсли;
         //КонецЕсли;
    КонецЦикла;
    Таб.ВывестиСекцию("ИтогЛист");
    Таб.ВывестиСекцию("Итог");
    Таб.ВывестиСекцию("Подвал");
    Таб.ВывестиСекцию("Лист");
    Таб.Показать();
КонецПроцедуры      


Процедура Печать1()
   
    Дат=ДатаПериод;
    Таб=СоздатьОбъект("Таблица")     ;
    Таб.ИсходнаяТаблица("Таблица1");

    ТабСотр.ВыбратьСтроки();
    Пока ТабСотр.ПолучитьСтроку()=1 Цикл
           Если СокрЛП(НомСчета)= СокрЛП(Лев(ТабСотр.Сотрудник.НомерЗарплатногоСчета,3)) Тогда
       //   Если СокрЛП(НомСберк) = СокрЛП(Лев(ТабСотр.Сотрудник.ОтделениеБанка,4)) Тогда
            Если СокрЛП(Лев(ТабСотр.Сотрудник.ОтделениеБанка,4)) = "1402" Тогда
                Таб.ВывестиСекцию("Строка");
          Конецесли;
           КонецЕсли;      
    КонецЦикла;
    Таб.Показать();
КонецПроцедуры  

Процедура Печать2()
    Номстр = 1;
    Итогстр = 0;
    Дат=ДатаПериод;
    Таб=СоздатьОбъект("Таблица")     ;
    Таб.ИсходнаяТаблица("Таблица2");
   
    ТабСотр.ВыбратьСтроки();
    Таб.ВывестиСекцию("Шапка");
    Пока ТабСотр.ПолучитьСтроку()=1 Цикл
           Если СокрЛП(НомСчета)= СокрЛП(Лев(ТабСотр.Сотрудник.НомерЗарплатногоСчета,3)) Тогда
       //   Если СокрЛП(НомСберк) = СокрЛП(Лев(ТабСотр.Сотрудник.ОтделениеБанка,4)) Тогда
            Если СокрЛП(Лев(ТабСотр.Сотрудник.ОтделениеБанка,4)) = "1402" Тогда
                Таб.ВывестиСекцию("Строка");
        Номстр = Номстр + 1;  
         Итогстр = Итогстр + ТабСотр.Сумма;
           Конецесли;
           КонецЕсли;      
    КонецЦикла;
    Таб.ВывестиСекцию("Подвал");  
    Таб.Показать();
КонецПроцедуры

//================================­============================================================­===========================

Процедура Выгрузить()
    // выполним минимальную проверку:
    Если ПустоеЗначение(ДокВып)=1 Тогда
         Предупреждение("Не выбрана Платежная ведомость",10);
         Возврат;
    КонецЕсли;
    Если ПустоеЗначение(Каталог)=1 Тогда
         Предупреждение("Выберите каталог для выгрузки",10);
         //ВыборКаталога(Каталог);
         Возврат;
    КонецЕсли;
    Если ПустоеЗначение(НомСберк)=1 Тогда
         Предупреждение("Не указано Отделение Банка",10);
         Возврат;
    КонецЕсли;
    Если ПустоеЗначение(НомФилиала)=1 Тогда
         Предупреждение("Не указан Номер Филиала",10);
         Возврат;
    КонецЕсли;
    Если ПустоеЗначение(Договор)=1 Тогда
         Предупреждение("Не указан Номер Договора",10);
         Возврат;
    КонецЕсли;
    Если ФормироватьФайл=0 Тогда
         Предупреждение("В выбранной Ведомости нет сотрудников, у которых Отделение Банка "+НомСберк,10);
         Возврат;
    КонецЕсли;

    Если Формат_DBF=0 Тогда
         Текст=СоздатьОбъект("Текст");      
         Текст.КодоваяСтраница(1);
         Путь=Каталог;                            
         НомСК=СокрЛП(НомСберк);  
         НомФилиала=СокрЛП(НомФилиала);  
         Договор=СокрЛП(Договор);  
         //НомСк=Прав(НомСК,4);
         //НомСК="7931";
         НомПП=0;
         СуммаИтог = 0;
         ТабСотр.ВыбратьСтроки();
         Пока ТабСотр.ПолучитьСтроку()=1 Цикл
              НомПП=НомПП+1;
              СтрокаВыгрузки=СокрЛП(Строка(НомПП))+Симв(124)+СокрЛП(НомСК)+Симв(124)+СокрЛП(НомФилиала)+Симв(124);
              СтрокаВыгрузки=СтрокаВыгрузки+ФамИмОт(ТабСотр.Сотрудник);
              СтрокаВыгрузки=СтрокаВыгрузки+СокрЛП(ТабСотр.Сотрудник.НомерЗарплатногоСчета)+Симв(124)+Макс(СокрЛП(Строка(Формат(ТабСотр.Сумма,"Ч15.2"))),0);
              СуммаИтог = СуммаИтог + ТабСотр.Сумма;
              Текст.ДобавитьСтроку(СтрокаВыгрузки);
         КонецЦикла;
         Если СуммаИтог=0 Тогда          
              Предупреждение("Итоговая сумма = 0.  Файл не сформирован!",10);
              Возврат;
         КонецЕсли;
         День = ДатаЧисло(ДатаДок);
         //ИмяФайла=НомСК+Договор+ Строка(Прав(НомДок,1)) + ".s" + Строка(День);
         ИмяФайла=НомСК+НомФилиала + ".s" + Строка(День);
         //Текст.УдалитьФайл(ИмяФайла);
         Текст.Записать(ИмяФайла);
         //ФС.КопироватьФайл(КаталогПользователя()+ИмяФайла,Путь+"\"+ИмяФайла,0);
         ФС.ПереименоватьФайл(КаталогПользователя()+ИмяФайла,Каталог+"\"+ИмяФайла,1);
         Текст2=СоздатьОбъект("Текст");
         Текст2.КодоваяСтраница(1);
         СтрокаОрг=СокрЛП(Константа.СокращенноеНаименованиеОрганизации) + Симв(124)+СокрЛП(Договор)+Симв(124)+СокрЛП(Строка(НомСберк))+Симв(124)+СокрЛП(НомФилиала)+Симв(124)+Строка(НомПП)+Симв(124)+СокрЛП(Строка(Формат(СуммаИтог,"Ч15.2")));
         Текст2.ДобавитьСтроку(СтрокаОрг);
         //ИмяФ="7931014" + Строка(Прав(НомДок,1)) + ".p" + Строка(День);
         ИмяФ=НомСК+НомФилиала + ".k" + Строка(День);
         //ИмяФ="p7931000.pck";                                              
         Текст2.Записать(ИмяФ);
         //ФС.КопироватьФайл(КаталогПользователя()+ИмяФ,Путь+"\"+ИмяФ,0);
         ФС.ПереименоватьФайл(КаталогПользователя()+ИмяФ,Каталог+"\"+ИмяФ,1);

    Иначе
         Если ПустоеЗначение(НомДок)=1 Тогда
              Предупреждение("Не указан # Платежного поручения",10);
              Возврат;
         КонецЕсли;
         Если ПустоеЗначение(ВидЗачисления)=1 Тогда
              Предупреждение("Не указан Вид зачисления",10);
              Возврат;
         КонецЕсли;

         // создаем *.dbf файл:
       // имя файла в формате: sNNNNMMM.dbf, где
         //S -  специализированный отличительный символ;
         //NNNN-  номер филиала Сбербанка России, в котором открыты счета физических лиц, на которые должны быть зачислены суммы, указанные в Реестре;
         //МММ      - порядковый номер Реестра.
         //Значение специализированного отличительного символа (s) присваивается в следующем порядке:
         //латинская строчная буква "f' - если Реестр направляется для зачисления сумм на счета физических лиц, открытые непосредственно в филиале Банка, в адрес которого передается Реестр;
         //латинская строчная буква "t" - если Реестр направляется для зачисления сумм на счета физических лиц, открытые в филиале-получателе, организационно подчиненном филиалу Банка, в адрес которого передается Реестр.
         //Правила формирования порядкового номера Реестра устанавливаются Предприятием самостоятельно, при ЭТОМ допускается использовать в номере как цифры, так и буквы латинского алфавита. В то же время, обязательным условием является обеспечение уникальности порядкового номера для каждого сформированного Реестра.
         // в качестве порядкового номера используем номер Плат.поручения (для автоуникальности).
         S=?(Число(ВидЗачисления)=1,"f","f");
         S=?(ВидЗачисления=1,"f","f");
         МММ=Прав("00"+СокрЛП(НомДок),3);
           ИмяФ= S+СокрЛП(НомСберк)+МММ + ".dbf";

         НомПП=0;      СуммаИтог = 0;
           ФИО=глРазделить(ТабСотр.Сотрудник.Наименование," ");

         ДБФ = СоздатьОбъект("XBase");
         ДБФ.КодоваяСтраница(1);
         
         ДБФ.ДобавитьПоле("A",2,30,);        ДБФ.ДобавитьПоле("B",2,30,);    ДБФ.ДобавитьПоле("C",2,30,);
         ДБФ.ДобавитьПоле("D",2,30,);    ДБФ.ДобавитьПоле("E",2,30,);    ДБФ.ДобавитьПоле("F",2,30,);
         ДБФ.ДобавитьПоле("G",2,30,);


         ДБФ.СоздатьФайл(КаталогПользователя()+ИмяФ,Путь+"\"+ИмяФ);

         ДБФ.АвтоСохранение(1);
         ДБФ.Первая();
         ДБФ.Добавить();
         // первая строка файла
         ДБФ.A=НаименФилиала+""""+СокрЛП(НомФилиала);    
         ДБФ.Добавить();
         // вторая строка файла
         ДБФ.A="К платежному поручению #";  
         ДБФ.B=НомДок;
         ДБФ.C="от";
         ДБФ.D=Лев(ДатаДок,6)+ДатаГод(ДатаДок);
         ДБФ.Добавить();
         // третья строка файла
         ДБФ.A="Зачисление";  
         ДБФ.B=ВидЗачисления;  
         ДБФ.Добавить();
         // четвертая строка файла
         ДБФ.A="Наименование,ОГРН,# банк.счета";  
         ДБФ.B=НаимОрганизации+" "+ОГРН;
         ДБФ.C=РасчетныйСчет;
         ДБФ.Добавить();
         // пятая строка файла
         ДБФ.A="По договору:";      
         ДБФ.B=Договор;
         ДБФ.C="от";
         ДБФ.D=Лев(ДатаДоговора,6)+ДатаГод(ДатаДоговора);
         ДБФ.Добавить();
         // шестая строка файла
         ДБФ.A="# п/п";  
         ДБФ.B="Номер счета";
         ДБФ.C="Фамилия";
         ДБФ.D="Имя";
         ДБФ.E="Отчество";
         ДБФ.F="Сумма";
         ДБФ.G="Примечание";
         ДБФ.Добавить();

         ТабСотр.ВыбратьСтроки();
         Пока ТабСотр.ПолучитьСтроку()=1 Цикл
              НомПП=НомПП+1;
                ФИО=глРазделить(ТабСотр.Сотрудник.Наименование," ");
              //ДБФ.АвтоСохранение(1);
              ДБФ.A=НомПП;
              ДБФ.B=СокрЛП(ТабСотр.Сотрудник.НомерЗарплатногоСчета);
              ДБФ.C=СокрЛП(СтрПолучитьСтроку(ФИО,1));
              ДБФ.D=СокрЛП(СтрПолучитьСтроку(ФИО,2));
              ДБФ.E=СокрЛП(СтрПолучитьСтроку(ФИО,3));                    
              ДБФ.F=Макс(СокрЛП(Строка(Формат(ТабСотр.Сумма,"Ч15.2"))),0);
              ДБФ.Добавить();
              СуммаИтог = СуммаИтог + ТабСотр.Сумма;
         КонецЦикла;
         Если СуммаИтог=0 Тогда          
              Предупреждение("Итоговая сумма = 0.  Файл не сформирован!",10);
              Возврат;
         КонецЕсли;
              ДБФ.A=НомПП+1;
              ДБФ.B="ИТОГО:";    // последняя строка файла
         //     ДБФ.F=СуммаИтог;
             ДБФ.F=Макс(СокрЛП(Строка(Формат(СуммаИтог,"Ч15.2"))),0);
           //  ДБФ.Добавить();
              ДБФ.Записать();
         ДБФ.ЗакрытьФайл();
         ФС.ПереименоватьФайл(КаталогПользователя()+ИмяФ,Каталог+"\"+ИмяФ,1);

    КонецЕсли;
         Предупреждение("Файл "+Каталог+"\"+ИмяФ+" сформирован!",5);
КонецПроцедуры
//====================================­============================================================­=======================

Процедура ФорматВыгрузки()
    Если Формат_DBF=1 Тогда
         Формат_TXT=0;
         Форма.Формат_TXT.Доступность(0);
    Иначе
         Формат_TXT=1;
         Форма.Формат_TXT.Доступность(1);
    КонецЕсли;
КонецПроцедуры
//====================================­============================================================­======================="
Мало того, что сперли где то обработку, так еще и не можете ее настроить? Пригласите разработчика, он вам наладит!
С чего вы взяли что спёрли! это наша же компания, только написана она для другого филиала, и они нам её передали, рано или поздно я настрою её, и без помощи разработчиков, думал что здесь обитают специалисты и они помогут, оказалось что нет.
Помочь найти макет, в котором жестко указано наименование предприятия? Ищите что там в обработке нарисовано в макете "Таблица"
Я все перерыл, не могу найти ничего....
я вот думаю может создать самому шапку, и в обработке прописать откуда её брать...
Скинь обработку через личку, посмотрю
Открываешь обработку в конфигураторе, внизу закладочки, нажимаешь на "Таблица", в 12 строке "Шапки" видишь то что вбито руками, исправляешь на нужное, сохраняешь и смотришь!
Ок, спасибо, теперь буду знать...
как удалить эту тему, чтобы место не занимала, если это возможно, сделайте пожалуйста...
У меня прав нету, да и пусть висит для потомков!
Там ксати есть несколько макетов и в макете "Таблица2" тоже вручную забито!
Читают тему
(гостей: 1)

Быстрый переход