Выгрузка зарплатной ведомости для Альфабанк: АЗОН или создаем файл xls с несколькими листами без использования Excel

26.04.19

Учетные задачи - Банковские операции

Альфабанк является одним из крупнейших банков в нашей стране. В корпоративном секторе этот банк предлагает своим клиентам множество услуг, в число которых входит зарплатный проект - "Альфа-Зарплата Онлайн" или знакомый многим как "АЗОН". В АЗОН есть возможность загрузки зарплатных ведомостей из файлов XLS. Но в формате файла есть небольшая особенность: в файле должно быть несколько листов с различными данными. В этой публикации разберемся, как сформировать такой файл без использования COM-объекта Microsoft Excel.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Выгрузка зарплатной ведомости для Альфабанк: АЗОН:
.epf 25,40Kb
16
16 Скачать (1 SM) Купить за 1 850 руб.

К сожалению, 1С пока не умеет работать штатными средствами с листами XLS-файлов. На ИС уже есть решения, использующие COM-объект Excel. Но это решение будет работать только под Windows, а у меня несколько пользователей работают под Linux, поэтому приходится изобретать кроссплатформенные решения. Для решения этой задачи я использовал Python. С его огромным количество модулей и относительно простой их установкой он уже не первый раз выручает в задачах, которые нельзя решить типовыми средствами 1С. Мое решение одинаково хорошо работает как в ОС Windows, так и на Linux. А для его работы вообще не требуется Excel (Openoffice или другие текстовые редакторы).

 

1. Установка Python.

Особых сложностей при установке Pyhton 3.x не должно возникнуть. В Windows  скачиваем установщик с сайта python.org и устанавливаем в режиме «Далее» - «Готово».

В linux выполняем команды  в терминале:

 

sudo apt-get install python3

 

Если вы используете Linux отличный от Debian/Ubuntu, то наверняка сами знаете как установить Python.

 

2. Установка дополнительных модулей для работы с Excel.

Для работы с файлами Excel нам понадобятся пара дополнительных модулей:  xlutils и xlwt.

Проще всего их установить используя менеджер пакетов pip (устанавливается вместе с Python).

Для установки открываем командную строку в Windows или терминал в Linux и вводим команды:

pip install xlutils
pip install xlwt

или, если на компьютере установлено несколько версий Python

pip3 install xlutils
pip3 install xlwt

 

3. Печатная форма

Для экспорта файла начислений была сделана внешняя печатная форма, которая подключается к документу «Зарплата к выплате организаций».  При использовании проверьте правильность заполнения реквизитов "Номер" и "Дата" для выбранного договора с банком. Эти данные заполняются в печатной форме. 

Значение поля "Служебная информация" можно посмотреть в файле выгрузки (образец), полученном из АЗОН. 

Реквизиты банка и основание платежа ("согласно платежному поручению № ....") определяется из документа "Платежное поручение исходящее", введенного на основании Зарплаты к выплате. 

 

Само формирование зарплатой ведомости стандартно, и ничего интересного не представляет: формируются три табличных документа, по одному на каждую страницу. Они записываются во временные файлы и вызывается скрипт для их объединения в один документ. 

 

Полученный документ загружаем в АЗОН в разделе Ведомости - Загрузка.

 

Пример файла, сформированный в демонстрационной базе УПП: 

 

4. Создание книги Excel

Эта обработка может быть интересна и тем, кому необходимо объединить несколько отдельных табличных документов в один файл Excel. Для этого можно воспользоваться функцией "ОбъединитьЛистыВЕдиныйФайл" в которую передаются массив табличных документов и каталог для сохранения итогового документа.

 

Для табличного документа можно заранее определить имя листа, передав его в свойстве "ИспользуемоеИмяФайла":

ЛистИнформации = Новый ТабличныйДокумент;
ЛистИнформации.ИспользуемоеИмяФайла = "Info"; //Задаем имя листа в книге XLS

Листы будут добавляться в книгу Excel в том порядке, в котором добавлены в массив:

МассивЛистов = Новый Массив;
МассивЛистов.Добавить(ЛистРеестрНачислений);
МассивЛистов.Добавить(ЛистИнформации);
МассивЛистов.Добавить(ЛистПлатежей);	
		
ИмяФайлаExcel = ОбъединитьЛистыВЕдиныйФайл(МассивЛистов, ДанныеДляПечати.Каталог, ДанныеДляПечати.ИмяФайла);

Функция возвращает путь к полученному файлу XLS. 

 

5. Как работает скрипт?

С помощью команды wb = xlwt.Workbook() мы создаем новый документ, в который будем записывать данные.

Далее обходим найденные в текущем каталоге XLS-файлы и добавляем их как отдельный лист к новому документу (wb).

//Создаем новый лист с именем входящего файла
(fileBaseName, fileExtension)=os.path.splitext(fileName)
ws = wb.add_sheet(fileBaseName)

Одной из проблем которая возникла при записи файлов это некорректное форматирование документа. Это удалось исправить с помощью копирования стилей из исходного файла:

//Вначале получаем описание стилей исходного документа
w = XLWTWriter()
process(XLRDReader(in_file,'unknown.xls'), w)
styles =  w.style_list

//записываем данные в ячейку с сохранением стилей оформления
xf_index = rs.cell_xf_index(Ряд, Строка)
ws.write(Ряд,Строка,Значение_ячейки, styles[xf_index])

 

Выполняем копирование всех ячеек для каждого листа и сохраняем выходной файл:

 

wb.save(outfile)

В приложенной печатной форме код модулей открыт. Полный текст скрипта находится в текстовом макете script.

Версия платформы: 8.3.10.Х и старше.

 

Экспорт начислений Альфабанк АЗОН ЗП выгрузка зарплатной ведомости Объединение листов Excel добавление

См. также

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

24.04.2017    52034    104    165    

91

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

19200 руб.

21.03.2023    12400    88    16    

75

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    25908    25    1    

27

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 1C:Бухгалтерия 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.

6000 5100 руб.

09.11.2016    238562    1085    905    

1020

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:КА 2, 1С:ERP Управление предприятием. Возможность подключить любые маркетплейсы. Анализ продаж ОZON. 30 дней БЕСПЛАТНОГО пользования!

3600 руб.

12.08.2021    36808    377    68    

164

Зарплата Роли и права Системный администратор Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    39275    285    100    

218

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 22.01.2025, версия 9.9 - 9.14)

16800 руб.

20.11.2015    157645    384    378    

516
Оставьте свое сообщение