8.х Формирование расчетного листа и выгрузка в Excel

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем badly, 15 июн 2010.

  1. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток, господа великие!!
    Прошу помощи. Работаю с 1С Камин.
    Бухгалтерия поставила задачу: "Необходимо чтоб при формировании расчетных листков, создавались отдельные расчетки по каждому сотруднику и отправлялись по почте".
    Часть задачи находится на стадии завершения, а именно формирования файлов по каждому сотруднику. Вот образец расчетного листка, к которому хочется приблизится.
    Ниже код процедуры, которую использую для реализации.

    Вложения:

  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Код не читал.
    1) А в чем собственно вопрос?
    2) Почему нельзя сформировать отчет средствами 1С, и потом использовать ТабличныйДокумент.Записать()?
  3. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    суть в том что средствами 1С он показывает и все работает.
    Задача стоит в том, чтобы формировать по выбранным сотрудникам расчетные листы с сохранением в Excel. Для дальнейшей их отправки по адресам сотрудников.
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Не понял. Вы в любом случае формируете файл (сейчас с использованием COM объекта). Что мешает сформировать этот файл как ТабличныйДокумент (с использованием необходимого макета), и потом вместо вывода его на экран написать что-то вроде:
    Код:
    ТабличныйДокумент.Записать("C:\Сотрудник.xls", ТипФайлаТабличногоДокумента.XLS);
    
    ?

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

    Задачу вашу услышал, а конкретный вопрос? Что не получается?
  5. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    в данном случае по формированию
    Некоторые коды при формировании файла не попадают в него, такие как 101, 1, которые являются ключевыми... и в своей процедуре не могу выловить,где они формируются для того чтобы выгрузить их.

    И конечное же интересует вопрос отправки, если конечное такое существует.
  6. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    использовал данный код и все получилось замечательно. Огромное спасибо... Но подскажите как теперь можно сделать отдельный файл для каждого сотрудника?!
  7. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    В общем посидел немного почитал мануал, и добился того что уже почту отправляет, теперь остался вопрос, как полученную табличную форму разбить по каждому сотруднику, т.е. чтобы при нажатии на формировать, формировались, файлы в формате xls, чего уже добились, в отдельную папку... Как я понимаю должен быть какой то разделить, который по идее необходимо определить, а что делать дальше немного не понимаю... Подскажите что может?!
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Все очень просто должно быть. У вас ведь есть сотрудники по которым надо сформировать файлы. Ну так в цикле для каждого сотрудника формируете файл и все.
    Т.е. грубо говоря у вас должна быть процедура, назовем ее скажем
    Код:
    Процедура СформироватьЛистокПоСотруднику(Сотрудник)
    
    
    в которой вы для сотрудника "Сотрудник" формируете листок.
    Вставляете ее в цикл:
    Код:
    Для Каждого Сотрудник из СписокСотрудников Цикл
    СформироватьЛистокПоСотруднику(Сотрудник);
    КонецЦикла;
    
    
    
    (ну вы понимаете что все имена переменных условные). Все.
  9. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Сделал как описали
    Правда использовал имеющуюся процедуру по формированию Печатной формы Листка.
    При формировании выгрузка почему то все равно идет по всем сотрудникам ((( т.е. создает файлы расчетки для каждого указанного сотрудника, но содержимое файлов одинаково.. Причем в каждом файле, выходит вся табличная часть сформированного расчетного листа, т.е. если в списке сотрудников есть 2 или 3 человека, то по ним формирует табличную часть и загоняет их в каждый файл.
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Вам надо смотреть имеющуюся у вас процедуру. Где там есть цикл (перебор сотрудников). Вобщем вам сейчас надо придти к функции, которая выводит листок для одного человека. И уже ее вставлять внутрь цикла "Для Каждого Сотрудник из СписокСотрудников Цикл".
  11. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Огромное мерси... с этим разобрался!! все работает ;)

    Теперь осталось разобраться как сделать процедуру отправки почты по уже выгруженным файлам.
    Но об этом думаю будет в другой теме ;)
  12. БухИрина
    Offline

    БухИрина

    Регистрация:
    28 авг 2013
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Добавление отчета:
    1) Скопировать файл «РасчетныеЛисткиОрганизаций.erf» на сервер в папку, где хранятся внешние отчеты.
    2) Запустить 1С8 в режиме предприятие и выбрать пункт меню Сервис / Дополнительные внешние отчеты и обработки/Отчеты. Создать папку «Для расчетчика» Подключить отчет аналогично подключению отчета «Численность персонала»


    Выполнение отчета:
    Отчет запускается из пункта меню: Сервис / Дополнительные внешние отчеты и обработки/Отчеты

    Изменения:
    1) Изменен вид расчетного листка
    2) Добавлена возможность вывода в 2 колонки. Для этого необходимо поставить галочку «Выводить печать на А3»:
    Если галочка стоит, то будет выведен дополнительный табличный документ.
    «Количество строк на листе не >» - количество строк на листе. По умолчанию значение = 123. Если у вас не умещается информация на лист, уменьшайте это значение. Чтобы сохранить изменения воспользуйтесь кнопкой сохранения варианта отчета:

    У сформированного табличного документа перед печатью обязательно проверить и скорректировать настройку печати в меню «Файл / параметры страницы»:

    Вложения:

Поделиться этой страницей