Печать в PDF в фоновом режиме через регламентные задания 1с 8.2 с помощью Yoksel.dll на х64 сервере

Публикация № 90080 12.09.11

Учетные задачи - Учет ТМЦ

Была поставлена задача автоматической рассылки документов на почтовые ящики ответственных лиц.
Был опробован виртуальный принтер PDFСreator - результат отрицательный.
Фоновый режим рассылки документов сервером осуществлен с помощью внешней компоненты Yoksel.dll, которая была зарегистрирована на х32 1с-сервере с помощью команды regsvr32 Yoksel.dll
Ниже приведенные процедуры созданы в общем модуле.
Ссылки на документы, печатные формы которых необходимо разослать ответственным лицам накапливаютя в регистре сведений рдУведомлениеГотовности.
В процедурах показана сама идея автоматического формирования PDF-документов на сервере 1с. Если 1с-сервер х64, то в кластер вносится х32 1с сервер и создается рабочий процесс, в который автоматически перекочевывает фоновое задание и Йоксель запускается и работает физически на х32 сервере.
Процедура УведомлениеГотовности() Экспорт
    
    Запрос = Новый Запрос;
                   
    Запрос.Текст =  "ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    рдУведомлениеГотовности.ОтчетПроизводства КАК ОтчетПроизводства,
                    |    ЗаказНаПроизводствоПродукция.Заказ.Ссылка КАК ЗаказПокупателя
                    |ИЗ
                    |    РегистрСведений.рдУведомлениеГотовности КАК рдУведомлениеГотовности
                    |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыпускПродукции КАК ВыпускПродукции
                    |            ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция
                    |            ПО ВыпускПродукции.Заказ.Ссылка = ЗаказНаПроизводствоПродукция.Ссылка
                    |        ПО рдУведомлениеГотовности.ОтчетПроизводства = ВыпускПродукции.Регистратор
                    |ГДЕ
                    |    рдУведомлениеГотовности.Отправлено = ЛОЖЬ
                    |    И рдУведомлениеГотовности.Обработано = ЛОЖЬ";
        
    ТЗ = Запрос.Выполнить().Выгрузить();
    ТЗ.Сортировать("ЗаказПокупателя Возр,ОтчетПроизводства Убыв");
    Заказ="";
    Для каждого Строчка из ТЗ Цикл
        Если Заказ <> Строчка.ЗаказПокупателя Тогда
            Заказ = Строчка.ЗаказПокупателя;
            Если НЕ ПустаяСтрока(Строчка.ОтчетПроизводства) Тогда 
                //ТЗ1 = Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
                рдОбработкаПроведенияОтчетПроизводстваЗаСменуРассылкаУведомленийГотовности(Строчка.ОтчетПроизводства);
            КонецЕсли;
        КонецЕсли;    
    КонецЦикла;

КонецПроцедуры    

  
Процедура рдОбработкаПроведенияОтчетПроизводстваЗаСменуРассылкаУведомленийГотовности(Источник) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка",Источник);
    Запрос.УстановитьПараметр("Услуга","Услуга");
    Запрос.УстановитьПараметр("ПустойОтчет",Документы.ОтчетПроизводстваЗаСмену.ПустаяСсылка());
    
    Запрос.Текст =  "ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    ЗаказНаПроизводствоПродукция.Заказ.Ссылка КАК ЗаказПокупателя
                    |ПОМЕСТИТЬ ТЕМП
                    |ИЗ
                    |    РегистрНакопления.ВыпускПродукции КАК ВыпускПродукции
                    |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция
                    |        ПО ВыпускПродукции.Заказ.Ссылка = ЗаказНаПроизводствоПродукция.Ссылка
                    |ГДЕ
                    |    ВыпускПродукции.Регистратор.Ссылка = &Ссылка
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    ЗаказыПокупателей.Номенклатура КАК Номенклатура,
                    |    ЗаказыПокупателей.ХарактеристикаНоменклатуры КАК Характеристика,
                    |    ЗаказыПокупателей.Количество КАК КолЗаказ,
                    |    0 КАК КолВыпуск,
                    |    &ПустойОтчет КАК Выпуск,
                    |    ТЕМП.ЗаказПокупателя КАК Заказ
                    |ПОМЕСТИТЬ ТЗЗаказ
                    |ИЗ
                    |    РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
                    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТЕМП КАК ТЕМП
                    |        ПО ЗаказыПокупателей.Регистратор = ТЕМП.ЗаказПокупателя
                    |ГДЕ
                    |    ЗаказыПокупателей.Номенклатура.ВидНоменклатуры.Наименование <> &Услуга
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    ВыпускПродукции.Продукция,
                    |    ВыпускПродукции.ХарактеристикаПродукции,
                    |    0 КАК КолЗаказ,
                    |    ВыпускПродукции.Количество КАК КолВыпуск,
                    |    ВыпускПродукции.Регистратор КАК Выпуск,
                    |    ЗаказНаПроизводствоПродукция.Заказ.Ссылка КАК Заказ
                    |ПОМЕСТИТЬ ТЗВыпуск
                    |ИЗ
                    |    РегистрНакопления.ВыпускПродукции КАК ВыпускПродукции
                    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция
                    |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТЕМП КАК ТЕМП
                    |            ПО ЗаказНаПроизводствоПродукция.Заказ.Ссылка = ТЕМП.ЗаказПокупателя.Ссылка
                    |        ПО ВыпускПродукции.Заказ.Ссылка = ЗаказНаПроизводствоПродукция.Ссылка
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |    ТЗЗаказ.Номенклатура КАК Номенклатура,
                    |    ТЗЗаказ.Характеристика КАК Характеристика,
                    |    ТЗЗаказ.КолЗаказ КАК КолЗаказ,
                    |    ТЗВыпуск.КолВыпуск КАК КолВыпуск,
                    |    ТЗВыпуск.Выпуск КАК Выпуск,
                    |    ТЗЗаказ.Заказ КАК Заказ
                    |ИЗ
                    |    ТЗЗаказ КАК ТЗЗаказ
                    |        ЛЕВОЕ СОЕДИНЕНИЕ ТЗВыпуск КАК ТЗВыпуск
                    |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену
                    |            ПО ТЗВыпуск.Выпуск = ОтчетПроизводстваЗаСмену.Ссылка
                    |        ПО ТЗЗаказ.Номенклатура = ТЗВыпуск.Продукция
                    |            И ТЗЗаказ.Характеристика = ТЗВыпуск.ХарактеристикаПродукции";

           
    
    //ТЗ = Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
//Возврат;
    Выборка = Запрос.Выполнить().Выбрать();

    Отсылать = Ложь;
    Пока Выборка.Следующий() Цикл
        Если (Выборка.КолВыпуск = Выборка.КолЗаказ) И (Выборка.КолЗаказ<>0) Тогда
            Отсылать = Истина;
        иначе    
            Отсылать = Ложь;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Результат = Ложь;
    Если Отсылать Тогда
        //Результат = Истина;
        Результат = ОтправитьУведомление(Выборка.Заказ,Источник);
    КонецЕсли;
    
    СтрокаРегистра = РегистрыСведений.рдУведомлениеГотовности.СоздатьМенеджерЗаписи();
    СтрокаРегистра.ОтчетПроизводства = Источник;
    СтрокаРегистра.Отправлено = Результат;
    СтрокаРегистра.Обработано = Истина;

    Попытка
        СтрокаРегистра.Записать();
    Исключение    
    КонецПопытки;    

КонецПроцедуры

Функция ОтправитьУведомление(Документ,ОтчетПр)
    
    ДокОбъект = Документ.ПолучитьОбъект();
    
    //Удалим pdf и flg оставшийся с прошлого раза
    ИмяФайла = "1c_notify.pdf";
    ПолноеИмяФайла = КаталогВременныхФайлов() + ИмяФайла;
    УдалитьФайлы(ПолноеИмяФайла);
    
    ИмяФлага = "1c_notify.flg";
    ПолноеИмяФлага = КаталогВременныхФайлов() + ИмяФлага;
    УдалитьФайлы(ПолноеИмяФлага);
        
    ПрофильЭлектроннойПочты = ПолучитьПрофильЭлектроннойПочты();
    Если ПрофильЭлектроннойПочты = Неопределено Тогда
        Возврат Ложь;
    КонецЕсли;    
    
    АдресНазначения = ксОбщийМодуль.ПолучитьПочтуПоСотруднику(ДокОбъект.ксОсновнойИнженерКонсультант);
    Если ПустаяСтрока(АдресНазначения) Тогда 
        ЗаписьЖурналаРегистрации("Не указан email у " + ДокОбъект.ксОсновнойИнженерКонсультант + ". Отправка сообщений указанному получателю не возможна!", УровеньЖурналаРегистрации.Ошибка, , ,"Уведомление");
        Возврат Ложь;
    КонецЕсли;
        
    //Создадим новое письмо на указаный адрес
    Письмо = Новый ИнтернетПочтовоеСообщение;
    Письмо.Отправитель = "1c@ridan.ru";
    Письмо.ИмяОтправителя = "ЗАО Ридан (отдел отгрузки)";
    Письмо.Получатели.Добавить(АдресНазначения);
    Письмо.Получатели.Добавить("ryuchin_a@ridan.ru");
        
    Письмо.Тема = "Уведомление о готовности";
    Письмо.Тексты.Добавить(Строка(ОтчетПр) + "
        |Уведомление об готовности выпуска для " + ДокОбъект.Контрагент + " по счету " + СокрЛП(ДокОбъект.Ссылка.Номер) + " от " + Формат(ДокОбъект.Ссылка.Дата, "ДФ=dd.MM.yy") + " находится во вложении");
    ПолноеИмяФайла = ФайлВложенияЙоксель(ДокОбъект,ОтчетПр);
    Письмо.Вложения.Добавить(ПолноеИмяФайла, "Уведомление о готовности");
    ИПочта = Новый ИнтернетПочта;
    
    Попытка
        ИПочта.Подключиться(ПрофильЭлектроннойПочты);
        ИПочта.Послать(Письмо);
        ИПочта.Отключиться();
        ЗаписьЖурналаРегистрации("Уведомление об готовности выпуска для " + ДокОбъект.Контрагент + " по счету " + СокрЛП(ДокОбъект.Ссылка.Номер) + " от " + Формат(ДокОбъект.Ссылка.Дата, "ДФ=dd.MM.yy") + " отправлено " + ДокОбъект.ксОсновнойИнженерКонсультант, УровеньЖурналаРегистрации.Информация, , ,"Уведомление");
        
        //ЗаписьЖурналаРегистрации("Удалить "+ПолноеИмяФайла, УровеньЖурналаРегистрации.Информация, , ,"Уведомление");
        //УдалитьФайлы(ПолноеИмяФайла);        
        Возврат Истина;
    Исключение
        ЗаписьЖурналаРегистрации("Необходимо проверить настройки электронной почты! Отправка невозможна! (" + ОписаниеОшибки() + ")", УровеньЖурналаРегистрации.Ошибка, , ,"Уведомление");
        Возврат Ложь;
    КонецПопытки;
    
КонецФункции

Функция ПолучитьПрофильЭлектроннойПочты()
    
    ПрофильПочты = Новый ИнтернетПочтовыйПрофиль;
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("УчетнаяЗапись", Константы.ксУчетнаяЗаписьЭлектроннойПочты.Получить());
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    УчетныеЗаписиЭлектроннойПочты.SMTPСервер,
    |    УчетныеЗаписиЭлектроннойПочты.ПортSMTP,
    |    УчетныеЗаписиЭлектроннойПочты.ЛогинSMTP,
    |    УчетныеЗаписиЭлектроннойПочты.ПарольSMTP,
    |    УчетныеЗаписиЭлектроннойПочты.ТребуетсяSMTPАутентификация,
    |    УчетныеЗаписиЭлектроннойПочты.АдресЭлектроннойПочты,
    |    УчетныеЗаписиЭлектроннойПочты.Логин,
    |    УчетныеЗаписиЭлектроннойПочты.Пароль,
    |    УчетныеЗаписиЭлектроннойПочты.ВремяОжиданияСервера
    |ИЗ
    |    Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
    |ГДЕ
    |    УчетныеЗаписиЭлектроннойПочты.Ссылка = &УчетнаяЗапись";
    Результат = Запрос.Выполнить();
    
    ЭлектроннаяПочта = Результат.Выбрать();
    Если ЭлектроннаяПочта.Следующий() Тогда
        
        Если ЭлектроннаяПочта.ТребуетсяSMTPАутентификация Тогда
            
            ПрофильПочты.АутентификацияSMTP = СпособSMTPАутентификации.Login;
            ПрофильПочты.ПользовательSMTP = ЭлектроннаяПочта.ЛогинSMTP;
            ПрофильПочты.ПарольSMTP = ЭлектроннаяПочта.ПарольSMTP;
            
        Иначе
            
            ПрофильПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
            
        КонецЕсли;
        
        ПрофильПочты.АдресСервераSMTP = ЭлектроннаяПочта.SMTPСервер;
        ПрофильПочты.ПортSMTP = ЭлектроннаяПочта.ПортSMTP;
        ПрофильПочты.ВремяОжидания = ЭлектроннаяПочта.ВремяОжиданияСервера;
        
        Возврат ПрофильПочты;
        
    Иначе
        
        ЗаписьЖурналаРегистрации("Не удалось получить учетную запись электронной почты - Отправка сообщений не возможна!", УровеньЖурналаРегистрации.Ошибка, , ,"Уведомление");
                 
        Возврат Неопределено;
        
    КонецЕсли;
    
КонецФункции

Функция ПечатьУведомления(СсылкаНаОбъект,ОтчетПр)
    
    НомерПечать = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УВЕДОМЛЕНИЕ_ОБ_ОТГРУЗКЕ";
    
    Макет = ПолучитьОбщийМакет("УведомлениеГотовности");
    Обл   = Макет.ПолучитьОбласть("Шапка");
    
    Обл.Параметры.Заголовок = "Уведомление о готовности к отгрузке " + НомерПечать + " от " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
    Обл.Параметры.Плательщик = "Плательщик: " + СсылкаНаОбъект.Контрагент.Наименование;
    Обл.Параметры.Уведомление = "Информируем Вас, что оборудование по Счету №" + НомерПечать + " от " + Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy") + Символы.ПС + "готово к отгрузке по следующим позициям:";
    ТабДокумент.Вывести(Обл);
    
    НомерСтроки = 1;
    Обл = Макет.ПолучитьОбласть("Строка");
    Для Каждого ТекСтрока ИЗ СсылкаНаОбъект.Товары Цикл
        
        Обл.Параметры.НомерСтроки = НомерСтроки;
        Обл.Параметры.Товар = ТекСтрока.Номенклатура.НаименованиеПолное + ", расчет " + ТекСтрока.ксРасчет;
        Обл.Параметры.Единица = ТекСтрока.ЕдиницаИзмерения;
        Обл.Параметры.Количество = ТекСтрока.Количество;
        Обл.Параметры.ДатаОтгрузки =  Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
        //Обл.Параметры.ДатаОтгрузки =  Формат(ОтчетПр.Дата, "ДФ=dd.MM.yyyy");
        ТабДокумент.Вывести(Обл);
        НомерСтроки = НомерСтроки + 1;
        
    КонецЦикла;
    
    Обл = Макет.ПолучитьОбласть("Подвал");
    Обл.Параметры.УсловияПоставки = СсылкаНаОбъект.ДополнениеКАдресуДоставки;
    ТабДокумент.Вывести(Обл);
    
    ТабДокумент.АвтоМасштаб = Истина;
    ТабДокумент.ИмяПринтера = "1c_notifyer";

    Возврат ТабДокумент;
    
КонецФункции

Функция ФайлВложенияЙоксель(пСтр,ОтчетПр)
    
    ИмяФайла = "1c_notify.pdf";
    ПолноеИмяФайла = КаталогВременныхФайлов() + ИмяФайла;
    ИмяФлага = "1c_notify.flg";
    ПолноеИмяФлага = КаталогВременныхФайлов() + ИмяФлага;

    //СтруктураПараметров = новый структура("ИмяФайла",ПолноеИмяФайла);
    
    ТабДокумент = ПечатьУведомления(пСтр.Ссылка,ОтчетПр);
    ПолноеИмяФайла = Йоксель_СохранитьОтчётВПДФ(ТабДокумент,ПолноеИмяФайла);
    
    УдалитьФайлы(ПолноеИмяФлага);
    
    Возврат ПолноеИмяФайла;
    
КонецФункции
// Функция формирует файлы для отправки по электронной почте с помощью внешней компоненты Yoksel.dll
//
Функция Йоксель_СохранитьОтчётВПДФ(ТабДок, ИмяФайла)//Путь)
    Попытка
        //ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "Yoksel.dll");
        Йоксель      = ПолучитьCOMОбъект("","Йоксель");
        КонвертерPDF = Йоксель.СоздатьГрафическийКонвертерPDF();
    Исключение
        ЗаписьЖурналаРегистрации(ОписаниеОшибки(), УровеньЖурналаРегистрации.Ошибка, , ,"Уведомление");
        //Предупреждение("Не удалось загрузить внешнюю компоненту Yoksel! Сообщите администратору системы!", 20);
        Возврат Неопределено;
    КонецПопытки;
    ТабДок.Записать(КаталогВременныхФайлов()+ "1c_notify.xls", ТипФайлаТабличногоДокумента.XLS97);
    
    // Конвертируем временный файл в формат pdf
    Попытка
        Таб = Йоксель.СоздатьТабличныйДокумент();
        Таб.Открыть(КаталогВременныхФайлов()+ "1c_notify.xls", "2");
        КонвертерPDF.Документ = Таб;
        КонвертерPDF.КоличествоБитНаПиксел = 24; //1, 4, 8, 24
        //КонвертерPDF.ПолеСлева = 1134; // в твипах (1 твип = 1/567 см)
        КонвертерPDF.ЗаписатьВФайл(ИмяФайла);
    Исключение
        УдалитьФайлы(КаталогВременныхФайлов()+ "1c_notify.xls");
        ЗаписьЖурналаРегистрации(ОписаниеОшибки(), УровеньЖурналаРегистрации.Ошибка, , ,"Уведомление");
        //Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
        Возврат Неопределено;
    КонецПопытки;

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. AER 45 12.09.11 14:11 Сейчас в теме
Была поставлена задача автоматической рассылки документов на почтовые ящики ответственных лиц.
Был опробован виртуальный принтер PDFСreator - результат отрицательный.
Фоновый режим рассылки документов сервером осуществлен с помощью внешней компоненты Yoksel.dll, которая была зарегистрирована на х32 1с-сервере с помощью команды regsvr32 Yoksel.dll
Ниже приведенные процедуры созданы в общем модуле.
Ссылки на документы, печатные формы которых необходимо разослать ответственным лицам накапливаютя в регистре сведений рдУведомлениеГотовности.
В процедурах показана сама идея автоматического формирования PDF-документов на сервере 1с. Если 1с-сервер х64, то в кластер вносится х32 1с сервер и создается рабочий процесс, в который автоматически перекочевывает фоновое задание и Йоксель запускается и работает физически на х32 сервере.


Перейти к публикации

1. sytkosa 119 12.09.11 14:11 Сейчас в теме
(0)
Был опробован виртуальный принтер PDFСreator - результат отрицательный.

А чё так :D . У меня все получилось в PDFСreator и почту отправлять при помощи скрипта и всякие дополнительные обработки pdf файлов производить если потребуется
3. пользователь 12.09.11 14:38
(1) Ты на сервере попробуй для начала.
(0) Автор, что скажешь про прозрачные картинки экспортируемые в PDF?
4. cool.vlad4 2 12.09.11 14:41 Сейчас в теме
(3) Могу сказать про свой опыт - картинки непрозрачные, да к тому же еще с рамкой. На форуме сайта yoksel это обсуждалось.(недавно).
5. пользователь 12.09.11 14:55
2. cool.vlad4 2 12.09.11 14:13 Сейчас в теме
А в чем ноухау Yoksel.dll и 1с 8.2? Аналогично Yoksel.dll и 1с 8.1 и Yoksel.dll и 1с 7.7 , примеры которые на ИС есть. ДА и наверняка к вам захочет придратся ;) alexk-is по поводу разукрашки...
6. AER 45 12.09.11 16:13 Сейчас в теме
8SiriuS8 пишет:
А чё так smile:D . У меня все получилось в PDFСreator и почту отправлять при помощи скрипта и всякие дополнительные обработки pdf файлов производить если потребуется

PDFCreator у меня не работает на сервере. Т.е. формирование доков самим сервером в фоновом задании.
От лица пользователя интерактивно и у меня работает.
7. AER 45 12.09.11 16:14 Сейчас в теме
cool.vlad4 пишет:

А в чем ноухау Yoksel.dll и 1с 8.2? Аналогично Yoksel.dll и 1с 8.1 и Yoksel.dll и 1с 7.7 , примеры которые на ИС есть. ДА и наверняка к вам захочет придратся ;) alexk-is по поводу разукрашки...


Не нашел как 1с-код раукрасить.
9. cool.vlad4 2 12.09.11 16:52 Сейчас в теме
(7) ссылку, чег-то влом искать, - посмотри сам в профайле у alexk-is. ;)
(8) Бесполезно, как объяснял разработчик yoksel (на этом сайте под ником УжасБухгалтера), - 1С(8-ка) конвертирует картинки при вставке в макет в формат (кажется в bmp), прозрачность которого в yoksel не поддерживается. Выход делать отдельно форму - затем вставлять картинку либо excel, либо в yoksel. Одним словом гемор. Я плюнул на все это, и делаю обычно заранее склейку картинки и фона, затем результат в макет.
8. AER 45 12.09.11 16:16 Сейчас в теме
bomba пишет:
Автор, что скажешь про прозрачные картинки экспортируемые в PDF?

Увы, прозрачности нет. Искал старые версии Йокселя, не нашел.
10. Константин С. 737 13.09.11 11:40 Сейчас в теме
Можно вопрос несколько не по теме.
как yoksel зарегить на машине с 64x, а то моя нехочет это делать. Может она старая?
12. AER 45 20.09.11 08:36 Сейчас в теме
(10) Константин С., В каталоге sysWOW64 regsvr32 yoksel.dll
11. dkprim 5 17.09.11 08:12 Сейчас в теме
печать в формат PDF в фоновом режиме - для меня насущный вопрос. спасибо за предоставленное решение задачи :) ознакомлюсь обязательно.
13. AER 45 20.09.11 08:43 Сейчас в теме
Ну не нравится мне чё то yoksel.dll (непрозрачность, рамка). Буду курить БСП 8.2 и ImageMagick. Как разберусь, решение выложу. Всем спасибо на оценки.
14. vamleshka 31.10.11 16:27 Сейчас в теме
Извинените пож. а как можно сделать печать документов на принтер фоновым заданием?
15. AER 45 01.11.11 08:51 Сейчас в теме
Разве только на ум приходит вот что
Поставить движок 8.2.14.528
Там команда ВыполнитьПриложение теперь работает на сервере. А админы пускай подумают над командами операционки для вывода на принтер, т.е. скрипт напишут.
16. DMSDeveloper 144 20.12.11 12:12 Сейчас в теме
А в чем проблема пользоваться тем же PDFCreator или BullZip на сервере??? Они же работают как COMобъекты, коотрые доступны на стороне сервера.

COMОбъект (COMObject)
Конструкторы:
По имени приложения

Описание:
Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект.

Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.


Устанавливаем на сервер и работаем в фоновом задании на сервере. Через Com-интерфейс передаем все нужные параметры в принтер и печатаем.

Не хочу хвастаться своим вариантом, поэтому ссылки не привожу - смотрите в профиле, там есть обработка по работе с PDFCreator через COM-интерфейс.
17. AER 45 20.12.11 14:35 Сейчас в теме
(16) Padonak-XXI, Может теперь и доступны. Когда я делал 14-й релиз еще не вышел.
18. DMSDeveloper 144 20.12.11 16:05 Сейчас в теме
AER пишет:

(16) Padonak-XXI, Может теперь и доступны. Когда я делал 14-й релиз еще не вышел.


14 релиз чего? Если 8.2.14 то он никак не связан с доступностью COM-объектов на стороне сервера
Эта возможность была добавлена еще в 8.1.10
19. AER 45 18.01.12 06:44 Сейчас в теме
Вышла наконец то 15-я платформа. Реализована конвертация из Табличного документа в PDF. Так что наверно эта тема уже не актуальна. Всем спасибо за оценки.
20. Genneral 21.04.12 23:41 Сейчас в теме
Вышла наконец то 15-я платформа. Реализована конвертация из Табличного документа в PDF. Так что наверно эта тема уже не актуальна. Всем спасибо за оценки.

Многие ещё на 8.1 сидят, так что актуально.

Может я чего не понял, но как этот кусочек вашего кода выполняется на сервере:
ТабДок.Записать(КаталогВременныхФайлов()+ "1c_notify.xls", ТипФайлаТабличногоДокумента.XLS97);

Даже на 15 платформе в синтаксис-помошнике написано:
ТабличныйДокумент (SpreadsheetDocument)
Записать (Write)

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

По поводу работы с 64-битным сервером, на форуме Йокселя есть такой вариант, сам пока не пробовал, щас только эту тему изучаю
адрес темы http://yoksel.net.ru/forum/topic.php?id=153

Спасибо за наводку. В результате для того что бы заработало нужно проделать
следующее:
1. создаем раздел с именем "{84A3E023-8F84-4a8a-8CD9-22425B5DA137}" в ветке HKEY_CLASSES_ROOT\wow6432node\appid. Для этого раздела создаем строковое свойство "DllSurrogate" с пустым значением.
2. Находим HKEY_CLASSES_ROOT\wow6432node\CLSID\{84A3E023-8F84-4a8a-8CD9-22425B5DA137} и добавляем строковое свойство "AppID" со значением "{84A3E023-8F84-4a8a-8CD9-22425B5DA137}".


А за наводку про Yoksel Спасибо,плюсанул.
21. Crazy_Max 80 20.08.19 11:20 Сейчас в теме
Может быть этот параметр изменился со сменой версии Yoksel, но на текущий момент, используя последнюю версию библиотеки, я нашел ошибку в строке:
Таб.Открыть(КаталогВременныхФайлов()+ "1c_notify.xls", "2");

Вместо параметра "2" (строка) нужно передавать 2 (число).
Оставьте свое сообщение

См. также

Наборы в конфигурации 1С:Управление нашей фирмой. Формирование и продажа наборов

Оптовая торговля Учет ТМЦ Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Управленческий учет Бесплатно (free)

В данной статье рассмотрим функционал динамического формирования наборов в конфигурации 1С: УНФ. Почему динамические? Потому что в системе не хранится остаток набора, хранится остаток самих элементов набора. Поэтому не стоит путать наборы с комплектами.

17.03.2023    432    Koder_Line    1    

1

Автоматизация службы доставки с помощью решений на платформе 1С

Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Бесплатно (free)

Сегодня мы с Вами рассмотрим, какие системы программы 1С Предприятие подходят для автоматизации бизнес-процессов служб доставки, логистики, перевозок, а еще, которые в различной степени удовлетворяют данным потребностям. В частности, в список таких продуктов входят: · Управление перевозками «1С: TMS Логистика»; · Встроенный сервис «1С: Доставка».

07.03.2023    1205    Koder_Line    1    

5

Почему может разойтись стоимостной учет товара между УТ 11 и БП 3

Учет ТМЦ Механизмы типовых конфигураций Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бесплатно (free)

Между Управлением торговлей 11.5 и Бухгалтерией предприятия 3.0 настроена синхронизация для обмена данными из Торговли в Бухгалтерию. Настройки обеих программ должны обеспечивать равенство стоимостной оценки товаров (счет 41) между двумя программами. Пришлось столкнуться с ситуацией, когда равенство было нарушено. О причинах возникшей разницы и способе ее решения речь в статье.

21.02.2023    585    gull22    1    

3

Вариант автоматизации складских операций

Учет ТМЦ Платформа 1С v8.3 Россия Управленческий учет Бесплатно (free)

В статье описана реализация простой, но в тоже время универсальной и эффективной идеи. Выводим инвентаризацию на другой уровень.

20.02.2023    728    smolpochta    2    

1

Обособленное обеспечение заказов в конфигурации 1С: ERP

Монитор заказов Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

В данной статье рассматривается обеспечение складских потребностей, сформированных заказами разных типов в конфигурации базы 1С: ERP.

09.02.2023    2598    Koder_Line    1    

15

Контроль остатков в конфигурации 1С: УНФ

Учет ТМЦ Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Управленческий учет Бесплатно (free)

В статье будет рассмотрено то, как в конфигурации «1С:Управление нашей фирмой» проводить контроль остатков УНФ, будут приведены и основные, теоретические, внутрисистемные данные, и разобраны примеры проведения данной процедуры.

03.02.2023    1573    Koder_Line    2    

5

Управление запасами – инструменты 1С:ERP

Учет ТМЦ Внедрение ИТ-системы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

На митапе «1С:ERP Важные аспекты комплексной автоматизации» выступил ведущий аналитик Инфостарта Евгений Саввиных. Евгений рассказал, какие механизмы 1С:ERP позволяют планировать развитие производства с учетом рисков и ограничений, накладываемых складскими и производственными мощностями, графиком поставок сырья и обеспечением денежных средств в компании.

10.01.2023    2301    user799587    8    

23

Поступление товара в 1С:Управление торговлей 11

Инструкции пользователю Учет ТМЦ Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Бесплатно (free)

В данной статье рассмотрим, как в программе 1С: Управление Торговлей 11 создать документы Заказ поставщику, Поступление товара и Счет-фактуру.

23.11.2022    2584    Koder_Line    0    

1

Списание и учет запчастей автомобиля в 1С: Бухгалтерии ред. 3.0

Производство готовой продукции (работ, услуг) Учет ТМЦ Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

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

15.09.2022    10207    Koder_Line    2    

1

Управление товарным ассортиментом в 1С: УТ 11

Оптовая торговля Учет ТМЦ Платформа 1С v8.3 1С:Управление торговлей 11 Управленческий учет Бесплатно (free)

В статье рассмотрим, как в конфигурации 1С: УТ 11 работать с формированием торгового ассортимента и планированием ассортимента товаров.

06.07.2022    2006    Koder_Line    1    

3

Как мы адресный склад внедряли на КА 2

Учет ТМЦ Внедрение ИТ-системы Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Бесплатно (free)

Краткая история внедрения адресного склада на 1С:Комплексная автоматизация 2. Какие механизмы использовали и что доработали, с какими проблемами столкнулись. Поступила нам задачка по переводу оптового склада с ТиС 7.7 на 1С:КА. Нужно организовать: адресный склад и учет товаров по партиям. Бизнес-процесс достаточно стандартный: это прием заказ от покупателя, объединение заказов под отгрузку, сборка заказов на складе и загрузка все этого в авто, с последующим оформлением реализации и всех печатных документов. Схема вроде стандартная и поддерживается в типовом решении КА2, но не все так просто, как кажется в начале…

05.07.2022    3555    pro-rok    55    

34

Норма расхода в 1С:ЕRP

Учет доходов и расходов Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бухгалтерский учет Бесплатно (free)

Здравствуйте, коллеги! В статье рассмотрим, как в конфигурации 1С:ERP оформляется нормирование затрат. Расскажем про нормы расхода ГПМ в РФ.

28.06.2022    1283    Koder_Line    0    

0

Остатки ТМЦ организации в 1С:Управление торговлей 11

Учет ТМЦ Платформа 1С v8.3 1С:Управление торговлей 11 Управленческий учет Бесплатно (free)

Здравствуйте! В статье рассмотрим, как в конфигурации 1С:Управление торговлей 11 работать с документами ввода остатков организации в различных случаях.

18.06.2022    2580    Koder_Line    0    

2

Пример резерва под обесценение запасов в ERP 2.5 (ФСБУ 5)

Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Бухгалтерский учет Налоговый учет Бесплатно (free)

В данной статье будет рассмотрена методика работы с резервами под обесценение запасов в ERP 2.5 на примере.

14.03.2022    9492    Shining_ninja    14    

54

Сантехник по 1С. Слипшиеся пельмени. 2 часть

О жизни Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Механизм интеркампани в современных УТ, КА и ERP позволяет производить товародвижение между своими организациями, отражать одним документом "Передача товаров". И это хорошо! Но не обошлось без ложки дегтя. Об этом размышляет Сантехник по 1С, персонаж вымышленный, но хорошо узнаваемый.

20.01.2022    1579    SerG_Mur    5    

3

Учет мест хранения в программе 1С:Документооборот

Учет ТМЦ Платформа 1С v8.3 1С:Документооборот Россия Бесплатно (free)

Приветствую, коллеги! В статье рассмотрим новый функционал, недавно выпущенный в 1С – упрощенный учет мест хранения оригиналов документов.

17.01.2022    1468    Koder_Line    0    

1

Сантехник по 1С. Интеркампани. 1 часть

Учет ТМЦ О жизни Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Бесплатно (free)

Механизм интеркампани в современных УТ, КА и ERP позволяет производить товародвижение между своими организациями, отражать одним документом "Передача товаров". И это хорошо! Но не обошлось без ложки дегтя. Об этом размышляет Сантехник по 1С, персонаж вымышленный, но хорошо узнаваемый.

17.12.2021    1394    SerG_Mur    5    

3

1С:ERP: учет в двух единицах измерения на примере ювелирного производства

Производство готовой продукции (работ, услуг) Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Ювелирная промышленность и торговля Бесплатно (free)

1С:ERP - флагман программных продуктов фирмы 1С. Это универсальный продукт, позволяющий закрывать основные (ключевые) потребности при автоматизации среднего и крупного предприятия. Несмотря на универсальность 1С:ERP, в типовом решении отсутствует учет в двух единицах измерения. Антон Мордовин – архитектор систем на базе «1С» Внедренческого центра «Раздолье» - расскажет о примере реализации такого проекта на крупном ювелирном производстве.

20.11.2021    5604    1СERP    19    

26

1C: Розница. Блок планирования и проведения частичных инвентаризаций товарных остатков

Учет ТМЦ Платформа 1С v8.3 1С:Розница 2 Бесплатно (free)

Приветствую, коллеги! Сегодня говорим о блоке 1С:Розницы, который отвечает за установку планов, а также проведение частичных инвентаризация по остаткам товаров. Инвентаризация по остаткам товаров– довольно трудоёмкий и затратный по времени процесс. Но проводить его нужно в обязательном порядке для каждого розничного магазина, так как процедура инвентаризации повышает точность учёта товаров и даёт возможность оценивать спрос на тот или иной товар. Благодаря процедуре инвентаризации продавец делает более точный заказ поставщику. Как раз по этим причинам в любых розничных магазинах проводят инвентаризацию товара, чтобы узнать точное количество остатков продукции. Конфигурация 1С:Розница позволяет ускорить процесс проведения инвентаризации при помощи фильтрации продукции, а также возможности выбрать или не выбрать оформление ордера для пересчётов.

25.10.2021    1473    Koder_Line    0    

3

Маркировка молочной продукции в 1С:Бухгалтерии

Учет ТМЦ Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Пищевая промышленность Россия Бухгалтерский учет Бесплатно (free)

Процесс маркировки товаров в нашей стране запущен уже достаточно давно, но почему-то постоянно возникают различного рода проблемы. То сервера у Честного знака не готовы, то оборудования у участников рынка недостаточно, то... Впрочем, сейчас не об этом. Массовая маркировка, судя по всему, неизбежна, поэтому говорить о ее плюсах и минусах (и проблемах) смысла нет. Нужно адаптироваться к тому, что уже есть.

21.10.2021    5495    VCPro    9    

12

Учет выявленных расхождений по количеству и цене товара при поступлении от поставщика в 1C:Розница

Учет ТМЦ Платформа 1С v8.3 1С:Розница 2 Россия Управленческий учет Бесплатно (free)

В данной статье будет рассмотрен блок по учёту выявленных расхождений в количестве и качестве при поступлении товара от поставщика в конфигурации 1С:Розница.

10.09.2021    7281    Koder_Line    1    

1

Учет спецоснастки в 1С:Бухгалтерии 3.0

Учет ТМЦ Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бесплатно (free)

В данной статье будет рассмотрена спецоснастка: что это такое, как «проводить» её через систему 1С, а также тонкости бухгалтерского учёта спецоснастки в 1С. Спецоснастка – это некоторый оборотный актив, который состоит в материалах. Спецоснастка в эксплуатации является уникальным оборудованием, которое необходимо в учреждениях и на производствах, и считается средством для труда.

23.04.2021    3567    Koder_Line    0    

0

Механизмы расчета резервов по товарам организаций

Закрытие периода Учет ТМЦ Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Бесплатно (free)

Если Вы используете подсистему Интеркампани в конфигурациях УТ 11.4, КА 2.4 или ЕРП 2.4, и перед закрытием месяца обнаружили наличие отрицательных остатков по регистру накопления «ТоварыОрганизаций», это, как правило, говорит о том, что придется потратить значительное количество времени на устранение ошибок. Разумеется, величина проблемы зависит от количества организаций и складов, объема документов, наличия учета товаров в разрезе ГТД и других аспектов. Но в любом случае решить эту проблему быстро, получается далеко не всегда.

28.12.2020    5484    ids79    11    

32

"Особенности" коэффициентов единиц измерения в 1С: Управление нашей фирмой

Учет ТМЦ Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Управленческий учет Бесплатно (free)

«Особенности» использования коэффициентов в единицах измерения в в 1С: Управление нашей фирмой. Можно ли их изменить после ведения учета? И к чему это может привести.

09.11.2020    10932    Torin    7    

13

Как в 1С: Бухгалтерии предприятия 8 правильно вести учет горючего по путевым листам

Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Бесплатно (free)

В статье мы проанализируем вынесенную в заголовок проблему, рассмотрев все нюансы учета горючего по путевым листам на реальном примере в программе 1С: Бухгалтерия Предприятия 8.

06.11.2020    4834    Koder_Line    7    

4

Акт о расхождениях в 1С: Бухгалтерии 3.0

Учет ТМЦ Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бесплатно (free)

В этой статье поговорим о ситуации, когда приобретаем по документу одно количество товара, а на поверку оказывается совсем другое. В такой ситуации нам требуется оформить разницу между фактическим поступлением и документом на поступление товара. Для отображения таких операций в программе 1С: Бухгалтерия 8.3 предусмотрен документ «Акт о расхождениях». Такой функционал в конфигурации 1С 8.3 появился с обновлением 3.0.76.61.

30.09.2020    6376    Koder_Line    0    

1

Team: Торговля + Склад + Производство (Мобильное приложение на платформе 1С)

Мобильная разработка Производство готовой продукции (работ, услуг) Учет ТМЦ Мобильная платформа Управленческий учет Бесплатно (free)

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

14.09.2020    4243    naypak    10    

5

Алгоритм резервирования товара на складе УНФ (1.6.21.114)

Учет ТМЦ Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Россия Управленческий учет Бесплатно (free)

Цель: Резервировать товар, которого нет на складе, под определенный «Заказ покупателя». Ситуация, когда нет возможности создавать на основании «Заказа покупателя» - «Заказ поставщику» на то количество товара, которое указано в «Заказе покупателя». А также, когда необходимый товар заказывается у разных поставщиков исходя из соображений Клиента. P.s. Прочитав много источников, не нашел для себя четкого решения моей конкретной задачи, надеюсь, данная статья будет кому-то полезна.

29.08.2020    2664    iD1n    2    

2

Учет вспомогательного инструмента с учетом изностойкости

Учет ТМЦ Платформа 1С v8.3 1С:Управление производственным предприятием Россия Управленческий учет Бесплатно (free)

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

01.07.2020    4662    Aprsoft    0    

6

Как в 1С отражаются товары "в пути"

Оптовая торговля Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Бесплатно (free)

При ведении бизнеса на предприятиях любого профиля, размера и форм собственности часто возникает следующая ситуация. 1. Предприятие закупает некую номенклатуру у поставщика для дальнейшей перепродажи или собственного использования. 2. Номенклатура относится к категории материальных объектов, которые можно транспортировать. Понятно, что под это определение попадают товары, материалы, сырье, полуфабрикаты, но не услуги, работы и объекты недвижимости. 3. Имеется «временной разрыв в 1С» между моментом перехода прав собственности на товар (так будем называть упомянутую в пункте 2 номенклатуру) и поступлением товара на склад предприятия. 4. Правила и политика учета на предприятии диктуют необходимость отразить «временной разрыв в 1С» в учетной системе. Строго говоря, такой «временной разрыв в 1С» между моментом подписания накладной (переход права собственности) и моментом физического поступления товара на склад существует всегда. Но не всегда имеет смысл отражать «временной разрыв в 1С» в учетной системе.

09.05.2020    21182    Koder_Line    0    

5

НДС предъявленный. Возмещение НДС при смене режима налогообложения

Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия ЕНВД НДС Бесплатно (free)

Мы недавно внедрили финансовый учет на ERP в крупном холдинге и готовы поделиться всеми выползшими проблемами, от ввода начальных остатков до закрытия месяца. Вот первая статья на эту тему.

16.04.2020    1870    n.saltsina    1    

3

Учет многолетних трав в 1С: ЕРП АПК

Учет ТМЦ Производство готовой продукции (работ, услуг) Платформа 1С v8.3 1С:ERP Управление предприятием 2 Сельское хозяйство и рыболовство Россия Бухгалтерский учет Управленческий учет Бесплатно (free)

Одним из самых длительных процессов производства в полеводстве является выращивание многолетних трав. Ключевой особенностью учета себестоимости в данном случае является распределение затрат первого года (как правило, это все затраты до первого укоса в год посева, либо полностью все затраты в год посева, если в этом году не было укоса). И распределяются они согласно документу "Методические рекомендации по бухгалтерскому учету затрат и выхода продукции в растениеводстве" (утв. Минсельхозом РФ 22.10.2008) равными долями на все годы использования данных посевов.

19.01.2020    5022    AXoxol    6    

8

Виды запасов: что это, и что делать, чтобы все было хорошо

Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Бесплатно (free)

Учет товаров по видам запасов, особенности его реализации в программах 1C:Управление торговлей 11, Комплексная автоматизация 2 и 1C^ERP, а также отличия от "традиционного" партионного учета.

25.11.2019    22389    user1114962    20    

47