Кичигин Константин

1
Рейтинг

mib338956
Константин Кичигин



  •   Регистрация: 31.03.2009 (15 лет назад)

  •   Был(а) на сайте: 04.12.2020

Подписчики 1

Рейтинг 1

Перезапуск сервера печати

Инструменты и обработки Системный администратор Windows Абонемент ($m) Архив с данными Инструменты администратора БД

bat файлик для перезапуска диспетчера печати, работает на Windows.

1 стартмани

01.07.2016    7583    4    mib338956    3       

1

Комментарии

AdminВнешняя печатная форма печатается только под полными правами#14 20.08.20 10:33
В печатной форме:
-----
мВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
-----

Прикрепленные файлы:

4.PNG
AdminВнешняя печатная форма печатается только под полными правами#10 20.08.20 9:31
(8)Подскажите пожалуйста где этот регистр?
AdminВнешняя печатная форма печатается только под полными правами#9 20.08.20 9:28
(8)Похоже тут тоже есть ссылка на валюту регламентн. учёта
AdminВнешняя печатная форма печатается только под полными правами#7 20.08.20 9:25
Вот собственно модуль обработки:
Код
-----
Перем мВалютаРегламентированногоУчета Экспорт;

Функция Печать() Экспорт   

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

// Функция формирует табличный документ с печатной формой накладной,
// разработанной методистами
//
// Возвращаемое значение:
//  Табличный документ - печатная форма накладной
//
Функция ПечатьРеализация() Экспорт
   
   ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
   Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
      ВыводитьКоды    = Истина;
      Колонка         = "Артикул";
      ТекстКодАртикул = "Артикул";
   ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
      ВыводитьКоды    = Истина;
      Колонка         = "Код";
      ТекстКодАртикул = "Код";
   Иначе
      ВыводитьКоды    = Ложь;
      Колонка         = "";
      ТекстКодАртикул = "Код";
   КонецЕсли;

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Номер,
   |   Дата,
   |   ДоговорКонтрагента,
   |   ДоговорКонтрагента.ВидДоговора КАК ВидДоговораКонтрагента,
   |   ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ДоговорВедениеВзаиморасчетов,
   |   ДоговорКонтрагента.НаименованиеДляПечати КАК ДоговорНаименованиеДляПечати,   
   |   ДоговорКонтрагента.ВыводитьИнформациюОСделкеПриПечатиДокументов КАК ПечататьСделку,   
   |   Контрагент КАК Покупатель,
   |   Организация,
   |   Организация КАК Поставщик,
   |   Ответственный.ФизЛицо.Наименование КАК Отпустил,
   |   ОтпускПроизвел,
   |   СуммаДокумента,
   |   ВалютаДокумента,
   |   УчитыватьНДС,
   |   СуммаВключаетНДС
   |ИЗ
   |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |
   |ГДЕ
   |   РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
   Шапка = Запрос.Выполнить().Выбрать();       
   Шапка.Следующий();
        
   Запрос = Новый Запрос;          
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ВложенныйЗапрос.НомерТЧ,
   |   ВложенныйЗапрос.Номенклатура,
   |   ВложенныйЗапрос.Товар,
   |   ВложенныйЗапрос.Код,
   |   ВложенныйЗапрос.КодАртикул,
   |   СУММА(ВложенныйЗапрос.Количество) КАК Количество,
   |   СУММА(ВложенныйЗапрос.КоличествоМест) КАК КоличествоМест,
   |   ВложенныйЗапрос.Склад КАК Склад,
   |   ВложенныйЗапрос.Характеристика,
   |   ВложенныйЗапрос.ЕдиницаЦены,
   |   ВложенныйЗапрос.ЕдиницаМест,
   |   ВложенныйЗапрос.Серия,
   |   ЕСТЬNULL(СУММА(ВложенныйЗапрос.Количество * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Вес * ВложенныйЗапрос.ЕдиницаИзмерения.Коэффициент), 0) КАК Вес,
   |   ВложенныйЗапрос.ЕдиницаИзмерения,
   |   ЕСТЬNULL(СУММА(ВложенныйЗапрос.Количество * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Объем * ВложенныйЗапрос.ЕдиницаИзмерения.Коэффициент), 0) КАК Объем
   |ИЗ
   |   (ВЫБРАТЬ
   |      ВложенныйЗапросПоТоварам.НомерТЧ КАК НомерТЧ,
   |      ВложенныйЗапросПоТоварам.НомерСтрокиТЧ КАК НомерСтрокиТЧ,
   |      ВложенныйЗапросПоТоварам.Номенклатура КАК Номенклатура,
   |      ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
   |      ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код,
   |      ВложенныйЗапросПоТоварам.Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул,
   |      ВложенныйЗапросПоТоварам.Количество КАК Количество,
   |      ВложенныйЗапросПоТоварам.КоличествоМест КАК КоличествоМест,
   |      ВложенныйЗапросПоТоварам.Склад КАК Склад,
   |      ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
   |      ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест,
   |      ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика,
   |      ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия,
   |      ВложенныйЗапросПоТоварам.ЕдиницаИзмерения КАК ЕдиницаИзмерения
   |   ИЗ
   |      (ВЫБРАТЬ
   |         1 КАК НомерТЧ,
   |         МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтрокиТЧ,
   |         РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
   |         РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |         РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
   |         РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры,
   |         РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |         РеализацияТоваровУслуг.Склад КАК Склад,
   |         СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
   |         СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест
   |      ИЗ
   |         Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
   |      ГДЕ
   |         РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
   |      
   |      СГРУППИРОВАТЬ ПО
   |         РеализацияТоваровУслуг.Склад,
   |         РеализацияТоваровУслуг.Номенклатура,
   |         РеализацияТоваровУслуг.ЕдиницаИзмерения,
   |         РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
   |         РеализацияТоваровУслуг.СерияНоменклатуры,
   |         РеализацияТоваровУслуг.ХарактеристикаНоменклатуры) КАК ВложенныйЗапросПоТоварам
   |   
   |   ОБЪЕДИНИТЬ ВСЕ
   |   
   |   ВЫБРАТЬ
   |      2,
   |      РеализацияТоваровУслуг.НомерСтроки,
   |      РеализацияТоваровУслуг.Номенклатура,
   |      ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)),
   |      РеализацияТоваровУслуг.Номенклатура.Код,
   |      РеализацияТоваровУслуг.Номенклатура."+ ТекстКодАртикул + ",
   |      РеализацияТоваровУслуг.Количество,
   |      NULL,
   |      РеализацияТоваровУслуг.Склад,
   |      РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
   |      NULL,
   |      NULL,
   |      NULL,
   |      РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков
   |   ИЗ
   |      Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
   |   ГДЕ
   |      РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент) КАК ВложенныйЗапрос
   |
   |СГРУППИРОВАТЬ ПО
   |   ВложенныйЗапрос.Склад,
   |   ВложенныйЗапрос.НомерТЧ,
   |   ВложенныйЗапрос.Серия,
   |   ВложенныйЗапрос.Характеристика,
   |   ВложенныйЗапрос.КодАртикул,
   |   ВложенныйЗапрос.Код,
   |   ВложенныйЗапрос.Товар,
   |   ВложенныйЗапрос.Номенклатура,
   |   ВложенныйЗапрос.ЕдиницаМест,
   |   ВложенныйЗапрос.ЕдиницаЦены,
   |   ВложенныйЗапрос.ЕдиницаИзмерения
   |ИТОГИ
   |   СУММА(Количество),
   |   СУММА(КоличествоМест),
   |   СУММА(Вес),
   |   СУММА(Объем)
   |ПО
   |   Склад";
   
   ВыборкаТовары = Запрос.Выполнить();
   ЗапросТовары = ВыборкаТовары.Выгрузить();

   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_НакладнаяПоСкладам";

   Макет = ПолучитьМакет("НакладнаяПоСкладам");

   // печать производится на языке, указанном в настройках пользователя
   КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
   Макет.КодЯзыкаМакета = КодЯзыкаПечать;

   // Выводим шапку нкладной
   СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата,,,КодЯзыкаПечать);
   СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата,,,КодЯзыкаПечать);
   
   Если ЗначениеЗаполнено(СсылкаНаОбъект.БанковскийСчетОрганизации) Тогда
      НомерСчета = СсылкаНаОбъект.БанковскийСчетОрганизации.НомерСчета;
      Банк       = СсылкаНаОбъект.БанковскийСчетОрганизации.Банк;
      МФО         = СсылкаНаОбъект.БанковскийСчетОрганизации.Банк.Код;
      
      СведенияОПоставщике.Вставить("НомерСчета",       НомерСчета);
      СведенияОПоставщике.Вставить("Банк",             Банк);
      СведенияОПоставщике.Вставить("МФО",              МФО);
   КонецЕсли;
   
   ВыборкаСтрокТоварыОбщий = ВыборкаТовары.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока ВыборкаСтрокТоварыОбщий.Следующий() Цикл
      
      ВсегоВес   = 0;
      ВсегоОбъем = 0;

      ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
         
      ОбластьМакета.Параметры.ТекстЗаголовка = НСтр("ru='Накладная на склад';uk='Накладна на склад'",КодЯзыкаПечать) + " № " + ОбщегоНазначения.ПолучитьНомерНаПечать(Ссылканаобъект.ПолучитьОбъект())
         + НСтр("ru=' от ';uk=' від '",КодЯзыкаПечать) + Формат(Ссылканаобъект.Дата, "ДЛФ=DDT; Л="+ Локализация.ОпределитьКодЯзыкаДляФормат(КодЯзыкаПечать));
         
      ТабДокумент.Вывести(ОбластьМакета);

      ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
      ОбластьМакета.Параметры.Склад = ВыборкаСтрокТоварыОбщий.Склад;
      ТабДокумент.Вывести(ОбластьМакета);
      
      ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
      ОбластьМакета.Параметры.Заполнить(Шапка);   
      ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование,",,КодЯзыкаПечать) + " (код: " + Шапка.Покупатель.Код + ")";
      ТабДокумент.Вывести(ОбластьМакета);

      // Выводим дополнительно информацию о договоре и сделке
      СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
      Если Шапка.ПечататьСделку = Истина Тогда
         СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Сделка,";
      КонецЕсли;
      СписокДополнительныхПараметров = СписокДополнительныхПараметров;
      
      МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать);
      ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
      Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
         ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
         ТабДокумент.Вывести(ОбластьМакета);
      КонецЦикла;      
      
      Если ВыводитьКоды Тогда
         ОбластьШапки  = "ШапкаСКодом";
         ОбластьСтроки = "СтрокаСКодом";
      Иначе
         ОбластьШапки  = "ШапкаТаблицы";
         ОбластьСтроки = "Строка";
      Конецесли;

      Если ЗапросТовары.Итог("КоличествоМест") > 0 Тогда
         ОбластьШапки  = ОбластьШапки  + "Мест";
         ОбластьСтроки = ОбластьСтроки + "Мест";
      Конецесли;
      
      // Вывести табличную часть (товары и услуги)
      ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки);
      Если ВыводитьКоды Тогда
         ОбластьМакета.Параметры.Колонка = Колонка;
      КонецЕсли;
      
      ОбластьМакета.Параметры.Вес  = НСтр("ru='Вес';uk='Вага'",КодЯзыкаПечать);
      ОбластьМакета.Параметры.Объем = НСтр("ru='Объем';uk='Об''єм'",КодЯзыкаПечать);
      
      ТабДокумент.Вывести(ОбластьМакета);
      
      ВыборкаСтрокТоварыДетали = ВыборкаСтрокТоварыОбщий.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
      
      мИндекс = 0;
      Пока ВыборкаСтрокТоварыДетали.Следующий() Цикл

         ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);

         Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТоварыДетали.Номенклатура) Тогда
            Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
            Продолжить;
         КонецЕсли;

         ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТоварыДетали);
         ОбластьМакета.Параметры.НомерСтроки = мИндекс + 1;
         
         мИндекс = мИндекс + 1;
         ОбластьМакета.Параметры.Товар       = СокрЛП(ВыборкаСтрокТоварыДетали.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТоварыДетали);

         Если ВыводитьКоды Тогда
            ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТоварыДетали.КодАртикул;
         КонецЕсли;

         ТабДокумент.Вывести(ОбластьМакета);
            
         ВсегоВес    = ВсегоВес    + ВыборкаСтрокТоварыДетали.Вес;
         ВсегоОбъем  = ВсегоОбъем  + ВыборкаСтрокТоварыДетали.Объем;
         
      КонецЦикла;
      ОбластьИтого = "Итого";
         
      // Вывести Итого
      ОбластьМакета                 = Макет.ПолучитьОбласть(ОбластьИтого);
      ОбластьМакета.Параметры.ВсегоВес    = ВсегоВес;
      ОбластьМакета.Параметры.ВсегоОбъем    = ВсегоОбъем;
      ТабДокумент.Вывести(ОбластьМакета);
      
      // Вывести Сумму прописью
      ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
      СуммаКПрописиВес    = ВсегоВес;
      СуммаКПрописиОбъем    = ВсегоОбъем;
      
      ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ВыборкаСтрокТоварыДетали.Количество() + ","
                                    + НСтр("ru=' общий вес ';uk=' загальна вага '",КодЯзыкаПечать)        + ОбщегоНазначения.ФорматСумм(ВсегоВес)
                                    + НСтр("ru=' общий объем ';uk=' загальний об''єм '",КодЯзыкаПечать)  + ОбщегоНазначения.ФорматСумм(ВсегоОбъем);
                                   
      ТабДокумент.Вывести(ОбластьМакета);

      // Вывести подписи
      ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
      ОбластьМакета.Параметры.Заполнить(Шапка);
      // Отпуск товара произвел.
      //  Из "ОтпускПроизвел", если заполнено, иначе по умолчанию из реквизита "Отпустил".
      Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда
         ФамилияИмяОтчествоФизЛица        = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата);
         ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество;
         ОбластьМакета.Параметры.Отпустил = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел);
      КонецЕсли;
      ТабДокумент.Вывести(ОбластьМакета);
      
      РазбиватьПоЛистам = Ложь;
      Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") И ДополнительныеПараметры.Свойство("РазбиватьПоЛистам") Тогда
         Если ДополнительныеПараметры.РазбиватьПоЛистам Тогда 
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
         Иначе            
            ОбластьМакета = Макет.ПолучитьОбласть("ЛинияОтреза");      
            ТабДокумент.Вывести(ОбластьМакета);
         КонецЕсли;
      Иначе
         ОбластьМакета = Макет.ПолучитьОбласть("ЛинияОтреза");      
         ТабДокумент.Вывести(ОбластьМакета);
      КонецЕсли;      
      
   КонецЦикла;

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

КонецФункции // ПечатьДокумента()

мВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
AdminВнешняя печатная форма печатается только под полными правами#6 20.08.20 9:13
Открывал в конфигураторе, вообще никаких ролей не увидел

Прикрепленные файлы:

3.PNG
AdminВнешняя печатная форма печатается только под полными правами#4 20.08.20 9:02
А где дать право пользователю?
Внешняя печатная форма для документа реализация товаров и услуг.
AdminВнешняя печатная форма печатается только под полными правами#1 20.08.20 8:49
Подскажите пожалуйста может кто то сталкивался. При запуске внешней печатной формы из документа "Реализация товаров и услуг" у пользователей с не полными правами появляется ошибка:
-----
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Создать): Нарушение прав доступа!
-----
У всех ролей пользователя стоят галочки:
-Интерактивное открытие внешних отчётов
-Интерактивное открытие внешних обработок
-В настройках пользователя стоит разрешение на печать непроведенных документов
-----
В журнале регистрации событий :
Событие - Доступ. Отказ в доступе
Данные - Право. Использование
-----
Подскажите где нужно дать доступ пользователю на внешнюю печатную форму?
Саму форму и скриншоты прикрепил к сообщению

Прикрепленные файлы:

Печать по складам.epf
1.PNG
2.PNG
HardwareНастройка принтера в терминале Zebra LP 2824#1 18.04.19 15:33
Добрый день, подскажите кто знает, никак не могу настроить принтер 2824 в терминальной сессии.

Подключаюсь к серверу через интернет, по RDP/ Принтер пробрасывается на Server 2008 R2. Когда печатаю этикетки, стоит формат бумаги "пользовательский" 76*297мм. Попытки изменить его на размер этикетки 30*20 безуспешны. Принтер заново ставит все свои настройки , например размер бумаги 76*297мм. На локальном принтере стоят настройки по умолчанию те что необходимы, размер 30*20, но на сервер они почему то не переносятся.

Как изменить User Defined на сервере, чтоб можно было сохранять свои настройки?
Подскажите, может кто то сталкивался?