Мастер рассылки e-mail 2.2 для управляемых форм

28.12.18

Интеграция - Email рассылки

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Отправка Электронных Писем УФ 2.2
.epf 35,75Kb ver:2.2
17
17 Скачать (1 SM) Купить за 1 850 руб.
Отправка Электронных Писем УФ 2.1
.epf 32,83Kb ver:2_1
7
7 Скачать (1 SM) Купить за 1 850 руб.

С появлением платформы 8.3  появилась возможность настройки работы в конфигурации без модальных/ синхронных вызовов для поддержки работы через браузеры. При вызове старых методов теперь либо происходит ошибка, либо предупреждение. Подробнее об этом Вы можете  прочитать вот здесь: http://its.1c.ru/docs/v8nonmodal/

То есть теперь надо переписывать старые обработки с использованием новых методов. Но если переписать без затей, то клиент не сможет запустить ее на старой платформе/конфигурации.

Я столкнулся с решением этой проблемы в тексте обработки консоли управляемых запросов. Начав переделывать по этой технологии свои обработки, я столкнулся с недопустимым временем переделки. Для упрощения переделки я предлагаю свою библиотеку подмены  модальных/синхронных вызовов, и пример ее использования.

Библиотека замены модальных и синхронных вызовов 1.02

#Область LibreUniModal_1_02


////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ Библиотеки универсальных вызовов с автоматической поддержкой модальности
// Предназначены для простоты написания кода работающего в любой версии 8.2 - 8.3 с поддержкой модальности или без оной.
// Молочников Олег 2015г. Версия библиотеки 1.02
// Если Вы будете дорабатывать библиотеку, пожалуйста поделитесь исправлениями oleg.molochnikov@mail.ru
// 
// Для работы библиотеки необходимо добавить две переменные объекта
// МодальностьРазрешена Булево 
// ВерсияПриложения Строка
// 
// Следующий код нужно включить в процедуру "При создании на сервере"
// 
// СисИнфо = Новый СистемнаяИнформация;
// Объект.ВерсияПриложения = СисИнфо.ВерсияПриложения;
// 
// Если Лев(Объект.ВерсияПриложения, 3) = "8.2" Тогда
// Объект.МодальностьРазрешена = Истина;
// Иначе
// Выполнить("Объект.МодальностьРазрешена = Метаданные.РежимИспользованияМодальности = Метаданные.СвойстваОбъектов.РежимИспользованияМодальности.Использовать;");
// КонецЕсли;
//

&НаКлиенте
Процедура УниверсальныйПредупреждение(ТекстПредупреждения,ТаймаутПредупреждения=0,ЗаголовокПредупреждения="",КодПослеобработки="",ДополнительныеПараметры="")
	Если ТипЗнч(ДополнительныеПараметры) <> Тип("Структура") Тогда
		ДополнительныеПараметры=Новый Структура;
	КонецЕсли;
	
	ДополнительныеПараметры.Вставить("КодПослеобработки",КодПослеобработки);
	ДополнительныеПараметры.Вставить("ТекстПредупреждения",ТекстПредупреждения);
	
	Если Объект.МодальностьРазрешена Тогда
		КодВыполнения = 
		" Предупреждение(ТекстПредупреждения,ТаймаутПредупреждения,ЗаголовокПредупреждения);
 | УниверсальныйПредупреждениеЗавершение(ДополнительныеПараметры);";
	Иначе
		КодВыполнения = "
 | ПоказатьПредупреждение(Новый ОписаниеОповещения(""УниверсальныйПредупреждениеЗавершение"", ЭтаФорма,ДополнительныеПараметры), ТекстПредупреждения,ТаймаутПредупреждения,ЗаголовокПредупреждения);";
	КонецЕсли;
	
	Выполнить(КодВыполнения);
	
КонецПроцедуры
&НаКлиенте
Процедура УниверсальныйПредупреждениеЗавершение(ДополнительныеПараметры) Экспорт
	Если ДополнительныеПараметры.Свойство("КодПослеобработки") И ДополнительныеПараметры.КодПослеобработки<>"" Тогда
		Выполнить(ДополнительныеПараметры.КодПослеобработки);
	КонецЕсли;
КонецПроцедуры


&НаКлиенте
Процедура УниверсальныйОткрытьЗначение(ОбъектОткрытия,КодПослеобработки="",ДополнительныеПараметры="")
	Если ДополнительныеПараметры="" Тогда
		ДополнительныеПараметры=Новый Структура;
		ДополнительныеПараметры.Вставить("КодПослеобработки",КодПослеобработки);
		ДополнительныеПараметры.Вставить("ОбъектОткрытия",ОбъектОткрытия);
	КонецЕсли;
	
	Если Объект.МодальностьРазрешена Тогда
		КодВыполнения = 
		" ОткрытьЗначение(ОбъектОткрытия);
 | УниверсальныйОткрытьЗначениеЗавершение(ДополнительныеПараметры);";
	Иначе
		КодВыполнения = "
 | ПоказатьЗначение(Новый ОписаниеОповещения(""УниверсальныйОткрытьЗначениеЗавершение"", ЭтаФорма,ДополнительныеПараметры), ОбъектОткрытия);"; 
	КонецЕсли;
	
	Выполнить(КодВыполнения);
	
КонецПроцедуры
&НаКлиенте
Процедура УниверсальныйОткрытьЗначениеЗавершение(ДополнительныеПараметры) Экспорт
	Если ДополнительныеПараметры="" Тогда
		Возврат;
	КонецЕсли;
	Если ДополнительныеПараметры.Свойство("КодПослеобработки") И ДополнительныеПараметры.КодПослеобработки<>"" Тогда
		Выполнить(ДополнительныеПараметры.КодПослеобработки);
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура УниверсальныйЗапуститьПриложение(СтрокаКоманды,ТекущийКаталог="",КодПослеобработки="",ДополнительныеПараметры="")
	Если ДополнительныеПараметры="" Тогда
		ДополнительныеПараметры=Новый Структура;
		ДополнительныеПараметры.Вставить("КодПослеобработки",КодПослеобработки);
		ДополнительныеПараметры.Вставить("ТекущийКаталог",ТекущийКаталог);
	КонецЕсли;
	
	Если Объект.МодальностьРазрешена Тогда
		КодВыполнения = 
		" ЗапуститьПриложение(СтрокаКоманды,ТекущийКаталог);
 | УниверсальныйЗапуститьПриложениеЗавершение(ДополнительныеПараметры);";
	Иначе
		КодВыполнения = "
 | НачатьЗапускПриложения(Новый ОписаниеОповещения(""УниверсальныйЗапуститьПриложениеЗавершение"", ЭтаФорма), СтрокаКоманды,ТекущийКаталог);"; 
	КонецЕсли;
	
	
	Выполнить(КодВыполнения);
	
КонецПроцедуры
&НаКлиенте
Процедура УниверсальныйЗапуститьПриложениеЗавершение(ДополнительныеПараметры) Экспорт
	Если ТипЗнч(ДополнительныеПараметры) <> Тип("Структура") Тогда
		ДополнительныеПараметры=Новый Структура;
	КонецЕсли;
	Если ДополнительныеПараметры.Свойство("КодПослеобработки") И ДополнительныеПараметры.КодПослеобработки<>"" Тогда
		Выполнить(ДополнительныеПараметры.КодПослеобработки);
	КонецЕсли;
КонецПроцедуры


&НаКлиенте
Процедура УниверсальныйВыборФайлов(Режим,МодульОбработкиФайла,ПолноеИмяФайла="",Фильтр="*",МножественныйВыбор=Ложь,Заголовок="Выберите файл",ДополнительныеПараметры="")
	
	Если ТипЗнч(ДополнительныеПараметры) <> Тип("Структура") Тогда
		ДополнительныеПараметры=Новый Структура;
	КонецЕсли;
	ДополнительныеПараметры.Вставить("МодульОбработкиФайла",МодульОбработкиФайла);
	ДополнительныеПараметры.Вставить("ПолноеИмяФайла",ПолноеИмяФайла);
	
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = ПолноеИмяФайла;
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.МножественныйВыбор = МножественныйВыбор;
    ДиалогОткрытияФайла.Заголовок = Заголовок;

	Если Объект.МодальностьРазрешена Тогда
		КодВыполнения = 
		"Если ДиалогОткрытияФайла.Выбрать() Тогда
 | УниверсальныйВыборФайловЗавершение(ДиалогОткрытияФайла.ВыбранныеФайлы, ДополнительныеПараметры);
 |КонецЕсли;";
	Иначе
		КодВыполнения = "
 |Оповещение = Новый ОписаниеОповещения(""УниверсальныйВыборФайловЗавершение"", ЭтаФорма,ДополнительныеПараметры);
 |ДиалогОткрытияФайла.Показать(Оповещение);"; 
	КонецЕсли;
	
	Выполнить(КодВыполнения);
	
КонецПроцедуры

&НаКлиенте
Процедура УниверсальныйВыборФайловЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
	
	Если ВыбранныеФайлы=Неопределено ИЛИ ВыбранныеФайлы.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	Для Каждого  ВыбранныйФайл из ВыбранныеФайлы Цикл
		Выполнить(ДополнительныеПараметры.МодульОбработкиФайла);
	КонецЦикла;	
КонецПроцедуры

&НаКлиенте
Процедура УниверсальныйВопрос(ТекстВопроса,МодульОбработки1,РежимДиалогаВопроса,Ответ1,Ответ2="", МодульОбработки2="",ДополнительныеПараметры="");
	Если ТипЗнч(ДополнительныеПараметры) <> Тип("Структура") Тогда
		ДополнительныеПараметры=Новый Структура;
	КонецЕсли;
	ДополнительныеПараметры.Вставить("Ответ1",Ответ1);
	ДополнительныеПараметры.Вставить("Ответ2",Ответ2);
	ДополнительныеПараметры.Вставить("МодульОбработки1",МодульОбработки1);
	ДополнительныеПараметры.Вставить("МодульОбработки2",МодульОбработки2);
	Если Объект.МодальностьРазрешена Тогда
		КодВыполнения = "
 |Результат = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
 |УниверсальныйВопросЗавершение(Результат, ДополнительныеПараметры);";
	Иначе
		КодВыполнения = "
 |Оповещение = Новый ОписаниеОповещения(""УниверсальныйВопросЗавершение"", ЭтаФорма,ДополнительныеПараметры);
 |ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);"; 
	КонецЕсли;
	Выполнить(КодВыполнения);
КонецПроцедуры

&НаКлиенте
Процедура УниверсальныйВопросЗавершение(Результат, ДополнительныеПараметры) Экспорт
	Если Результат=ДополнительныеПараметры.Ответ1 Тогда
		Выполнить(ДополнительныеПараметры.МодульОбработки1);
	ИначеЕсли ДополнительныеПараметры.МодульОбработки2<>"" И Результат=ДополнительныеПараметры.Ответ2 Тогда	
		Выполнить(ДополнительныеПараметры.МодульОбработки2);
	КонецЕсли;
КонецПроцедуры

 #КонецОбласти

Для пользователей: Предлагаю вашему вниманию переделанный по этой технологии 

Мастер рассылки e-mail 2.2 (ERP,УТ, БП) (Только управляемые формы)

За основу, взята //infostart.ru/public/155390/?rate=1

Добавлены: Динамический список для отбора e-mail и их владельцев. Можно осуществлять быстрый отбор по любым полям справочников партнеры, контактной информации партнеров. Например отобрать по ответственному менеджеру, а  потом исключить галочками ненужных контактных лиц. 

Если поле "кому" пустое, то используется динамический список.

Добавлена кнопка предварительного тестирования перед отправкой.

рассылка e-mail

См. также

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    24997    257    8    

221

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Создать и отправить 1000 Актов серки контрагентам за 5 мин ?! Легко! Разработано для конфигурации УНФ Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    10910    8    13    

13

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

Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, и произвольных файлов. Рассылка возможна посредством электронной почты, Telegram и файловой системы. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

4920 руб.

30.06.2022    11346    73    98    

35

Взаиморасчеты Email рассылки Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

7080 руб.

11.05.2021    9727    6    1    

6

Email рассылки Взаиморасчеты Акт сверки Бухгалтер Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Обработка для конфигурации Управление торговлей 10.3 (КА 1.1, УПП 1.3), которая автоматически формирует акты сверок взаиморасчетов, позволяет их скопом распечатать и разослать по электронной почте контрагентам.

2160 руб.

08.02.2018    31597    47    0    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Franco 83 30.12.15 14:28 Сейчас в теме
Господа, а что значит «Выполнить(»?! Пользователи веб-клиента - идите лесом?!
2. milkers 2943 30.12.15 14:36 Сейчас в теме
(1) Franco, Пока да. Иначе обработка несовместима с 8.2. Надо думать, что можно сделать.
3. aspirator23 340 02.01.16 15:48 Сейчас в теме
Аналогично решал. Кроме стандартных вызовов, есть проблема с 1с-языком. В 8.3 появились функции и процедуры, которых нет в 8.2.
Решение похоже: либо использовать старые, либо выносить исполнение новых в зависимости от платформы в разные общие модули, формы обработок, отчетов.
Оставьте свое сообщение