Имя: Пароль:
1C
1C 7.7
v7: Документ.ПеречислениеЗарплатыНаПК
,
0 Юлия Цветочек
 
06.12.12
21:15
Как из конфигурации вытащить Документ.ПеречислениеЗарплатыНаПК и сделать к нему внешнюю обработку?
Как в этом документе формируется XML-файл? В модуле не нашла строк для его формирования.
1 zak555
 
06.12.12
21:15
формируется обработкой
2 Юлия Цветочек
 
модератор
06.12.12
21:16
Да, забыла - конфигурация ЗиК ред. 2.3 (7.0....)
3 Юлия Цветочек
 
модератор
06.12.12
21:17
(1) Обработка в самой Конфигурации есть? Что-то я не нашла в списке ничего....
4 zak555
 
06.12.12
21:17
ты забыла сделать глобальный поиск на вхождение слов в конфе ПеречислениеЗарплатыНаПК
5 zak555
 
06.12.12
21:17
это тебе не феерическая любовь
6 zak555
 
06.12.12
21:18
это Зарплата и Кадры !
7 Юлия Цветочек
 
06.12.12
21:18
(4) Я делала такой поиск. Результат - только Документ.ПеречислениеЗарплатыНаПК
8 zak555
 
06.12.12
21:19
(7) т.е. я ищу иначе ?
9 floody
 
06.12.12
21:20
ты ведь "сисадмин на предприятие", позови 1сника
10 Юлия Цветочек
 
модератор
06.12.12
21:22
(8) Думаю, что я ни так ищу) Завтра на работе попробую по твоему совету.
11 Юлия Цветочек
 
06.12.12
21:23
(9) Я ещё и с музыкой дружу, но не спец....
12 zak555
 
06.12.12
21:27
Процедура СформироватьФайлНаПеречислениеЗарплаты()
   
   ТСотрудников     = СоздатьОбъект("ТаблицаЗначений");
   ВременнаяТаблица = СоздатьОбъект("ТаблицаЗначений");
   ВыбратьСтроки();
   Пока ПолучитьСтроку() = 1 Цикл
       ПлатежнаяВедомость.ВыгрузитьТабличнуюЧасть(ВременнаяТаблица);
       Если ТСотрудников.КоличествоКолонок() = 0 тогда                  
           ВременнаяТаблица.Выгрузить(ТСотрудников);
       Иначе
           глПереписатьИзТаблицыВТаблицу(ВременнаяТаблица, ТСотрудников);
       КонецЕсли;
   КонецЦикла;
   
   // инициализация обработчика сообщений
   ОбработчикСообщений = глСоздатьОбработчикСообщений("Формирование файла:");
   Если Проверка(ОбработчикСообщений) = 1 Тогда
       НеФормироватьФайл = 0;
   Иначе
       НеФормироватьФайл = 1;
   КонецЕсли;
   
   гФайлДанных = глСоздатьВыходнойXMLФайл();
   ПолученноеИмяФайла = глПолучитьИмяXMLФайла(ОтделениеБанка, НомерДок, "z");
   
   Если СокрЛП(ИмяФайла) <> СокрЛП(ПолученноеИмяФайла) тогда
       ИмяФайла = ПолученноеИмяФайла;
   КонецЕсли;
   Корень        = гФайлДанных;
   ЭлСчетаПК    = глСоздатьЭлементСчетаПК(Корень, СОКРЛП(НомерДоговора), РасчетныйСчет, ОбработчикСообщений, НеФормироватьФайл);
   
   ЭлОткрытиеСчетов = ЭлСчетаПК.СоздатьПодчиненныйЭлемент("ЗачислениеЗарплаты");
   
   КоличествоЗаписей = 0;
   СуммаИтого = 0;
   
   ВсегоСотрудников = ТСотрудников.КоличествоСтрок();
   Для индСотрудника = 1 по ВсегоСотрудников Цикл
       ТСотрудников.ПолучитьСтрокуПоНомеру(индСотрудника);

       Если ТолькоПоУказанномуОтделению =1 Тогда
           Если ТСотрудников.Сотрудник.ОтделениеБанка <> ОтделениеБанка Тогда
               Продолжить;
           КонецЕсли;
       КонецЕсли;
           
       ЭлСотрудник = глСоздатьЭлементСотрудник(ЭлОткрытиеСчетов, индСотрудника, ТСотрудников, ОтделениеБанка, ФилиалОтделенияБанка, ОбработчикСообщений, НеФормироватьФайл);
       
       Если ПустоеЗначение(ТСотрудников.Сотрудник.НомерЗарплатногоСчета) = 0 тогда
           ЭлЛицевойСчет = ЭлСотрудник.СоздатьПодчиненныйЭлемент("ЛицевойСчет");
           ЭлЛицевойСчет.Значение = СокрЛП(ТСотрудников.Сотрудник.НомерЗарплатногоСчета);
       Иначе
           глДобавитьСообщение(ОбработчикСообщений, "У сотрудника " + глФамилияИмяОтчество(ТСотрудников.Сотрудник) + " не указан лицевой счет", ТСотрудников.Сотрудник, , "");
           НеФормироватьФайл = 1;
       КонецЕсли;
       
       Если ПустоеЗначение(ТСотрудников.Сумма + ТСотрудников.Компенсация) = 0 тогда
           ЭлСумма = ЭлСотрудник.СоздатьПодчиненныйЭлемент("Сумма");
           ЭлСумма.Значение = ТСотрудников.Сумма + ТСотрудников.Компенсация;
       Иначе
           глДобавитьСообщение(ОбработчикСообщений, "У сотрудника " + глФамилияИмяОтчество(ТСотрудников.Сотрудник) + " не указана сумма, перечисляемая на лицевой счет", ТСотрудников.Сотрудник, , "");
           НеФормироватьФайл = 1;
       КонецЕсли;
       
       //ЭлКодВалюты = ЭлСотрудник.СоздатьПодчиненныйЭлемент("КодВалюты");
       //ЭлКодВалюты.Значение = Валюта.Код;
       
       КоличествоЗаписей = КоличествоЗаписей + 1;
       СуммаИтого = СуммаИтого + ТСотрудников.Сумма + ТСотрудников.Компенсация;
       
   КонецЦикла;
   
   глСоздатьЭлементКонтрольныеСуммы(ЭлСчетаПК, КоличествоЗаписей, СуммаИтого);
   
   Если НеФормироватьФайл = 1 тогда
       глДобавитьСообщение(ОбработчикСообщений, "Файл не сформирован!");
       глПоказатьТрассировку(ОбработчикСообщений);
       гФайлДанных = "";
   Иначе
       гФайлДанных.Записать(СокрЛП(ПутьКФайлу) + ?(Прав(СокрЛП(ПутьКФайлу) , 1) <> "\", "\", "") + ИмяФайла);
       глДобавитьСообщение(ОбработчикСообщений, "Формирование файла " + ИмяФайла + " завершено", 0);
       глПоказатьТрассировку(ОбработчикСообщений);
   КонецЕсли;
   
КонецПроцедуры
13 zak555
 
06.12.12
21:34
(11) дружишь как ?
14 Юлия Цветочек
 
06.12.12
21:38
(12)....
гФайлДанных= глСоздатьВыходнойXMLФайл();....

Это в глобальном модуле смотреть?

(13) По памяти и на слух - само собой получается.
15 Юлия Цветочек
 
06.12.12
21:39
(12) Спасибо.
16 zak555
 
06.12.12
21:42
(14)

1. думаю, что да
2. не понял

(15) не за что
17 Юлия Цветочек
 
07.12.12
09:34
Как файлы .s07 и .k07 сконвертировать в .xml?
18 zak555
 
07.12.12
09:35
(17) это что ?
19 BlackSeaCat
 
07.12.12
09:41
(18) Если мне не изменяет склероз, то это старый сберовский формат выгрузки, фактически - текст.

(17) В НЕправленой ЗиК формируется нормальный XML, не надо эту фигню "конвертировать".

А уж документ в обработку - тем более, ее надо НАПИСАТЬ.
20 Юлия Цветочек
 
07.12.12
09:43
(18) У меня есть внешняя обработка по Выгрузке ЗП сотрудников на ПК. Она формирует два файла  .s07 и .k07.

А с гФайлДанных= глСоздатьВыходнойXMLФайл(); я не смогу разобраться - у меня нет таких знаний)

Вот, и думаю - как из 2-х полученных файликов получить формат xml, который требуется для Сбербанка.
21 BlackSeaCat
 
07.12.12
09:46
(20) Это называется штаны через голову надевать. Требует знаний и умений всяко не меньше, чем традиционный способ.
22 zak555
 
07.12.12
09:46
процедура СформироватьФайлНаПеречислениеЗарплаты формирует xml файл
24 HeroShima
 
07.12.12
09:56
(23) Семён Семёныч... Ну ты бы хоть забила инн и фамилию)
26 Юлия Цветочек
 
07.12.12
09:59
(24) Так я из подредактировала)
27 Юлия Цветочек
 
07.12.12
09:59
(25) Что это?
28 zak555
 
07.12.12
10:00
(27) данныне
29 HeroShima
 
07.12.12
10:00
(27) инфа из XML
30 HeroShima
 
07.12.12
10:01
давай, три всё!)
31 Юлия Цветочек
 
07.12.12
10:01
(28) Это Сбербанк разослал. Данные, наверное, выдуманные.
32 HeroShima
 
07.12.12
10:02
(31) аааа
34 Юлия Цветочек
 
07.12.12
10:06
(23) Сделаю дубликат, своего сообщения № 23:
Да, из нашей ЗиК есть возможность формировать такой файл:

<?xml version="1.0" encoding="windows-1251" ?>
- <СчетаПК ДатаФормирования="2012-12-06" НомерДоговора="1111" НаименованиеОрганизации="ООО "Например"
ИНН="524611111\52461111"
РасчетныйСчетОрганизации="111111">
- <ЗачислениеЗарплаты>
- <Сотрудник Нпп="1">
 <Фамилия>Калико</Фамилия>
 <Имя>Сергей</Имя>
 <Отчество>Николаевич</Отчество>
 <ОтделениеБанка>111111</ОтделениеБанка>
 <ФилиалОтделенияБанка>1111</ФилиалОтделенияБанка>
 <ЛицевойСчет>4081781222222/51</ЛицевойСчет>
 <Сумма>4000</Сумма>
 </Сотрудник>
 </ЗачислениеЗарплаты>
- <КонтрольныеСуммы>
 <КоличествоЗаписей>1</КоличествоЗаписей>
 <СуммаИтого>4000</СуммаИтого>
 </КонтрольныеСуммы>
 </СчетаПК>

Но, в нем не хватает строк :
БИК="042202603" ИдПервичногоДокумента="0c205f1c-b116-11e0-a9d5-0030489edafa" НомерРеестра="1000" ДатаРеестра="2012-02-01">


Вот формат файла XML, который требует Сбербанк:

 <?xml version="1.0" encoding="windows-1251" ?>
- <СчетаПК ДатаФормирования="2012-02-01" НомерДоговора="1454" НаименованиеОрганизации="Образец" ИНН="14562378"
РасчетныйСчетОрганизации="145625896"



БИК="2344444" ИдПервичногоДокумента="0c205f1c-b116-11e0-a9d5-0030489edafa" НомерРеестра="1000" ДатаРеестра="2012-02-01">


- <ЗачислениеЗарплаты>
- <Сотрудник Нпп="1">
 <Фамилия>Сидоров</Фамилия>
 <Имя>Сидор</Имя>
 <Отчество>Сидорович</Отчество>
 <ОтделениеБанка>1111</ОтделениеБанка>
 <ФилиалОтделенияБанка>1111</ФилиалОтделенияБанка>
 <ЛицевойСчет>4512788524545</ЛицевойСчет>
 <Сумма>15000.22</Сумма>
 </Сотрудник>


Думала, что разберусь, как формируется XML в Глобальном модуле и сама добавлю недостающие строки.
Но, мне не «потянуть» такой код).
40 BlackSeaCat
 
07.12.12
10:33
(34) Модератор Вам в помощь. Вишь, как старается!
41 Юлия Цветочек
 
модератор
07.12.12
10:43
(40) Это я так постаралась - в первый раз выложила данные человека... Пришлось их отредактировать.
42 BlackSeaCat
 
07.12.12
10:54
(41) Да не только данные, а еще и все, что не понравилось? Фи! Дальше разбирайтесь как хотите.
43 zak555
 
07.12.12
10:55
(41) эти данные в открытом доступе и так
44 HeroShima
 
07.12.12
11:50
БИК
ИдПервичногоДокумента
НомерРеестра
ДатаРеестра
-о чём они?