Выгрузка зарплатной ведомости для Альфабанк: АЗОН или создаем файл 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С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    145898    645    358    

234

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

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

84000 руб.

19.08.2020    24478    23    1    

25

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 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 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    231681    1049    896    

992

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

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

15000 руб.

21.03.2023    10655    67    14    

60

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

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 руб.

29.10.2014    216107    651    526    

456

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

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

5940 руб.

27.05.2021    36543    252    90    

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