Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 3, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Формирование и рассылка отчетов по емайл.          
Михрутка Подменю пользователя
сообщение 03.04.13, 17:37
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 280
Из: Харьков
Спасибо сказали: 6 раз
Рейтинг: 6

1С 8.2. УПП

Необходимо перед закрытием программы формировать отчет(отчеты) и отправлять их по указанным электронным адресам. Никогда с таким не сталкивался, подскажите куда копать.

zay Подменю пользователя
сообщение 03.04.13, 18:29
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 102
Из: Киев
Спасибо сказали: 51 раз
Рейтинг: 0



Функция ОтправитьЭлектронноеПисьмоHTML(
                            пАдрес,
                            пИмяОтправителя = "sender records",
                            пОтправитель = "reportbot@SCI.com.ua",
                            пТема,
                            пТекст,
                            пВложения,
                            пОписаниеПисьма = "",
                            пПочтовоеСоединение = Неопределено
                            ) Экспорт
    
    
    Сообщение = Новый ИнтернетПочтовоеСообщение;
    
    Если ПустаяСтрока(пАдрес) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Ошибка! В электронном письме ("+пОписаниеПисьма+") не указан адрес",,, СтатусСообщения.ОченьВажное);
        Возврат ложь;
    КонецЕсли;
    
    Сообщение.Получатели.Добавить(пАдрес);
    Сообщение.Тема =пТема;
    Сообщение.ИмяОтправителя=пИмяОтправителя;
    Сообщение.Отправитель=пОтправитель;
    
    Для каждого лИмяФайлВложения из пВложения Цикл
        Если ПустаяСтрока(лИмяФайлВложения) Тогда
            Продолжить;
        КонецЕсли;
        Попытка
            Сообщение.Вложения.Добавить(лИмяФайлВложения);
        Исключение
            ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),,"Ошибка при присоединении вложения к электронному письму", СтатусСообщения.ОченьВажное);
            Возврат ложь;
        КонецПопытки;
    КонецЦикла;
    
    Сообщение.Кодировка = "windows-1251";
    
    ТекстПисьма = Сообщение.Тексты.Добавить(пТекст);
    ТекстПисьма.Кодировка = "windows-1251";
    ТекстПисьма.ТипТекста = ТипТекстаПочтовогоСообщения.HTML;
    
    Если пПочтовоеСоединение = Неопределено Тогда
        
        Почта = Новый ИнтернетПочта();
        
        ПочтовыйПрофиль = ПолучитьПочтовыйПрофиль();
        
        Попытка
            Почта.Подключиться(ПочтовыйПрофиль);
        Исключение
            ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),,"Ошибка при подключению к почтовому профилю", СтатусСообщения.ОченьВажное);
            Возврат ложь;
        КонецПопытки;
            
        Попытка
            Почта.Послать(Сообщение);
        Исключение
            ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),,"Ошибка при отправке электронного письма на адрес "+пАдрес, СтатусСообщения.ОченьВажное);
            Возврат ложь;
        КонецПопытки;
        
        Почта.Отключиться();
        
    Иначе
        Попытка
            пПочтовоеСоединение.Послать(Сообщение);
        Исключение
            ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),,"Ошибка при отправке электронного письма на адрес "+пАдрес, СтатусСообщения.ОченьВажное);
            Возврат ложь;
        КонецПопытки;
    КонецЕсли;
    
    Возврат истина;
    
КонецФункции



Функция ПолучитьПочтовыйПрофиль() Экспорт
    
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    
    Профиль.АдресСервераSMTP    = "192.168.4.16";
    Профиль.АдресСервераPOP3    = "192.168.4.16";
    Профиль.Пользователь        = "MailUser";
    Профиль.Пароль        = "MailPassword";
    Профиль.ПортSMTP        = 25;
    Профиль.ПортPOP3        = 110;
    Профиль.ВремяОжидания    = 60;
    
    Возврат Профиль;
    
КонецФункции


Комментарии к параметрам функции:
пВложения - массив строк, значение элемента - полный путь к файлу вложения
пОписаниеПисьма - идентификатор, которая будет выводится в сообщении об ошибке
пПочтовоеСоединение - можно передавать в функцию объект ИнтернетПочта (незначительно экономит время отправки). Если не заполнено - используется функция ПолучитьПочтовыйПрофиль

Пример использования

Для каждого АдресЭлектроннойПочты из масАдресаЭлектроннойПочты Цикл
            
    Если ПустаяСтрока(АдресЭлектроннойПочты) Тогда
        Сообщить("Для клиента "+Клиент+" не установлен адрес электронной почты");
        Продолжить;
    КонецЕсли;
            
    УправлениеЭлектроннойПочтой
        .ОтправитьЭлектронноеПисьмоHTML(
            АдресЭлектроннойПочты,
            "Sharashkyna Contora Incorporated",
            "reportbot@SCI.com.ua",
            "Задолженность по оплате комиссии",
            ТекстСообщения,
            Вложения);

КонецЦикла;

logist Подменю пользователя
сообщение 03.04.13, 18:52
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Команда
Сообщений: 8419
Из: Харьков
Спасибо сказали: 2246 раз
Рейтинг: 1345.1

Цитата(Михрутка @ 03.04.13, 17:37) *
Необходимо перед закрытием программы

Цитата(Михрутка @ 03.04.13, 17:37) *
1С 8.2. УПП

Меня прям вдохновило это сочетание smile.gif

Только еще совет - запускайте задание в фоне, что бы пользователь мог нормально завершить работу приложения, и его процесс завершился, а отчет сформировался и отправился бы в фоновом задании.


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Написание конфигураций под требование заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Продажа Битрикс24. Программирование в Bitrix Framework.

Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (1С-Франчайзи)

zay Подменю пользователя
сообщение 03.04.13, 19:26
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 102
Из: Киев
Спасибо сказали: 51 раз
Рейтинг: 0

Цитата(logist @ 03.04.13, 19:52) *
Только еще совет - запускайте задание в фоне

Я использовал виндовс планировщик. Фоновые задания требуют чтобы все выполнялось на стороне сервера. А формировать отчеты и сбрасывать их в Excel на стороне сервера не получится.

Запускаем приложение с определенным параметром, который обрабатываем при старте. Т.е. если запуск с параметром "ФормируйОтчеты" - то сформировать отчеты и выйти из 1С. Если с параметром "РассылайОтчеты" - то разослать и выйти из 1С.

Еще надо понимать, что рассылка может быть запущена повторно. Получать один и тот же отчет клиенту наверное будет не очень интересно.

alex040269 Подменю пользователя
сообщение 03.04.13, 20:57
Сообщение #5

Крутой
Иконка группы
Группа: Местный
Сообщений: 1615
Из: Гуляйполе
Спасибо сказали: 233 раз
Рейтинг: 0

а если введены еще не все данные, а пользователь случайно вышел? такой отчет кому нибудь нужен? разве сто это мониторинг работы пользоваеля


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

logist Подменю пользователя
сообщение 04.04.13, 7:50
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Команда
Сообщений: 8419
Из: Харьков
Спасибо сказали: 2246 раз
Рейтинг: 1345.1

Цитата(zay @ 03.04.13, 19:26) *
А формировать отчеты и сбрасывать их в Excel на стороне сервера не получится.

Не получится и не умею это разные вещи. Типовые регламентные задания типа рассылок отчетов об ошибках и уведомлений о задачах - как-то же работают.


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Написание конфигураций под требование заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Продажа Битрикс24. Программирование в Bitrix Framework.

Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (1С-Франчайзи)

Vofka Подменю пользователя
сообщение 04.04.13, 7:56
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 12063
Из: Киев
Спасибо сказали: 3516 раз
Рейтинг: 2659.7

Я саму идею считаю не совсем разумной. В чем сложность сформировать отчеты в программе - непонятно.


Signature
Услуги 1С программиста

zay Подменю пользователя
сообщение 04.04.13, 10:16
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 102
Из: Киев
Спасибо сказали: 51 раз
Рейтинг: 0

Цитата(logist @ 04.04.13, 8:50) *
Не получится и не умею это разные вещи.

Версия платформы базы, в которой это реализовано - 1С:Предприятие 8.1 (8.1.11.67)

В справке по ТабличныйДокумент.Записать (<Имя файла>, <Тип файла таблицы>)
Примечание:
При работе на сервере или через com-соединение использует только файлы форматов mxl и txt.

В 8.2 - согласен, сохранять в Excel можно и на сервере.

logist Подменю пользователя
сообщение 04.04.13, 10:25
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Команда
Сообщений: 8419
Из: Харьков
Спасибо сказали: 2246 раз
Рейтинг: 1345.1

Цитата(Михрутка @ 03.04.13, 17:37) *
1С 8.2. УПП

Цитата(zay @ 04.04.13, 10:16) *
Версия платформы базы, в которой это реализовано - 1С:Предприятие 8.1 (8.1.11.67)

Так наверное надо сразу это уточнить, что бы не возникало таких вопросов.


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Написание конфигураций под требование заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Продажа Битрикс24. Программирование в Bitrix Framework.

Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (1С-Франчайзи)

zay Подменю пользователя
сообщение 04.04.13, 10:49
Сообщение #10

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 102
Из: Киев
Спасибо сказали: 51 раз
Рейтинг: 0

Цитата(Vofka @ 04.04.13, 8:56) *
Я саму идею считаю не совсем разумной. В чем сложность сформировать отчеты в программе - непонятно.

Если это замечание по поводу запуска с помощью виндовс планировщика - то поясню:
по регламенту отчеты формируются в 18:40. Только к этому времени в учетной системе есть все необходимые данные для формирования отчетов. Заставлять сотрудника каждый день сидеть до этого времени, только для того чтобы он запустил обработку с одной единственной кнопкой "Сформировать", нажал ее и ждал пока все отчеты сформируются... Ну и допустим есть 400 клиентов. Группа отчетов для одного клиента формируются 15 сек. (если сервер больше ничем не загружен) = полтора часа просто формируются отчеты.
А удаленный доступ для сотрудника - это звонки, в том числе и в десять ночи, на тему: пропал интернет, разрядился ноут и не заряжается и т.п.

Vofka Подменю пользователя
сообщение 04.04.13, 10:52
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 12063
Из: Киев
Спасибо сказали: 3516 раз
Рейтинг: 2659.7

Цитата(zay @ 04.04.13, 11:49) *
Если это замечание по поводу запуска с помощью виндовс планировщика

Это было замечание, насчет "отправлять при закрытии программы" smile.gif


Signature
Услуги 1С программиста

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.01.17, 11:04
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне