Расчетные листки организации с рассылкой по почте. Вызывается стандартный отчет и анализируется для формирования рассылки расчетных листков в формате xls на почтовые ящики сотрудников.
Решил адаптировать отчет для УПП и пришел к идее что лучше будет не копировать стандартный отчет и адаптировать, а вызвать его и проанализировать результаты. В общих чертах: из обработки открывается форма отчета «РасчетныеЛисткиОрганизаций», к ней присоединяется форма формирования рассылки.
Тестировалось в УПП 1.2.25.1 и ЗУП 2.5.17.8 и 2.5.18.2
Полезная вещь!
Спасибо
Очень полезная вещь!
Спасибо.
Модифицировал — добавил получение адреса электронной почты из AD.
Функция ПолучитьАдресЭлектроннойПочтыИзActiveDirectory(Объект) Экспорт
//
Адр = «»;
АдоСоед = новый ComObject(«ADODB.Connection»);
АдоСоед.Provider = «ADSDSOObject»;
АдоСоед.Open(«ADs Provider»);
query = «SELECT ADsPath FROM ‘LDAP://DC=ВашДомен,DC=ru’ WHERE objectClass=’user’ AND objectCategory=’person’ AND name = ‘»+Объект.Сотрудник.Наименование+»‘»;
Cmd = Новый ComObject(«ADODB.Command»);
Cmd.ActiveConnection = АдоСоед;
Cmd.CommandType = 1;
Cmd.CommandText= query;
Rs = новый ComObject(«ADODB.RecordSet»);
попытка
Rs = Cmd.Execute();
Rs.MoveFirst();
Пока Rs.EOF() = 0 do
Value1 = ПолучитьCOMОбъект(Rs.Fields(«ADsPath»).Value);
Адр = Value1.Mail;
Rs.MoveNext();
КонецЦикла;
исключение
Сообщить(«Почтовый адрес в AD для сотрудника «+Объект.Сотрудник.Наименование+» не найден!»);
конецпопытки;
Rs.Close();
Rs = NULL;
Cmd = NULL;
АдоСоед.Close();
АдоСоед = NULL;
возврат Адр;
конецфункции
//////////////////////////////////
Использование:
Процедура СформироватьТаблицуСотрудников(ТабличныйДокумент,ДанныеРасшифровки) Экспорт
…
Для каждого СтрокаТабл Из ТаблицаСотрудников Цикл
СтрокаТабл.Адрес=ПолучитьАдресЭлектроннойПочтыИзActiveDirectory(СтрокаТабл);
если ПустаяСтрока(СтрокаТабл.Адрес) тогда
СтрокаТабл.Адрес=ПолучитьАдресЭлектроннойПочтыИзКонтактнойИнформации(СтрокаТабл.Сотрудник.Физлицо);
конецесли;
Если ПустаяСтрока(СтрокаТабл.Адрес) Тогда
СтрокаТабл.Пометка=Ложь;
возврат;
КонецЕсли;
…
Спасибо большое, очень помог этот отчетик
Спасибо огромное, отличный отчет!
Ай маладца! Хотел уже сам писать. Лови жЫрный плюс!
Отличная вещь=) попробовал на 2.5.31 все прекрасно работает, респект.
Спасибо, очень полезно!
Спасибо!
хорошая вешь! огромное спасибо
Спасибо! Очень полезная обработка!
А для ЗУП 8.2 эта обработка будет работать?
Супер! Большое спасибо. Надесь быстро врубиться и внедрить до НГ
Скажите пож.
Модифицировал — добавил получение адреса электронной почты из AD.
Показать
Использование:
Процедура СформироватьТаблицуСотрудников(ТабличныйДокумент,ДанныеРасшифровки) Экспорт
…
Для каждого СтрокаТабл Из ТаблицаСотрудников Цикл
СтрокаТабл.Адрес=ПолучитьАдресЭлектроннойПочтыИзActiveDirectory(СтрокаТабл);
если ПустаяСтрока(СтрокаТабл.Адрес) тогда
СтрокаТабл.Адрес=ПолучитьАдресЭлектроннойПочтыИзКонтактнойИнформации(СтрокаТабл.Сотрудник.Физлицо);
конецесли;
Если ПустаяСтрока(СтрокаТабл.Адрес) Тогда
СтрокаТабл.Пометка=Ложь;
возврат;
КонецЕсли;
а этот код как использовать?
(15) oaizatulin@yahoo.com, я не понял о каком именно коде идет речь?
Отчет пригодился, спасибо!
А там код открытый?
Нужно сделать такой отчет, жаль скачать пока не могу(
Расчетные листки-хорошая вещь,частенько народ просит, а тут рассылкой-экономит время, особенно у кого штат большой.
(18) Открытый.
Полезная вещица,забираю 🙂
Отличная вещь!!! Самому поставили задачу доработать программу, чтобы можно было рассылать расчетные листки сотрудникам. Подумал, может есть что-то уже готовое. И точно — есть!
Реализовано лучше не придумаешь! В список рассылки попадают только те, у которых заполнено поле E-mail. Тема письма формируется автоматически и сразу понятная пользователям.
В ЗУП под 1С8.2 великолепно работает после стандартной конвертации. Единственное, у меня ранее встроенная учетная запись была настроена без реальной настройки пользователя POP3, а при рассылке расчетных листков почему то стала ругаться, что нет такого пользователя. Ну это мелочи, да и ругается скорее всего сам стандартный модуль рассылки.
А можно отправить по e-mail altress@yandex.ru? не получается скачать
Пожалуйста, скиньте этот отчетик на irbor@mail.ru. Очень нужно и время не терпит. Заранее большое спасибо!
Жирный плюс. Хорошая реализация. Переписал под себя, все замечательно.
Вещь! Спасибо!
Скажите, а как проверить корректность работы, если всем сотрудникам уже забит свой и-мейл? Не переделывать же вручную для каждого сотрудника на тестовый адрес…
великолепно! как раз то, что нужно. пробовал другие, но здесь есть выборочная рассылка. работает великолепно.
Отличная штука! Работает на Комплексной.
Хорошая публикация. Большой плюс в том, что вызывается стандартный типовой отчет, а на его основе формируются письма. Таким образом обновления типовых конфигураций не влияют на работоспособность данной обработки.
Изменил Вашу обработку и использую каждый месяц при рассылке расчеток. Спасибо большое за труды!
спасибо, пригодилось 🙂
Интересная. Замечание хотелось бы добавить — желательно добавить проверку на наличие каталога и вообще поле для хранения файлов с расчетными листами вывести на форму. ну а так — респект за обработку!
Обработка проработала несколько лет. Сейчас выдает ошибку:
Обработка.РасчетныеЛисткиОрганизацийПоПочте.МодульОбъекта(515)}: Значение, соответствующее ключу, не задано
Сотрудник = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровки].ПолучитьПоля()[0].Значение;
Причем только в клиент-серверном варианте работы 1С (УПП). В файловом варианте БД, локально без ошибок.
(34) stroga, а версия УПП какая?
(35) столкнулся с тем же, что и (34)
1С:Предприятие 8.3 (8.3.9.1818)
Управление производственным предприятием, редакция 1.3 (1.3.85.2)
Правится изменением в двух местах этого:
ИдентификаторРасшифровки=ТабличныйДокумент.Область(НомерСтрокиНачалаРЛ+3,1 , НомерСтрокиНачалаРЛ+3,1 ).Расшифровка;
Сотрудник = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровки].ПолучитьПоля()[0].Значение;
на это
Сотрудник = ТабличныйДокумент.Область(НомерСтрокиНачалаРЛ+3,1 , НомерСтрокиНачалаРЛ+3,1 ).Расшифровка;
Спасибо за разработку!
Добрый день, скачали обработку, но при формировании списка выдает ошибку (во вложении). Как исправить ошибку?
Спасибо большое! Отлично работает и выручает.
Проверил еще раз, все работает
Кто бы мог подумать! Написал эту обработку в 2009 году, а до сих пор живет…
Спасибо, помогло.