%REDMON_USER%
scripten.exe
scr56en.exe
%SystemDrive%\gs
%SystemDrive%\Tools\gs
%SystemDrive%\Tools\RedMon
%SystemDrive%\Tools\OLE\ActiveBMP
"regsvr32 Bmp_1c.ocx"
%SystemDrive%\Tools\Postie
Apple LaserWriter II NT
Apple Color LaserWriter 12/600
"Send EMail"
"Redirect this port to the program:"="cscript.exe"
"Arguments for this programs are:"="Наш\Скрипт\С\Полным\Путем.js" (%SystemDrive%\Tools\gs\PrnUser.js)
"Output:"="Program handles output"
"Run:"="Hidden"
"Run as user"
"Shut down delay:"="300"
"Log file"
%MyProfiles%\User1
%MyProfiles%\User2
%TEMP%
Local service
%UserProfile%\SendMail\mail.ini
поле=значение
BODY
СписокЗначений
// =============================== // Предлагает изменить параметры отправки почты // Возвращает имя файла настроек или пустую строку при неудаче Функция глПараметрыОтправкиПочты(Заголовок,Кому,ОтКого,Копия="", Тема="",Сообщение="",Запретить="", БезФормы=0) Экспорт Перем Сп, Каталог, ИмяФайла, Т; // Устанавливаем параметры обработки Сп=СоздатьОбъект("СписокЗначений"); Сп.Установить("Заголовок",Заголовок); Сп.Установить("Кому",Кому); Сп.Установить("ОтКого",ОтКого); //Сп.Установить("ОтКогоФирма","forget@about.it"); - адрес по умолчанию, если ОтКого не задан Сп.Установить("Копия",Копия); Сп.Установить("Тема",Тема); Сп.Установить("Сообщение",Сообщение); Сп.Установить("Запретить",Запретить); Сп.Установить("ТихийРежим",БезФормы); // Вызываем обработку подтверждения параметров ОткрытьФормуМодально("Отчет", Сп, КаталогИБ()+"ExtForms\ПараметрыОтправкиПочты.ert"); // Если нажата "Отмена" - выходим Если ПустоеЗначение(Сп)=1 Тогда Возврат ""; КонецЕсли; // Считываем возвращенные значения ОтКого=Строка(Сп.Получить("ОтКого")); Кому=Строка(Сп.Получить("Кому")); Копия=Строка(Сп.Получить("Копия")); Тема=Строка(Сп.Получить("Тема")); Сообщение=Строка(Сп.Получить("Сообщение")); Попытка Каталог=КаталогСистемногоПользователя(); Если ПустаяСтрока(Каталог)=1 Тогда Возврат ""; КонецЕсли; // Неизвестный пользователь Каталог=Каталог+КаталогПочты; // Ожидаем завершения предыдущей задачи Ответ="Повтор"; Пока (ФС.СуществуетФайл(Каталог+ФайлФлага)=1) ИЛИ (ФС.СуществуетФайл(Каталог+ФайлНастроек)=1) Цикл ТекстВопроса=ТекущееВремя()+": Ожидается завершение задачи."+ РазделительСтрок+"Автоматический повтор через 5 секунд..."; Ответ=Вопрос(ТекстВопроса, "Повтор+Отмена", 5); // Возможность прервать ожидание Если Ответ="Отмена" Тогда Прервать; КонецЕсли; КонецЦикла; Если Ответ="Отмена" Тогда ИмяФайла=""; Иначе // Записываем параметры в файл ИмяФайла=Каталог+ФайлНастроек; Т=СоздатьОбъект("Текст"); Т.ДобавитьСтроку("TO="+ Кому); Т.ДобавитьСтроку("FROM="+ ОтКого); Т.ДобавитьСтроку("CC="+ Копия); Т.ДобавитьСтроку("BCC="+ ОтКого); Т.ДобавитьСтроку("SUBJ="+ Тема); Т.ДобавитьСтроку("ORG="+ "Тестовая конфигурация Send E-Mail"); Т.ДобавитьСтроку("BODY="+ Сообщение); Т.Записать(ИмяФайла); КонецЕсли; Исключение Сообщить(ОписаниеОшибки(),"!!!"); Возврат ""; КонецПопытки; Возврат ИмяФайла; КонецФункции
ПараметрыОтправкиПочты.ert
ExtForms
Заголовок
Кому, ОтКого, Копия
Тема, Сообщение
Запретить
БезФормы
// ====================================== // Запрос параметров, предподготовка таблицы и отправка почты Функция глОтправитьПоПочтеРисунок(Таб, Знач Заголовок, Знач Кому, Знач ОтКого, Знач Копия="", Знач Тема="", Знач Сообщение="", Знач Запретить="", Знач БезФормы=0, Знач Масштаб=0) Экспорт Перем Сп, Файл; // Запрашиваем подтверждения параметров Файл=глПараметрыОтправкиПочты(Заголовок,Кому,ОтКого, Копия,Тема,Сообщение,Запретить,БезФормы); Если ПустаяСтрока(Файл)=1 Тогда Сообщить("Почта не была отправлена","!"); Возврат 0; КонецЕсли; // Устанавливаем значения для отправки и инициализируем отправку Сп=СоздатьОбъект("СписокЗначений"); Сп.Установить("Таблица", Таб); Сп.Установить("Масштаб", Масштаб); ОткрытьФормуМодально("Отчет", Сп, КаталогИБ()+"ExtForms\ОтправитьКакРисунок.ert"); СТаб=СимволТабуляции; глЗаписатьЛог("ОтправитьПоПочтеРисунок", Шаблон( "ОтКого:[ОтКого]"+СТаб+"Кому:[Кому]"+СТаб+"Копия:[Копия]"+СТаб+"Тема:[Тема]")); // В этот момент ушло на принтер, но возможно еще не обработалось Сообщить("Отправляется. Ожидайте копию письма на адрес: "+ОтКого); Возврат 1; КонецФункции
Таб
"Таблица"
Заголовок, Кому, ОтКого, Копия, Тема, Сообщение, Запретить, БезФормы
глПараметрыОтправкиПочты
Масштаб
ПроверитьПараметр
ПриОткрытии
Перем Принтер; // ====================================== Функция ПроверитьПараметр(Сп, Назв, ВсеОк, Обязат=1, Умолч="", Тип="") Зн=Сп.Получить(Назв); Если (ПустоеЗначение(Зн)=1) Тогда Если (Обязат=1) Тогда ВсеОк=0; Сообщить(Шаблон("Не задан обязательный параметр: '[Назв]'"),"!"); Иначе Зн=Умолч; КонецЕсли; КонецЕсли; Если ПустаяСтрока(Тип)=0 Тогда ТипЗн=ТипЗначенияСтр(Зн); Если НРег(ТипЗн)<>НРег(Тип) Тогда ВсеОк=0; Сообщить(Шаблон("Для '[Назв]' не верен тип ('[ТипЗн]'). Ожидаемый тип: '[Тип]'"),"!"); КонецЕсли; КонецЕсли; Возврат Зн; КонецФункции // ====================================== Процедура ПриОткрытии() // Проверим корректность вызова Путь=""; Назв=""; РасположениеФайла(Путь, Назв); Назв=СтрЗаменить(Назв,".ert","")+": "; СтатусВозврата(0); // а вообще не нужно открывать! ВсеОк=1; Если Форма.МодальныйРежим()=0 Тогда Сообщить(Назв+"Запустите обработку в модальном режиме!","!"); ВсеОк=0; КонецЕсли; Сп=Форма.Параметр; Если ТипЗначенияСтр(Сп)<>"СписокЗначений" Тогда Сообщить(Назв+"В качестве параметра необходим СписокЗначений!","!"); ВсеОк=0; КонецЕсли; Если ВсеОк=0 Тогда Возврат; КонецЕсли; Таб=ПроверитьПараметр(Сп, "Таблица", ВсеОк, 1, "", "Таблица"); Масштаб=Число(ПроверитьПараметр(Сп, "Масштаб", ВсеОк, 0, -1)); Если ВсеОк=0 Тогда Возврат; КонецЕсли; Состояние("Обработка таблицы..."); Таб.Область().ЦветТекста(0); // Все черное, кроме... // Пробежимся по всем ячейкам и поменяем контроль=авто, // т.е. красный цвет на отрицательных значениях // на черный цвет Для И1=1 По Таб.ВысотаТаблицы() Цикл Для И2=1 По Таб.ШиринаТаблицы() Цикл Обл=Таб.Область(И1,И2,И1,И2); Если Обл.Контроль()=5 Тогда Обл.Контроль(1); ИначеЕсли Обл.Контроль()=6 Тогда Обл.Контроль(3); КонецЕсли; КонецЦикла; КонецЦикла; // Чтобы параметры печати не путались с другими - даем им имя Таб.Опции(,,,,"Как рисунок "+Принтер,,,); // Только книжная ориентация Таб.ПараметрыСтраницы(1,,,5,5,5,5,,,,,Принтер); // Автомасштабирование по ширине, если явно не задан масштаб Если Масштаб>0 Тогда Таб.ПараметрыСтраницы(,Масштаб,,,,,,,,,,); Иначе Таб.ПараметрыСтраницы(,,,,,,,,,1,,); КонецЕсли; // Только 1 экземпляр Таб.ЭкземпляровНаСтранице(1); Таб.КоличествоЭкземпляров(1); // Вперед! Таб.Напечатать(0); КонецПроцедуры Принтер="Send EMail";
Content-Type:
-sDEVICE=pngmono
-bcc
© Kivals 2004-04-30
Источник http://club.shelek.com/