Макросы в Excel из 1С (через com)
-

Макросы в Excel из 1С (через com)

0
8242
15.02.2023 Владимир Быков

Содержание:


1.     Отчет для выдачи подарков детям сотрудников в программе Excel


         Предположим, в компании появилась потребность сделать отчет, для выдачи подарков детям сотрудников (Рис. 1). Сотруднику, который занимается выдачей подарков было бы удобно работать с отчетом в программе Excel.        


         Предполагается, что подарки будут выдаваться несколько дней так как в компании, работает много сотрудников у которых есть несовершеннолетние дети.



Рисунок 1. 

        

         В заголовке отчета нужны реквизиты:

         Дата начало выдачи – дата начало выдачи подарков сотрудникам. Определяется в момент формирования отчета.

         День выдачи – показывает, какой день (выдачи) наступил от даты начало выдачи. Определяется, как разница между датой начало выдачи подарков и текущей датой.


         В шапке отчета нужны реквизиты:

         Порядок –  номер по порядку группы сотрудников 1С, которым будут выданы подарки.

         Сотрудник – ФИО сотрудника компании.

         Количество подарков – количество подарков, которые будут выданы сотруднику, у которого есть несовершеннолетние дети.


         Значение поля «Порядок» табличной части отчета определяет день выдачи подарков сотрудникам. Например, сотрудник Минчев Иван Аристотелевич получит подарок в первый день выдачи. Так как значение поля «Порядок» табличной части отчета равна значению реквизита «День выдачи» заголовка отчета (Рис. 2)



Рисунок 2. 


         Поступило требование к отчету. Нужно чтобы при открытии отчета в программе Excel ту группу сотрудников 1С, которым положено выдать подарки выделить цветом (Рис. 3)



Рисунок 3. 


         Система конфигурации 1С: Предприятие может выполнить оформление в момент формирования отчета. Но в данном случае требуется чтобы при открытии отчета в программе Excel оформление изменялось автоматически. Чтобы на следующий день выделись цветом ячейки другим сотрудникам, которым положено выдать подарки (Рис. 4) 



Рисунок 4. 


2. Практическое применение на платформе системы 1С Предприятие

 

         В платформе системы 1С: Предприятие 8 есть возможность подключиться к программе Excel и использовать его возможности.


         Создадим отчет в системе 1С: Предприятия 8, который будет формировать список сотрудников, для выдачи подарков несовершеннолетним детям. А также возможность его выгрузить в файл программы Excel. Для оформления заголовка и шапки отчета, а также оформление порядка выдачи подарков сотрудникам воспользуемся макросом программы Excel.


         Для демонстрации работы с макросами в системе конфигурации 1С: Предприятие 8 будет использована демонстрационная конфигурация Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.435).

         В форме отчета создадим команду «Выгрузить» (Рис. 5).



  Рисунок 5. 


         Опишем подключение к программе Excel, код на языке MS Visual Basic (Рис. 6, 7), обработку данных в модуле формы на встроенном языке системы конфигурации 1С: Предприятие.










         Создадим макрос в 1С «ОформлениеЗаголовка» (Рис. 8). Макрос будет выполнять оформление заголовка и шапки отчета. Сформировать код на языке MS Visual Basic можно сделав запись Макроса в Excel.




         Для того чтобы применить макрос в 1С напишем код (Рис. 9)




         Для реализации возможности автоматического изменения оформления ячеек в программе Excel можно использовать «Условное форматирование», которое предусмотрено в программе Excel. Поэтому создадим ещё макрос «Выдача» (Рис. 10). При выполнении макроса программа Excel создаст условное оформление.




Выгружаем отчет и смотрим результат




Специалист компании «Кодерлайн»

Быков Владимир

Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.