Групповая рассылка документов по кнопке "Печать"



Групповая рассылка выбранных печатных форм из формы списка документа

Обработка выполнена в виде внешней печатной формы для документов «Реализация товаров и услуг» , «Счет-фактура выданный» и «Акт сверки взаиморасчетов». Позволяет выполнить групповую рассылку выбранных печатных форм по эл. почте контрагентам с возможностью выбора формата вложения. 

Как использовать:

1. Регистрируем обработку в дополнительных отчетах и обработках.

2. Открываем форму списка нужного документа.

3. Удерживаея клавишу Ctrl выбираем нужные документы.

4. Нажимаем кнопку «Печать» и выбираем пункт «Групповая рассылка документов».

5. В открывшейся форме выбираем печатную форму и формат вложения.

6. Жмем кнопку «Выбрать».

12 Comments

  1. noTeMkuH

    Здравствуйте.

    Подскажите пожалуйста- как добиться отправки одним письмом следующих документов: счет (стандартная форма), акт оказания услуг (внешняя форма), договор (внешняя форма).

    На данный момент (из под списка счетов) получается собрать в одно письмо- только счет и договор.

    А акт получается сделать только из под списка актов ? То есть получается 2 отдельных письма.

    Можно как то вложить в одно письмо эти 3 документа- указав в качестве исходных данных какой то счет ?

    А также хотелось бы добавить возможность прикрепления внешних файлов (чтобы они по умолчанию добавлялись ко всем письмам)

    Reply
  2. vovan_victory

    (1) noTeMkuH, Здравствуйте.

    Если Ваши правила позволяют выгрузить все нужные типы данных и у Вас есть ссылки на нужные документы, то можно попробовать доработать отбор.Например, собрать всю структуру подчиненности и выгрузить.

    За основу можно взять имеющийся отбор.

    А для прикрепления общего файла можно добавить строку:

    После

    ФайлВложения = Новый ДвоичныеДанные(ФайлВыгрузки);
    Соответствие = Новый Соответствие();
    Соответствие.Вставить(ММ[ММ.ВГраница()],ФайлВложения);

    Добавить

    ПутьКОбщемуФайлу  = «C:ВашФайл.txt»;
    
    ОбщийФайл  = Новый ДвоичныеДанные(ПутьКОбщемуФайлу);
    Соответствие.Вставить(«Информация»,ОбщийФайл);
    Reply
  3. vitonya

    НЕ РАБОТАЕТ рассылка!

    ВнешняяОбработка.ГрупповаяРассылкаДокументов.Форма.ОтправкаДокументовПоЭлектроннойПочте.Форма(160)}: Метод объекта не обнаружен (ПолучитьМассивОтмеченныхЭлементовСписка)

    ВыбранныеКоманды = ОбщегоНазначенияКлиентСервер.ПолучитьМассивОтмеченныхЭлементовСписка(Список);

    Бухгалтерия предприятия, редакция 3.0 (3.0.64.29)

    Reply
  4. vovan_victory

    ВыбранныеКоманды = ОбщегоНазначенияКлиентСервер.ОтмеченныеЭлементы(Список);

    Reply
  5. vovan_victory

    (3)Ну так сработало или нет?

    ВыбранныеКоманды = ОбщегоНазначенияКлиентСервер.ОтмеченныеЭлементы(Список);

    Reply
  6. vitonya

    Не сработало

    Reply
  7. vitonya

    Бухгалтерия предприятия, редакция 3.0 (3.0.64.29)

    Reply
  8. vovan_victory

    (7)Внимательно посмотрите мои ответы и ошибку на своем скрине.

    Reply
  9. vitonya

    Спасибо. Исправил.

    Теперь:

    {ВнешняяОбработка.ГрупповаяРассылкаДокументов.Форма.ОтправкаДокументовПоЭлектроннойПочте.Форма(333)}: Поле объекта не обнаружено (Значение)

    Сообщение.Текст = ПараметрыПисьма.Получатель[0].Значение;

    Кстати, она работает на серверной базе?

    Reply
  10. vitonya

    После исправления нескольких ошибок заработала.

    Низкий поклон разработчику.

    Reply
  11. vovan_victory

    «Кстати, она работает на серверной базе?» — будет

    «После исправления нескольких ошибок заработала. » — код работал до тех пор, пока 1с не изменило типовую конфигурацию.. я ни когда не понимал, зачем переименовывать функции или процедуры?(это риторический вопрос)

    Reply
  12. YuraSmirnov

    Следующее сделать перейти к модулю менеджера с помощью процедуры ДобавитьКомандыПечати, определяем через попытку.

    МетаданныеДокументы = Метаданные.Документы;

    КоллекцияКомандПечати = УправлениеПечатью.СоздатьКоллекциюКомандПечати();

    Для Каждого Эл Из МетаданныеДокументы Цикл

    КоллекцияКомандПечати.Очистить();

    Попытка

    Документы[Эл.Имя].ДобавитьКомандыПечати(КоллекцияКомандПечати);

    Если КоллекцияКомандПечати.Количество() > 0 Тогда

    Элементы.ВидДокументов.СписокВыбора.Добавить(Эл.Имя, Эл.Синоним);

    Элементы.ГруппаПечФормы.Видимость = Ложь;

    КонецЕсли;

    Исключение

    КонецПопытки;

    КонецЦикла;

    Либо через создание программно СКД, через настройки динамического списка. Было бы здорово, если сделать рассылку документов через наиболее удобный метод тот же сервис documentoved.ru и не заморачиваться над командами в программе 1с.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *