По теме из базы знаний
- Выгрузка из КАМИН 3.0 зарплаты *.DBF и Открытие Зарплатных счетов в одной обработке
- Выгрузка зарплаты из Камин 3.0 в формате XML для Сбербанка
- Загрузка документов (e-invoicing) Сбербанк
- Групповая выгрузка платежных документов из БП 3.0 в файлы для Клиент банков
- Выгрузка расчетных листков для Сбера в формате xml
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
получаю формат такой
<?xml version="1.0" encoding="windows-1251"?>
<СчетаПК xmlns="http://v8.1c.ru/edi/edi_stnd/109" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="СчетПК" ДатаФормирования="2014-07-20" НомерДоговора="11008888" ДатаДоговора="2014-04-23" НаименованиеОрганизации="Общество с ограниченной ответственностью "ОООО"" ИНН="3443928280" РасчетныйСчетОрганизации="40702810555000008890" БИК="041806647" ИдПервичногоДокумента="5cf3d361-0282-11e4-be73-74d435557f46" НомерРеестра="5" ДатаРеестра="2014-07-03">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Иванов</Фамилия>
<Имя>Сергей</Имя>
<Отчество>Александрович</Отчество>
<ЛицевойСчет>408178100188888888</ЛицевойСчет>
<Сумма>7920</Сумма>
<КодВалюты>643</КодВалюты>
</Сотрудник>
</ЗачислениеЗарплаты>
<ВидЗачисления>01</ВидЗачисления>
<КонтрольныеСуммы>
<КоличествоЗаписей>1</КоличествоЗаписей>
<СуммаИтого>7920</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
<?xml version="1.0" encoding="windows-1251"?>
<СчетаПК xmlns="http://v8.1c.ru/edi/edi_stnd/109" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="СчетПК" ДатаФормирования="2014-07-20" НомерДоговора="11008888" ДатаДоговора="2014-04-23" НаименованиеОрганизации="Общество с ограниченной ответственностью "ОООО"" ИНН="3443928280" РасчетныйСчетОрганизации="40702810555000008890" БИК="041806647" ИдПервичногоДокумента="5cf3d361-0282-11e4-be73-74d435557f46" НомерРеестра="5" ДатаРеестра="2014-07-03">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Иванов</Фамилия>
<Имя>Сергей</Имя>
<Отчество>Александрович</Отчество>
<ЛицевойСчет>408178100188888888</ЛицевойСчет>
<Сумма>7920</Сумма>
<КодВалюты>643</КодВалюты>
</Сотрудник>
</ЗачислениеЗарплаты>
<ВидЗачисления>01</ВидЗачисления>
<КонтрольныеСуммы>
<КоличествоЗаписей>1</КоличествоЗаписей>
<СуммаИтого>7920</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
(2) ded20ded, если очень интересно то обратите внимание на это ОбщийМодуль.ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.Модуль
но вам достаточно Справочники -> ЗарплатныеПроекты выбираете ваш проект, открываете его, находите поле формат файла (судя по посту 2) выбираете Стандарт ЭОИ с банком (версия 1)проверяете полученный файл, спускаетесь в магазин берете пиво (минимум 1 литр) пьете его. И будет вам счастье.
(4) Cooler, зачем же хамить и давать не верные советы, и даже не извиняться??? судя по вашим публикациям (коих ноль) вы тоже очень сильны. Как вы даете совет бросить это дело, позвольте и мне дать Вам совет также бросить флудить на данном форуме. Каждый из нас думает что он всех ежей голым задом передавит, а сами-то .....
но вам достаточно Справочники -> ЗарплатныеПроекты выбираете ваш проект, открываете его, находите поле формат файла (судя по посту 2) выбираете Стандарт ЭОИ с банком (версия 1)проверяете полученный файл, спускаетесь в магазин берете пиво (минимум 1 литр) пьете его. И будет вам счастье.
(4) Cooler, зачем же хамить и давать не верные советы, и даже не извиняться??? судя по вашим публикациям (коих ноль) вы тоже очень сильны. Как вы даете совет бросить это дело, позвольте и мне дать Вам совет также бросить флудить на данном форуме. Каждый из нас думает что он всех ежей голым задом передавит, а сами-то .....
как привести к варианту
Приложение 3. Пример реестра на зачисление заработной платы.
<?xml version="1.0" encoding="windows-1251" ?>
<СчетаПК ДатаФормирования="2011-08-15" НомерДоговора="12365478"
НаименованиеОрганизации="ООО Ромашка" ИНН="1234567890"
РасчетныйСчетОрганизации="40702810738991234567" БИК="044525225"
ИдПервичногоДокумента="ea5d494f-a5ff-11e0-8712-00137736ddb6">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Петров</Фамилия>
<Имя>Петр</Имя>
<Отчество>Петрович</Отчество>
<ОтделениеБанка>6901</ОтделениеБанка>
<ЛицевойСчет>40817810738991234567</ЛицевойСчет>
<Сумма>10000.31</Сумма>
</Сотрудник>
<Сотрудник Нпп="2">
<Фамилия>Иванов</Фамилия>
<Имя>Иван</Имя>
<Отчество>Иванович</Отчество>
<ОтделениеБанка>6901</ОтделениеБанка>
<ЛицевойСчет>40817810738997654321</ЛицевойСчет>
<Сумма>15000.42</Сумма>
</Сотрудник>
</ЗачислениеЗарплаты>
<КонтрольныеСуммы>
<КоличествоЗаписей>2</КоличествоЗаписей>
<СуммаИтого>25000.73</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
Приложение 3. Пример реестра на зачисление заработной платы.
<?xml version="1.0" encoding="windows-1251" ?>
<СчетаПК ДатаФормирования="2011-08-15" НомерДоговора="12365478"
НаименованиеОрганизации="ООО Ромашка" ИНН="1234567890"
РасчетныйСчетОрганизации="40702810738991234567" БИК="044525225"
ИдПервичногоДокумента="ea5d494f-a5ff-11e0-8712-00137736ddb6">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Петров</Фамилия>
<Имя>Петр</Имя>
<Отчество>Петрович</Отчество>
<ОтделениеБанка>6901</ОтделениеБанка>
<ЛицевойСчет>40817810738991234567</ЛицевойСчет>
<Сумма>10000.31</Сумма>
</Сотрудник>
<Сотрудник Нпп="2">
<Фамилия>Иванов</Фамилия>
<Имя>Иван</Имя>
<Отчество>Иванович</Отчество>
<ОтделениеБанка>6901</ОтделениеБанка>
<ЛицевойСчет>40817810738997654321</ЛицевойСчет>
<Сумма>15000.42</Сумма>
</Сотрудник>
</ЗачислениеЗарплаты>
<КонтрольныеСуммы>
<КоличествоЗаписей>2</КоличествоЗаписей>
<СуммаИтого>25000.73</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
вы формат выгрузки выбрали 3.3?, и если вы пользуетесь клиентом бизнес онлайн, вам в дополнительно нужно просто загрузить реестр, либо вы можете только список выгружать из 1с и подгружать в созданный реестр
извините ввел в заблуждение это в зуп есть возможность выбрать формат, а для сбербанка 1с утверждает что этот (который у вас получается) совместно разработан.
Перерыл все не могу понять как файл формируется, подскажите плиз
// Формирует и прикрепляет файл обмена к документам с помощью подсистемы "Файлы"
//
// Параметры:
// МассивДокументов - Массив ссылок на документы, по которым требуется сформировать файл
// МассивОписанийФайлов - Массив описаний сформированных файлов
//
Процедура ВыгрузитьФайлыДляОбменаСБанком(МассивДокументов, МассивОписанийФайлов, ПлатежныйДокумент = Неопределено) Экспорт
Отказ = Ложь;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
Запрос.УстановитьПараметр("ПлатежныйДокумент", ПлатежныйДокумент);
Запрос.Текст =
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.Ссылка КАК Ведомость,
| ВедомостьНаВыплатуЗарплатыВБанк.ЗарплатныйПроект КАК ЗарплатныйПроект,
| ВедомостьНаВыплатуЗарплатыВБанк.Проведен КАК Проведен,
| ПлатежныеДокументыПеречисленияЗарплаты.ПлатежныйДокумент КАК ПлатежныйДокумент
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлатежныеДокументыПеречисленияЗарплаты КАК ПлатежныеДокументыПеречисленияЗарплаты
| ПО ВедомостьНаВыплатуЗарплатыВБанк.Ссылка = ПлатежныеДокументыПеречисленияЗарплаты.Ведомость
| И (ПлатежныеДокументыПеречисленияЗарплаты.ПлатежныйДокумент <> &ПлатежныйДокумент)
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанк.Ссылка В(&МассивДокументов)";
ЗарплатныйПроект = Неопределено;
ВДокументахОдинЗарплатныйПроект = Истина;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если ЗначениеЗаполнено(Выборка.ПлатежныйДокумент) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 уже включена в %2'"),
Выборка.Ведомость, Выборка.ПлатежныйДокумент);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, Выборка.ПлатежныйДокумент, , , Отказ);
КонецЕсли;
Если Не Выборка.Проведен Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Документ %1 не проведен.'"), Выборка.Ведомость);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, Выборка.Ведомость,,, Отказ);
КонецЕсли;
Если ЗарплатныйПроект = Неопределено Тогда
ЗарплатныйПроект = Выборка.ЗарплатныйПроект;
ИначеЕсли ЗарплатныйПроект <> Выборка.ЗарплатныйПроект Тогда
ВДокументахОдинЗарплатныйПроект = Ложь;
КонецЕсли;
Если НЕ ОбменСБанкамиПоЗарплатнымПроектам.ИспользоватьЭОИСБанком(Выборка.ЗарплатныйПроект) Тогда
Если ЗначениеЗаполнено(Выборка.ЗарплатныйПроект) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'По зарплатному проекту %1 не используется обмен электронными документами с банком.'"),
Выборка.ЗарплатныйПроект);
Иначе
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В документе %1 не выбран зарплатный проект.'"), Выборка.Ведомость);
КонецЕсли;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ТекстСообщения, Выборка.ЗарплатныйПроект, "ИспользоватьЭлектронныйДокументооборотСБанком",,Отказ);
КонецЕсли;
КонецЦикла;
Если ПлатежныйДокумент <> Неопределено Тогда
Если НЕ ПлатежныйДокумент.Проведен Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Документ %1 не проведен.'"), ПлатежныйДокумент);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, ПлатежныйДокумент,,, Отказ);
КонецЕсли;
Если Не ВДокументахОдинЗарплатныйПроект Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В документе %1 присутствуют ведомости с разными зарплатными проектами. Файл по документу не сформирован.'"), ПлатежныйДокумент);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, Выборка.Ведомость,,, Отказ);
КонецЕсли;
КонецЕсли;
Если Отказ Тогда
Возврат;
КонецЕсли;
ВидОперации = "ВедомостьНаВыплатуЗарплатыВБанк";
ДатаПолученияДанных = ТекущаяДатаСеанса();
СтруктураПараметровДляФормированияФайла = Новый Структура;
СтруктураПараметровДляФормированияФайла.Вставить("ВидОперации", ВидОперации);
СтруктураПараметровДляФормированияФайла.Вставить("ДанныеШапки", ДанныеШапкиДокументовДляПолученияТекстаФайла(МассивДокументов, ДатаПолученияДанных, ПлатежныйДокумент));
СтруктураПараметровДляФормированияФайла.Вставить("ДанныеСтрок", ДанныеСтрокДокументовДляПолученияТекстаФайла(МассивДокументов, ДатаПолученияДанных, ПлатежныйДокумент));
СтруктураПараметровДляФормированияФайла.Вставить("КорневыеСвойства", ОбменСБанкамиПоЗарплатнымПроектам.КорневыеСвойства(ВидОперации));
СтруктураПараметровДляФормированияФайла.Вставить("СоответствиеПолейФайла", ОбменСБанкамиПоЗарплатнымПроектам.СоответствиеПолейФайла(ВидОперации));
СтруктураПараметровДляФормированияФайла.Вставить("ОбязательныеПоляФайла", ОбменСБанкамиПоЗарплатнымПроектам.ОбязательныеПоляФайла(ВидОперации));
СтруктураПараметровДляФормированияФайла.Вставить("СоответствиеПреобразованияЗначений", ОбменСБанкамиПоЗарплатнымПроектам.СоответствиеПреобразованияЗначений(ВидОперации));
СтруктураПараметровДляФормированияФайла.Вставить("СоответствиеТипов", ОбменСБанкамиПоЗарплатнымПроектам.СоответствиеТипов(ВидОперации));
СтруктураПараметровДляФормированияФайла.Вставить("ПлатежныйДокумент", ПлатежныйДокумент);
ОбменСБанкамиПоЗарплатнымПроектам.СоздатьФайлыДляОбменаСБанком(МассивДокументов, МассивОписанийФайлов, СтруктураПараметровДляФормированияФайла);
КонецПроцедуры
// Получает данные документов для формирования файла обмена
//
// Параметры:
// МассивДокументов - Массив ссылок на документы, по которым требуется получить данные
// ДатаПолученияДанных - дата формирования файла
// ПлатежныйДокумент - Ссылка на платежный документ, в который входят ведомости
//
// Возвращаемое значение:
// Таблица значений "ДанныеШапкиДокумента" - содержит данные документа
//
Функция ДанныеШапкиДокументовДляПолученияТекстаФайла(МассивДокументов, ДатаПолученияДанных, ПлатежныйДокумент = Неопределено)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ВедомостиНаВыплатуЗарплатыВБанк", МассивДокументов);
Запрос.Текст =
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.Ссылка КАК Документ,
| ВедомостьНаВыплатуЗарплатыВБанк.Номер КАК НомерДокумента,
| ВедомостьНаВыплатуЗарплатыВБанк.Дата КАК ДатаДокумента,
| ВЫБОР
| КОГДА Организации.НаименованиеПолное ПОДОБНО """"
| ТОГДА Организации.Наименование
| ИНАЧЕ Организации.НаименованиеПолное
| КОНЕЦ КАК ПолноеНаименованиеОрганизации,
| Организации.ИНН КАК ИННОрганизации,
| ЗарплатныеПроекты.Ссылка КАК ЗарплатныйПроект,
| ЗарплатныеПроекты.НомерДоговора КАК НомерДоговора,
| ЗарплатныеПроекты.ДатаДоговора КАК ДатаДоговора,
| ЗарплатныеПроекты.ОтделениеБанка КАК ОтделениеБанка,
| Банки.Код КАК БИКБанка,
| ЗарплатныеПроекты.РасчетныйСчет КАК НомерРасчетногоСчетаОрганизации,
| ЗарплатныеПроекты.ФорматФайла КАК ФорматФайла,
| ""01"" КАК ВидЗачисления,
| ИтоговыеДанныеПоВедомости.КоличествоЗаписей,
| ИтоговыеДанныеПоВедомости.СуммаИтого
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
| ПО ВедомостьНаВыплатуЗарплатыВБанк.Организация = Организации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЗарплатныеПроекты КАК ЗарплатныеПроекты
| ПО ВедомостьНаВыплатуЗарплатыВБанк.ЗарплатныйПроект = ЗарплатныеПроекты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Банки КАК Банки
| ПО (ЗарплатныеПроекты.Банк = Банки.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДанныеВедомостейДляОплатыЧерезБанк.Ссылка КАК Ведомость,
| КОЛИЧЕСТВО(ДанныеВедомостейДляОплатыЧерезБанк.Сотрудник.ФизическоеЛицо) КАК КоличествоЗаписей,
| СУММА(ДанныеВедомостейДляОплатыЧерезБанк.КВыплате) КАК СуммаИтого
| ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ДанныеВедомостейДляОплатыЧерезБанк
| ГДЕ
| ДанныеВедомостейДляОплатыЧерезБанк.Ссылка В(&ВедомостиНаВыплатуЗарплатыВБанк)
|
| СГРУППИРОВАТЬ ПО
| ДанныеВедомостейДляОплатыЧерезБанк.Ссылка) КАК ИтоговыеДанныеПоВедомости
| ПО ВедомостьНаВыплатуЗарплатыВБанк.Ссылка = ИтоговыеДанныеПоВедомости.Ведомость
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанк.Проведен
| И ВедомостьНаВыплатуЗарплатыВБанк.Ссылка В(&ВедомостиНаВыплатуЗарплатыВБанк)";
ДанныеШапкиДокумента = Запрос.Выполнить().Выгрузить();
// ИдПервичногоДокумента
ДанныеШапкиДокумента.Колонки.Добавить("ИдПервичногоДокумента");
// Номер и дата платежного поручения
ДанныеШапкиДокумента.Колонки.Добавить("НомерПлатежногоПоручения");
ДанныеШапкиДокумента.Колонки.Добавить("ДатаПлатежногоПоручения");
// ДатаФормирования
ДанныеШапкиДокумента.Колонки.Добавить("ДатаФормирования");
// ИмяФайла
ДанныеШапкиДокумента.Колонки.Добавить("ИмяФайла");
// ДанныеРеестра
ДанныеШапкиДокумента.Колонки.Добавить("ДанныеРеестра");
РеквизитыПлатежногоДокумента = Неопределено;
Если ПлатежныйДокумент <> Неопределено Тогда
РеквизитыПлатежногоДокумента = Новый Структура("ПлатежныйДокумент, Номер, Дата", ПлатежныйДокумент, "", ДатаПолученияДанных);
Выборка = РегистрыСведений.РеквизитыПлатежныхДокументовПеречисленияЗарплаты.Выбрать(Новый Структура("ПлатежныйДокумент", ПлатежныйДокумент));
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(РеквизитыПлатежногоДокумента, Выборка);
КонецЕсли;
КонецЕсли;
НомераРеестров = НомераРеестровДокументов(ДанныеШапкиДокумента, РеквизитыПлатежногоДокумента);
КоличествоЗаписей = Неопределено;
СуммаИтого = Неопределено;
Для каждого СтрокаДанных Из ДанныеШапкиДокумента Цикл
Если КоличествоЗаписей = Неопределено Тогда
КоличествоЗаписей = ДанныеШапкиДокумента.Итог("КоличествоЗаписей");
КонецЕсли;
Если СуммаИтого = Неопределено Тогда
СуммаИтого = ДанныеШапкиДокумента.Итог("СуммаИтого");
КонецЕсли;
СтрокаДанных.ДатаФормирования = ДатаПолученияДанных;
Если ПлатежныйДокумент <> Неопределено Тогда
СтрокаДанных.ИдПервичногоДокумента = ПлатежныйДокумент.УникальныйИдентификатор();
СтрокаДанных.НомерПлатежногоПоручения = РеквизитыПлатежногоДокумента.Номер;
СтрокаДанных.ДатаПлатежногоПоручения = РеквизитыПлатежногоДокумента.Дата;
СтрокаДанных.ДатаДокумента = РеквизитыПлатежногоДокумента.Дата;
СтрокаДанных.КоличествоЗаписей = КоличествоЗаписей;
СтрокаДанных.СуммаИтого = СуммаИтого;
СтрокаДанных.ДанныеРеестра = НомераРеестров[ПлатежныйДокумент];
НомерРеестра = СтрЗаменить(СтрокаДанных.ДанныеРеестра.НомерРеестра, Символы.НПП, "");
СтрокаДанных.НомерДокумента = НомерРеестра;
НомерРеестра = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(НомерРеестра, 2);
СтрокаДанных.ИмяФайла = ОбменСБанкамиПоЗарплатнымПроектам.ИмяФайлаОбменаСБанкамиПоЗарплатнымПроектам(ПлатежныйДокумент, "f", СтрокаДанных.ОтделениеБанка, НомерРеестра, "z");
Иначе
СтрокаДанных.ИдПервичногоДокумента = СтрокаДанных.Документ.УникальныйИдентификатор();
СтрокаДанных.ДанныеРеестра = НомераРеестров[СтрокаДанных.Документ];
НомерРеестра = СтрЗаменить(СтрокаДанных.ДанныеРеестра.НомерРеестра, Символы.НПП, "");
СтрокаДанных.НомерДокумента = НомерРеестра;
НомерРеестра = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(НомерРеестра, 2);
СтрокаДанных.ИмяФайла = ОбменСБанкамиПоЗарплатнымПроектам.ИмяФайлаОбменаСБанкамиПоЗарплатнымПроектам(СтрокаДанных.Документ, "f", СтрокаДанных.ОтделениеБанка, НомерРеестра, "z");
КонецЕсли;
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ЗаполнитьДанныеОплатыВедомостей(
СтрокаДанных.Документ, СтрокаДанных.НомерПлатежногоПоручения, СтрокаДанных.ДатаПлатежногоПоручения, ПлатежныйДокумент);
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ОпределитьДанныеШапкиДокументаДляПолученияТекстаФайла(СтрокаДанных, СтрокаДанных.Документ, ДатаПолученияДанных);
КонецЦикла;
Возврат ДанныеШапкиДокумента;
КонецФункции
// Определяет номера реестров для документов
//
Функция НомераРеестровДокументов(ТаблицаДокументов, РеквизитыПлатежногоДокумента)
ДокументыВыгрузки = Новый Массив;
ГодыВыгрузки = Новый Массив;
УникальныеГодыВыгрузки = Новый Соответствие;
Если РеквизитыПлатежногоДокумента = Неопределено Тогда
Для Каждого ДанныеШапки Из ТаблицаДокументов Цикл
ДокументыВыгрузки.Добавить(ДанныеШапки.Документ);
ГодВыгрузки = Год(ДанныеШапки.ДатаДокумента);
Если УникальныеГодыВыгрузки[ГодВыгрузки] = Неопределено Тогда
УникальныеГодыВыгрузки.Вставить(ГодВыгрузки, Истина);
ГодыВыгрузки.Добавить(ГодВыгрузки);
КонецЕсли;
КонецЦикла;
Иначе
ДокументыВыгрузки.Добавить(РеквизитыПлатежногоДокумента.ПлатежныйДокумент);
ГодыВыгрузки.Добавить(Год(РеквизитыПлатежногоДокумента.Дата));
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ГодыВыгрузки", ГодыВыгрузки);
Запрос.УстановитьПараметр("ДокументыВыгрузки", ДокументыВыгрузки);
Запрос.Текст = "ВЫБРАТЬ
| СостоянияДокументовЗачисленияЗарплаты.Документ,
| СостоянияДокументовЗачисленияЗарплаты.Год,
| СостоянияДокументовЗачисленияЗарплаты.НомерРеестра
|ПОМЕСТИТЬ ВТВыгружаемыеДокументы
|ИЗ
| РегистрСведений.СостоянияДокументовЗачисленияЗарплаты КАК СостоянияДокументовЗачисленияЗарплаты
|ГДЕ
| СостоянияДокументовЗачисленияЗарплаты.Документ В(&ДокументыВыгрузки)
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| РеквизитыПлатежныхДокументовПеречисленияЗарплаты.Организация,
| РеквизитыПлатежныхДокументовПеречисленияЗарплаты.Дата КАК Дата,
| ВыгружаемыеДокументы.Документ,
| ВыгружаемыеДокументы.Год,
| ВыгружаемыеДокументы.НомерРеестра
|ИЗ
| ВТВыгружаемыеДокументы КАК ВыгружаемыеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РеквизитыПлатежныхДокументовПеречисленияЗарплаты КАК РеквизитыПлатежныхДокументовПеречисленияЗарплаты
| ПО ВыгружаемыеДокументы.Документ = РеквизитыПлатежныхДокументовПеречисленияЗарплаты.ПлатежныйДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.Организация,
| ВедомостьНаВыплатуЗарплатыВБанк.Дата,
| ВыгружаемыеДокументы.Документ,
| ВыгружаемыеДокументы.Год,
| ВыгружаемыеДокументы.НомерРеестра
|ИЗ
| ВТВыгружаемыеДокументы КАК ВыгружаемыеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ПО ВыгружаемыеДокументы.Документ = ВедомостьНаВыплатуЗарплатыВБанк.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Дата";
Выборка = Запрос.Выполнить().Выбрать();
Запрос.Текст = "ВЫБРАТЬ
| СостоянияДокументовЗачисленияЗарплаты.Документ,
| СостоянияДокументовЗачисленияЗарплаты.Год,
| СостоянияДокументовЗачисленияЗарплаты.НомерРеестра
|ПОМЕСТИТЬ ВТВыгруженныеДокументы
|ИЗ
| РегистрСведений.СостоянияДокументовЗачисленияЗарплаты КАК СостоянияДокументовЗачисленияЗарплаты
|ГДЕ
| СостоянияДокументовЗачисленияЗарплаты.Год В(&ГодыВыгрузки)
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| РеквизитыПлатежныхДокументовПеречисленияЗарплаты.Организация,
| ВыгруженныеДокументы.Документ,
| ВыгруженныеДокументы.Год,
| ВыгруженныеДокументы.НомерРеестра
|ПОМЕСТИТЬ ВТДокументыПоОрганизациям
|ИЗ
| ВТВыгруженныеДокументы КАК ВыгруженныеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РеквизитыПлатежныхДокументовПеречисленияЗарплаты КАК РеквизитыПлатежныхДокументовПеречисленияЗарплаты
| ПО ВыгруженныеДокументы.Документ = РеквизитыПлатежныхДокументовПеречисленияЗарплаты.ПлатежныйДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.Организация,
| ВыгруженныеДокументы.Документ,
| ВыгруженныеДокументы.Год,
| ВыгруженныеДокументы.НомерРеестра
|ИЗ
| ВТВыгруженныеДокументы КАК ВыгруженныеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ПО ВыгруженныеДокументы.Документ = ВедомостьНаВыплатуЗарплатыВБанк.Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ДокументыПоОрганизациям.Организация,
| ДокументыПоОрганизациям.Год,
| МАКСИМУМ(ДокументыПоОрганизациям.НомерРеестра) КАК НомерРеестра
|ИЗ
| ВТДокументыПоОрганизациям КАК ДокументыПоОрганизациям
|
|СГРУППИРОВАТЬ ПО
| ДокументыПоОрганизациям.Организация,
| ДокументыПоОрганизациям.Год";
НомераРеестровОрганизаций = Запрос.Выполнить().Выгрузить();
УстановитьПривилегированныйРежим(Ложь);
НомераРеестров = Новый Соответствие;
Пока Выборка.Следующий() Цикл
Год = Год(Выборка.Дата);
ДанныеРеестра = Новый Структура("Год, НомерРеестра", Год, Выборка.НомерРеестра);
Если Не ЗначениеЗаполнено(Выборка.Год) Или Выборка.Год <> Год Тогда
ДанныеДокумента = Новый Структура("Организация, Год", Выборка.Организация, Год);
НайденныеСтроки = НомераРеестровОрганизаций.НайтиСтроки(ДанныеДокумента);
Если НайденныеСтроки.Количество() = 0 Тогда
ДанныеДокумента.Вставить("НомерРеестра", 1);
ЗаполнитьЗначенияСвойств(НомераРеестровОрганизаций.Добавить(), ДанныеДокумента);
Иначе
ДанныеДокумента.Вставить("НомерРеестра", НайденныеСтроки[0].НомерРеестра + 1);
НайденныеСтроки[0].НомерРеестра = ДанныеДокумента.НомерРеестра;
КонецЕсли;
ДанныеРеестра.НомерРеестра = ДанныеДокумента.НомерРеестра;
КонецЕсли;
НомераРеестров.Вставить(Выборка.Документ, ДанныеРеестра);
КонецЦикла;
Возврат НомераРеестров;
КонецФункции
// Получает данные строк документа для формирования файла обмена
//
// Параметры:
// МассивДокументов - Массив ссылок на документы, по которым требуется получить данные
// ДатаПолученияДанных - дата формирования файла
// ПлатежныйДокумент - Ссылка на платежный документ, в который входят ведомости
//
// Возвращаемое значение:
// Таблица значений "ДанныеСтрокДокумента" - содержит данные строк документа
//
Функция ДанныеСтрокДокументовДляПолученияТекстаФайла(МассивДокументов, ДатаПолученияДанных, ПлатежныйДокумент = Неопределено)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
Запрос.УстановитьПараметр("ДатаПолученияДанных", ДатаПолученияДанных);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| &ДатаПолученияДанных КАК Период,
| ДанныеСотрудников.Сотрудник КАК Сотрудник
|ПОМЕСТИТЬ ВТСписокСотрудников
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ДанныеСотрудников
|ГДЕ
| ДанныеСотрудников.Ссылка В(&МассивДокументов)";
Запрос.Выполнить();
ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотруднико в(Запрос.МенеджерВременныхТаблиц, "ВТСписокСотрудников");
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, "Фамилия,Имя,Отчество");
Запрос.Текст =
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.Ссылка КАК Документ,
| ВедомостьНаВыплатуЗарплатыВБанк.Номер КАК НомерДокумента,
| ВедомостьНаВыплатуЗарплатыВБанк.Дата КАК ДатаДокумента,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Сотрудник КАК Сотрудник,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерСтроки КАК НомерСтроки,
| КадровыеДанныеСотрудников.Фамилия КАК Фамилия,
| КадровыеДанныеСотрудников.Имя КАК Имя,
| КадровыеДанныеСотрудников.Отчество КАК Отчество,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате КАК СуммаКВыплате,
| ЗарплатныеПроекты.ОтделениеБанка КАК ОтделениеБанка,
| ЗарплатныеПроекты.ФилиалОтделенияБанка КАК ФилиалОтделенияБанка,
| ЗарплатныеПроекты.Валюта.Код КАК КодВалюты
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
| ПО ВедомостьНаВыплатуЗарплатыВБанк.Ссылка = ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЗарплатныеПроекты КАК ЗарплатныеПроекты
| ПО ВедомостьНаВыплатуЗарплатыВБанк.ЗарплатныйПроект = ЗарплатныеПроекты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
| ПО (ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Сотрудник = КадровыеДанныеСотрудников.Сотрудник)
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанк.Проведен
| И ВедомостьНаВыплатуЗарплатыВБанк.Ссылка В(&МассивДокументов)";
ДанныеСтрокДокументов = Запрос.Выполнить().Выгрузить();
НомерСтроки = 0;
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ДополнитьКолонкиДанныхСтрокДокументов(ДанныеСтрокДокументов);
Для каждого СтрокаДокумента Из ДанныеСтрокДокументов Цикл
Если ЗначениеЗаполнено(ПлатежныйДокумент) Тогда
НомерСтроки = НомерСтроки + 1;
СтрокаДокумента.НомерСтроки = НомерСтроки;
КонецЕсли;
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ЗаполнитьКолонкиДанныхСтрокДокумента(СтрокаДокумента);
Если СтрДлина(СтрокаДокумента.НомерЛицевогоСчета) <> 20 Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='По ведомости в банк №%2 от %3г. в строке №%4 у сотрудника %5 лицевой счет менее 20 цифр.
|Если номер действительно не удовлетворяет этому требованию, возможно,
|банк не поддерживает обмен по типовому стандарту - следует обратиться в банк'"),
СтрокаДокумента.НомерДокумента,
Формат(СтрокаДокумента.ДатаДокумента, "ДЛФ=D"),
СтрокаДокумента.НомерСтроки,
СтрокаДокумента.ФизическоеЛицо);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке, СтрокаДокумента.Документ,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Зарплата[%1].%2'"),
СтрокаДокумента.НомерСтроки-1,
"НомерЛицевогоСчета"));
КонецЕсли;
КонецЦикла;
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ОпределитьДанныеСтрокДокументовДляПолученияТекстаФайла(ДанныеСтрокДокументов, ДатаПолученияДанных);
Возврат ДанныеСтрокДокументов;
КонецФункции
#КонецОбласти
ПоказатьПерерыл все не могу понять как файл формируется
И не поймете: он формируется совсем в другом месте, ссылка вот тут:
ОбменСБанкамиПоЗарплатнымПроектам.СоздатьФайлыДляОбменаСБанком(МассивДокументов, МассивОписанийФайлов, СтруктураПараметровДляФормированияФайла);
подскажите плиз
Подсказываю: попробуйте сменить область деятельности, если вы даже таких вещей не понимаете.
Вот в этой фунуции поля заполняются
Функция СоответствиеПолейФайла(ВидОперации, ФорматФайла = Неопределено) Экспорт
СоответствиеПолей = Новый Соответствие;
Если ВидОперации = "ВедомостьНаВыплатуЗарплатыВБанк" Тогда
СоответствиеПолей.Вставить("ДатаФормирования", "ДатаФормирования");
СоответствиеПолей.Вставить("НомерДоговора", "НомерДоговора");
//СоответствиеПолей.Вставить("ДатаДоговора", "ДатаДоговора");
СоответствиеПолей.Вставить("НаименованиеОрганизации", "ПолноеНаименованиеОрганизации");
СоответствиеПолей.Вставить("ИНН", "ИННОрганизации");
СоответствиеПолей.Вставить("РасчетныйСчетОрганизации", "НомерРасчетногоСчетаОрганизации");
СоответствиеПолей.Вставить("БИК", "БИКБанка");
СоответствиеПолей.Вставить("ИдПервичногоДокумента", "ИдПервичногоДокумента");
//СоответствиеПолей.Вставить("НомерРеестра", "НомерДокумента");
//СоответствиеПолей.Вставить("ДатаРеестра", "ДатаДокумента");
СоответствиеЗачислениеЗарплаты = Новый Соответствие;
СоответствиеЗачислениеЗарплаты.Вставить("Нпп", "НомерСтроки");
СоответствиеЗачислениеЗарплаты.Вставить("Фамилия", "Фамилия");
СоответствиеЗачислениеЗарплаты.Вставить("Имя", "Имя");
СоответствиеЗачислениеЗарплаты.Вставить("Отчество", "Отчество");
СоответствиеЗачислениеЗарплаты.Вставить("ОтделениеБанка", "ОтделениеБанка");
СоответствиеЗачислениеЗарплаты.Вставить("ФилиалОтделенияБанка", "ФилиалОтделенияБанка");
СоответствиеЗачислениеЗарплаты.Вставить("ЛицевойСчет", "НомерЛицевогоСчета");
СоответствиеЗачислениеЗарплаты.Вставить("Сумма", "СуммаКВыплате");
//СоответствиеЗачислениеЗарплаты.Вставить("КодВалюты", "КодВалюты");
СоответствиеПолей.Вставить("ЗачислениеЗарплаты", СоответствиеЗачислениеЗарплаты);
СоответствиеПолей.Вставить("ВидЗачисления", "ВидЗачисления");
СоответствиеПолей.Вставить("ПлатежноеПоручение", "НомерПлатежногоПоручения");
СоответствиеПолей.Вставить("ДатаПлатежногоПоручения", "ДатаПлатежногоПоручения");
СоответствиеКонтрольныеСуммы = Новый Соответствие;
СоответствиеКонтрольныеСуммы.Вставить("КоличествоЗаписей", "КоличествоЗаписей");
СоответствиеКонтрольныеСуммы.Вставить("СуммаИтого", "СуммаИтого");
СоответствиеПолей.Вставить("КонтрольныеСуммы", СоответствиеКонтрольныеСуммы);
ИначеЕсли ВидОперации = "ЗаявкаНаОткрытиеЛицевыхСчетовСотрудников" Тогда
СоответствиеПолей.Вставить("ДатаФормирования", "ДатаФормирования");
СоответствиеПолей.Вставить("НомерДоговора", "НомерДоговора");
СоответствиеПолей.Вставить("ДатаДоговора", "ДатаДоговора");
СоответствиеПолей.Вставить("НаименованиеОрганизации", "ПолноеНаименованиеОрганизации");
СоответствиеПолей.Вставить("ИНН", "ИННОрганизации");
СоответствиеПолей.Вставить("РасчетныйСчетОрганизации", "НомерРасчетногоСчетаОрганизации");
СоответствиеПолей.Вставить("БИК", "БИКБанка");
СоответствиеПолей.Вставить("ИдПервичногоДокумента", "ИдПервичногоДокумента");
СоответствиеПолей.Вставить("НомерРеестра", "НомерДокумента");
СоответствиеПолей.Вставить("ДатаРеестра", "ДатаДокумента");
СоответствиеОткрытиеСчетов = Новый Соответствие;
СоответствиеОткрытиеСчетов.Вставить("Нпп", "НомерСтроки");
СоответствиеОткрытиеСчетов.Вставить("Фамилия", "Фамилия");
СоответствиеОткрытиеСчетов.Вставить("Имя", "Имя");
СоответствиеОткрытиеСчетов.Вставить("Отчество", "Отчество");
СоответствиеОткрытиеСчетов.Вставить("ОтделениеБанка", "ОтделениеБанка");
СоответствиеОткрытиеСчетов.Вставить("ФилиалОтделенияБанка", "ФилиалОтделенияБанка");
СоответствиеЭмбоссированныйТекст = Новый Соответствие;
СоответствиеЭмбоссированныйТекст.Вставить("Поле1", "ЭмбоссированныйТекст1");
СоответствиеЭмбоссированныйТекст.Вставить("Поле2", "ЭмбоссированныйТекст2");
СоответствиеЭмбоссированныйТекст.Вставить("Поле3", "ЭмбоссированныйТекст3");
СоответствиеОткрытиеСчетов.Вставить("ЭмбоссированныйТекст", СоответствиеЭмбоссированныйТекст);
СоответствиеВидВклада = Новый Соответствие;
СоответствиеВидВклада.Вставить("__content", "СистемаРасчетовПоБанковскимКартам");
СоответствиеВидВклада.Вставить("КодВидаВклада", "КодВидаВклада");
СоответствиеВидВклада.Вставить("КодПодвидаВклада", "КодПодвидаВклада");
СоответствиеВидВклада.Вставить("КодВалюты", "КодВалютыВклада");
СоответствиеОткрытиеСчетов.Вставить("ВидВклада", СоответствиеВидВклада);
СоответствиеУдостоверениеЛичности = Новый Соответствие;
СоответствиеУдостоверениеЛичности.Вставить("ВидДокумента", "ДокументВид");
СоответствиеУдостоверениеЛичности.Вставить("Серия", "ДокументСерия");
СоответствиеУдостоверениеЛичности.Вставить("Номер", "ДокументНомер");
СоответствиеУдостоверениеЛичности.Вставить("ДатаВыдачи", "ДокументДатаВыдачи");
СоответствиеУдостоверениеЛичности.Вставить("КемВыдан", "ДокументКемВыдан");
СоответствиеУдостоверениеЛичности.Вставить("КодПодразделения", "ДокументКодПодразделения");
СоответствиеУдостоверениеЛичности.Вставить("КодВидаДокумента", "КодВидаДокумента");
СоответствиеОткрытиеСчетов.Вставить("УдостоверениеЛичности", СоответствиеУдостоверениеЛичности);
УстановитьСоответствиеМестаРождения(СоответствиеОткрытиеСчетов, "МестоРождения", "МестоРождения");
УстановитьСоответствиеАдреса(СоответствиеОткрытиеСчетов, "АдресМестаРаботы", "АдресМестаРаботы");
УстановитьСоответствиеАдреса(СоответствиеОткрытиеСчетов, "АдресПрописки", "АдресПоПрописке");
УстановитьСоответствиеАдреса(СоответствиеОткрытиеСчетов, "АдресПроживания", "АдресМестаПроживания");
СоответствиеОткрытиеСчетов.Вставить("ДатаРождения", "ДатаРождения");
СоответствиеОткрытиеСчетов.Вставить("Пол", "Пол");
СоответствиеОткрытиеСчетов.Вставить("РабочийТелефон", "ТелефонРабочий");
СоответствиеОткрытиеСчетов.Вставить("ДомашнийТелефон", "ТелефонДомашний");
СоответствиеОткрытиеСчетов.Вставить("Сумма", "СуммаПервоначальногоПополнения");
Если ФорматФайла <> Перечисления.ФорматыФайловОбменаПоЗарплатномуПроекту.Версия1 Тогда
// версии старше 1
СоответствиеОткрытиеСчетов.Вставить("КодВалюты", "КодВалюты");
СоответствиеОткрытиеСчетов.Вставить("Должность", "Должность");
СоответствиеОткрытиеСчетов.Вставить("ПризнакЗарплатный", "ОплатаЗарплатнойКарты");
СоответствиеОткрытиеСчетов.Вставить("КатегорияНаселения", "КатегорияНаселения");
СоответствиеОткрытиеСчетов.Вставить("БонусПрограмма", "БонуснаяПрограмма");
СоответствиеОткрытиеСчетов.Вставить("БонусУчастника", "НомерУчастникаБонуснойПрограммы");
СоответствиеОткрытиеСчетов.Вставить("ТарифСледующийГод", "ТарифСледующийГод");
СоответствиеОткрытиеСчетов.Вставить("ТарифТекущийГод", "ТарифТекущийГод");
СоответствиеОткрытиеСчетов.Вставить("ПризнакРассылки", "СпособРассылкиОтчета");
СоответствиеОткрытиеСчетов.Вставить("ИнтернетАдрес", "АдресЭлектроннойПочты");
СоответствиеОткрытиеСчетов.Вставить("СчетДебета", "СчетДебета");
СоответствиеОткрытиеСчетов.Вставить("ОператорСвязи", "ОператорСвязи");
СоответствиеОткрытиеСчетов.Вставить("МобильныйТелефон", "НомерМобильногоТелефона");
СоответствиеОткрытиеСчетов.Вставить("МобильныйБанк", "ТарифМобильногоБанка");
СоответствиеОткрытиеСчетов.Вставить("ПередачаБКИ", "РазрешитьПередачуИнформацииВБКИ");
СоответствиеОткрытиеСчетов.Вставить("КонтрольнаяИнформация", "КонтрольнаяИнформация");
СоответствиеОткрытиеСчетов.Вставить("Резидент", "ЯвляетсяРезидентом");
СоответствиеОткрытиеСчетов.Вставить("Гражданство", "Гражданство");
КонецЕсли;
Если ФорматФайла = Перечисления.ФорматыФайловОбменаПоЗарплатномуПроекту.Версия32 Тогда
СоответствиеМиграционнаяКарта = Новый Соответствие;
СоответствиеМиграционнаяКарта.Вставить("Номер", "НомерМиграционнойКарты");
СоответствиеМиграционнаяКарта.Вставить("ДатаНачалаПребывания", "ДатаНачалаПребыванияМиграционнойКарты");
СоответствиеМиграционнаяКарта.Вставить("ДатаОкончанияПребывания", "ДатаОкончанияПребыванияМиграционнойКарты");
СоответствиеМиграционныйДокумент = Новый Соответствие;
СоответствиеМиграционныйДокумент.Вставить("КодДокумента", "КодМиграционногоДокумента");
СоответствиеМиграционныйДокумент.Вставить("НомерДокумента", "НомерМиграционногоДокумента");
СоответствиеМиграционныйДокумент.Вставить("ДатаНачалаПребывания", "ДатаНачалаПребыванияМиграционногоДокумента");
СоответствиеМиграционныйДокумент.Вставить("ДатаОкончанияПребывания", "ДатаОкончанияПребыванияМиграционногоДокумента");
СоответствиеНерезидент = Новый Соответствие;
СоответствиеНерезидент.Вставить("МиграционнаяКарта", СоответствиеМиграционнаяКарта);
СоответствиеНерезидент.Вставить("МиграционныйДокумент", СоответствиеМиграционныйДокумент);
СоответствиеОткрытиеСчетов.Вставить("Нерезидент", СоответствиеНерезидент);
СоответствиеОткрытиеСчетов.Вставить("СуммаЗаработнойПлаты", "ПрогнозируемыйМесячныйДоход");
СоответствиеОткрытиеСчетов.Вставить("ТабельныйНомер", "ТабельныйНомер");
СоответствиеОткрытиеСчетов.Вставить("ДатаОформления", "ДатаПриема");
СоответствиеОткрытиеСчетов.Вставить("ДатаВыплаты", "ДатаВыплатыЗарплаты");
УстановитьСоответствиеАдреса(СоответствиеОткрытиеСчетов, "АдресИнформирования", "АдресДляИнформирования");
КонецЕсли;
СоответствиеПолей.Вставить("ОткрытиеСчетов", СоответствиеОткрытиеСчетов);
СоответствиеКонтрольныеСуммы = Новый Соответствие;
СоответствиеКонтрольныеСуммы.Вставить("КоличествоЗаписей", "КоличествоЗаписей");
СоответствиеКонтрольныеСуммы.Вставить("СуммаИтого", "СуммаИтого");
СоответствиеПолей.Вставить("КонтрольныеСуммы", СоответствиеКонтрольныеСуммы);
ИначеЕсли ВидОперации = "ПодтверждениеЗачисленияЗарплаты" Тогда
СоответствиеПолей.Вставить("Нпп", "НомерСтроки");
СоответствиеПолей.Вставить("ДатаФормирования", "ДатаФормирования");
СоответствиеПолей.Вставить("Фамилия", "Фамилия");
СоответствиеПолей.Вставить("Имя", "Имя");
СоответствиеПолей.Вставить("Отчество", "Отчество");
СоответствиеПолей.Вставить("ЛицевойСчет", "НомерЛицевогоСчета");
СоответствиеПолей.Вставить("Результат", "РезультатЗачисленияЗарплаты");
СоответствиеПолей.Вставить("Сумма", "Сумма");
СоответствиеПолей.Вставить("РасшифровкаРезультата", "КомментарийРезультата");
ИначеЕсли ВидОперации = "ПодтверждениеОткрытияЛицевыхСчетовСотрудников" Тогда
СоответствиеПолей.Вставить("Нпп", "НомерСтроки");
СоответствиеПолей.Вставить("ДатаФормирования", "ДатаФормирования");
СоответствиеПолей.Вставить("Фамилия", "Фамилия");
СоответствиеПолей.Вставить("Имя", "Имя");
СоответствиеПолей.Вставить("Отчество", "Отчество");
СоответствиеПолей.Вставить("ЛицевойСчет", "НомерЛицевогоСчета");
СоответствиеПолей.Вставить("Результат", "РезультатОткрытияСчета");
СоответствиеПолей.Вставить("Сумма", "Сумма");
СоответствиеПолей.Вставить("РасшифровкаРезультата", "КомментарийРезультата");
СоответствиеУдостоверениеЛичности = Новый Соответствие;
СоответствиеУдостоверениеЛичности.Вставить("ВидДокумента", "ДокументВид");
СоответствиеУдостоверениеЛичности.Вставить("КодВидаДокумента", "КодВидаДокумента");
СоответствиеУдостоверениеЛичности.Вставить("Серия", "ДокументСерия");
СоответствиеУдостоверениеЛичности.Вставить("Номер", "ДокументНомер");
СоответствиеУдостоверениеЛичности.Вставить("ДатаВыдачи", "ДокументДатаВыдачи");
СоответствиеУдостоверениеЛичности.Вставить("КемВыдан", "ДокументКемВыдан");
СоответствиеУдостоверениеЛичности.Вставить("КодПодразделения", "ДокументКодПодразделения");
СоответствиеПолей.Вставить("УдостоверениеЛичности", СоответствиеУдостоверениеЛичности);
ИначеЕсли ВидОперации = "ЗаявкаНаЗакрытиеЛицевыхСчетовСотрудников" Тогда
СоответствиеПолей.Вставить("ДатаФормирования", "ДатаФормирования");
СоответствиеПолей.Вставить("НомерДоговора", "НомерДоговора");
СоответствиеПолей.Вставить("ДатаДоговора", "ДатаДоговора");
СоответствиеПолей.Вставить("НаименованиеОрганизации", "ПолноеНаименованиеОрганизации");
СоответствиеПолей.Вставить("ИНН", "ИННОрганизации");
СоответствиеПолей.Вставить("РасчетныйСчетОрганизации", "НомерРасчетногоСчетаОрганизации");
СоответствиеПолей.Вставить("БИК", "БИКБанка");
СоответствиеПолей.Вставить("ИдПервичногоДокумента", "ИдПервичногоДокумента");
СоответствиеПолей.Вставить("НомерРеестра", "НомерДокумента");
СоответствиеПолей.Вставить("ДатаРеестра", "ДатаДокумента");
СоответствиеСпискаУвольнений = Новый Соответствие;
СоответствиеСпискаУвольнений.Вставить("Нпп", "НомерСтроки");
СоответствиеСпискаУвольнений.Вставить("Фамилия", "Фамилия");
СоответствиеСпискаУвольнений.Вставить("Имя", "Имя");
СоответствиеСпискаУвольнений.Вставить("Отчество", "Отчество");
СоответствиеСпискаУвольнений.Вставить("ОтделениеБанка", "ОтделениеБанка");
СоответствиеСпискаУвольнений.Вставить("ФилиалОтделенияБанка", "ФилиалОтделенияБанка");
СоответствиеСпискаУвольнений.Вставить("ДатаУвольнения", "ДатаЗакрытия");
СоответствиеСпискаУвольнений.Вставить("НомерСчета", "ЛицевойСчет");
СоответствиеПолей.Вставить("СписокУвольнений", СоответствиеСпискаУвольнений);
СоответствиеКонтрольныеСуммы = Новый Соответствие;
СоответствиеКонтрольныеСуммы.Вставить("КоличествоЗаписей", "КоличествоЗаписей");
СоответствиеКонтрольныеСуммы.Вставить("СуммаИтого", "СуммаИтого");
СоответствиеПолей.Вставить("КонтрольныеСуммы", СоответствиеКонтрольныеСуммы);
КонецЕсли;
ОбменСБанкамиПоЗарплатнымПроектамПереопределяемый.ОпределитьСоответствиеПолейФайла(СоответствиеПолей, ВидОперации, ФорматФайла);
Возврат СоответствиеПолей;
КонецФункции
Показать
от куда вот эти данные берутся?
xmlns="http://v8.1c.ru/edi/edi_stnd/109" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="СчетПК"
xmlns="http://v8.1c.ru/edi/edi_stnd/109" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="СчетПК"
доброго все здравия, проблема решена:
1. Выбран вариант 1 обмена с банком (в настройках зарплатного проекта)
2. В Функция СоответствиеПолейФайла(ВидОперации, ФорматФайла = Неопределено) Экспорт, убрал или заремил поля которые не нужны.
и т.д.
Вот и все спасибо, всем, кто хотел помочь.
1. Выбран вариант 1 обмена с банком (в настройках зарплатного проекта)
2. В Функция СоответствиеПолейФайла(ВидОперации, ФорматФайла = Неопределено) Экспорт, убрал или заремил поля которые не нужны.
//СоответствиеПолей.Вставить("НомерРеестра", "НомерДокумента");
//СоответствиеПолей.Вставить("ДатаРеестра", "ДатаДокумента");
Вот и все спасибо, всем, кто хотел помочь.
В памятке Сбербанка указаны все поля, которые нужно соблюдать при заполнении. Выполнил все требования, ознакомился с рекомендациями, которые описали выше. Результат одинаковый, ошибка на скриншоте. Каким образом можно проверить xml файл перед тем как пытаться загрузить? К сожалению, в местом отделении сбербанка прокомментировать ошибку не могут и просят пробовать новые версии. Откуда их взять, если в ЗУП 3.1 они заканчиваются на версии 3.6
<?xml version="1.0" encoding="windows-1251" ?>
<СчетаПК ДатаФормирования="2013-01-28" НомерДоговора="41012344"
НаименованиеОрганизации="Общество с ограниченной ответственностью "Пример
"" ИНН="5107911234" РасчетныйСчетОрганизации="40817810455000000123"
БИК="044030123" ИдПервичногоДокумента="40623755-690f-11e2-8b6a-001bb1f84b12"
НомерРеестра="435" ДатаРеестра="2013-01-28">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Иванов</Фамилия>
<Имя>Анатолий</Имя>
<Отчество>Алексеевич</Отчество>
<ОтделениеБанка>9999</ОтделениеБанка>
<ФилиалОтделенияБанка>0</ФилиалОтделенияБанка>
<ЛицевойСчет>40817810055032551234</ЛицевойСчет>
<Сумма>4000.00</Сумма>
</Сотрудник>
<Сотрудник Нпп="2">
<Фамилия>Петров</Фамилия>
<Имя>Николай</Имя>
<Отчество>Николаевич</Отчество>
<ОтделениеБанка>9999</ОтделениеБанка>
<ФилиалОтделенияБанка>0</ФилиалОтделенияБанка>
<ЛицевойСчет>40817810755032551234</ЛицевойСчет>
<Сумма>5000.00</Сумма>
</Сотрудник>
</ЗачислениеЗарплаты>
<ВидЗачисления>2</ВидЗачисления>
<ПлатежноеПоручение>3427</ПлатежноеПоручение>
<ДатаПлатежногоПоручения>2013-12-11</ДатаПлатежногоПоручения>
<КонтрольныеСуммы>
<КоличествоЗаписей>2</КоличествоЗаписей>
<СуммаИтого>9000.00</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
<!--СчетаПК-->
Показать<СчетаПК ДатаФормирования="2013-01-28" НомерДоговора="41012344"
НаименованиеОрганизации="Общество с ограниченной ответственностью "Пример
"" ИНН="5107911234" РасчетныйСчетОрганизации="40817810455000000123"
БИК="044030123" ИдПервичногоДокумента="40623755-690f-11e2-8b6a-001bb1f84b12"
НомерРеестра="435" ДатаРеестра="2013-01-28">
<ЗачислениеЗарплаты>
<Сотрудник Нпп="1">
<Фамилия>Иванов</Фамилия>
<Имя>Анатолий</Имя>
<Отчество>Алексеевич</Отчество>
<ОтделениеБанка>9999</ОтделениеБанка>
<ФилиалОтделенияБанка>0</ФилиалОтделенияБанка>
<ЛицевойСчет>40817810055032551234</ЛицевойСчет>
<Сумма>4000.00</Сумма>
</Сотрудник>
<Сотрудник Нпп="2">
<Фамилия>Петров</Фамилия>
<Имя>Николай</Имя>
<Отчество>Николаевич</Отчество>
<ОтделениеБанка>9999</ОтделениеБанка>
<ФилиалОтделенияБанка>0</ФилиалОтделенияБанка>
<ЛицевойСчет>40817810755032551234</ЛицевойСчет>
<Сумма>5000.00</Сумма>
</Сотрудник>
</ЗачислениеЗарплаты>
<ВидЗачисления>2</ВидЗачисления>
<ПлатежноеПоручение>3427</ПлатежноеПоручение>
<ДатаПлатежногоПоручения>2013-12-11</ДатаПлатежногоПоручения>
<КонтрольныеСуммы>
<КоличествоЗаписей>2</КоличествоЗаписей>
<СуммаИтого>9000.00</СуммаИтого>
</КонтрольныеСуммы>
</СчетаПК>
<!--СчетаПК-->
Прикрепленные файлы:
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот