Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите ,не могу отловить установку панели в счёте
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
roman457
1с 8.2 УТП
Требуется изменить печатную форму счёта до неузнаваемости .
Изменил запустил отобразил , но потерял панель которая печатается с универсальной обработке .
пробовал в отладчике отловить появление ( видимо не внимательность и спешка делает свои сроки . )
Если не затруднит Вас ткнуть меня носом какая процедура запускает панель .

очень хотелось бы её видеть в своих формах.
---
Буду признателен за полученные от Вас знания и опыт.
Ardi
Код вывода на экран в студию.
roman457
Цитата(Ardi @ 30.01.14, 15:19) необходимо зарегистрироваться для просмотра ссылки
Код вывода на экран в студию.

Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
    Если ЭтоНовый() Тогда
        Предупреждение("Документ можно распечатать только после его записи");
        Возврат;
    КонецЕсли;
    Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
        Возврат;
    КонецЕсли;
    Если ИмяМакета = "Счет" Тогда
        // Печать счета на оплату
        ТабДокумент     = ПечатьСчетаЗаказа(ИмяМакета);
    ИначеЕсли ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда
ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка, ИмяМакета);
        Если ТабДокумент = Неопределено Тогда
            Возврат
        КонецЕсли;
    КонецЕсли;
    //УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров,НаПринтерОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, ""), Ссылка);
    ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет ("счетЗаказ");
Область=Макет. ПолучитьОбласть ("ЗаголовокСчета");
ТабДок. Вывести (Область);
Область = макет.ПолучитьОбласть("заголовок");
ДатаП = формат (Этотобъект.дата,"Л=uk_UA; ДЛФ=DD");
наз=строка ("Рахунок-фактура № " +номер + "від " + датаП);
область.Параметры.текстзаголовка =  наз;
табДОк.Вывести(область);
Область = макет.ПолучитьОбласть("ШапкаЗеркало");
табдок.Вывести(Область);
Для каждого текущаястрока Из ЭтотОбъект.Товары Цикл
Область=Макет. ПолучитьОбласть ("СтрокаЗеркало");
Область. Параметры. ном          = текущаястрока.НомерСтроки  ;
область. Параметры. кодрисунка   = текущаястрока.КодРисунка   ;
область. Параметры. ТМЦ          = Текущаястрока.Номенклатура ;
ширин = строка(текущаястрока.ширина);   высотка = строка(текущаяСтрока.Высота);
списокразмеров = строка(ширин + " * "+ Высотка);
область. Параметры. размер       = СписокРазмеров;
Область. Параметры. Еденица      = Текущаястрока.ЕдиницаИзмерения;
Область. Параметры. КВО          = Текущаястрока.Количество      ;
Область. Параметры. Цена         = Текущаястрока.Цена            ;
Область. Параметры. СуммаСтроки  = ТекущаяСтрока.Сумма             ;
ТабДок. Вывести (Область);
//порНом=порНом+1;
КонецЦикла;
Область = макет.ПолучитьОбласть("Итого");
Область. параметры. Всего         = Этотобъект.СуммаДокумента;
табдок.вывести(область);
Область = макет.ПолучитьОбласть("СуммаПрописью");
ТабДок.вывести(область);
Область = макет.ПолучитьОбласть("ДНО");
ТабДок.вывести(область);
//Область=Макет. ПолучитьОбласть ("Подписи");
//ТабДок. Вывести (Область);
ТабДок. АвтоМасштаб=Истина;
ТабДок. ПолеСлева=10;
ТабДок. ПолеСправа=5;
ТабДок. ПолеСверху=5;
ТабДок. ПолеСнизу=5;
ТабДок. Показать (наз);

это просто и сердито тут панеле нет .
а в стандартной конфе код примерно такой
Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт

    Если ЭтоНовый() Тогда
        Предупреждение("Документ можно распечатать только после его записи");
        Возврат;
    КонецЕсли;

    Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
        Возврат;
    КонецЕсли;

    
    Если ИмяМакета = "Счет" Тогда
        // Печать счета на оплату
        ТабДокумент     = ПечатьСчетаЗаказа(ИмяМакета);
        
    ИначеЕсли ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда

        ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка, ИмяМакета);
        
        Если ТабДокумент = Неопределено Тогда
            Возврат
        КонецЕсли;
        
    КонецЕсли;

    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров,НаПринтерОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, ""), Ссылка);
logist
Цитата(roman457 @ 30.01.14, 17:24) необходимо зарегистрироваться для просмотра ссылки
УниверсальныеМеханизмы.НапечататьДокумент

эта процедура осуществляет показ формы универсальной формы с панелью которая вам нужна.
roman457
Цитата(logist @ 30.01.14, 16:30) необходимо зарегистрироваться для просмотра ссылки
эта процедура осуществляет показ формы универсальной формы с панелью которая вам нужна.

Спасибо . это я понимаю . можно как-то самому без Универсального механизма вытащить эту форму .
в какую сторону копать . где посмотреть или в какой момент он применяет эту форму .
как определить этот момент .
Спасибо .
logist
Цитата(roman457 @ 30.01.14, 17:34) необходимо зарегистрироваться для просмотра ссылки
как определить этот момент .

Если бы Вы не ленились пролистать 1,5 десятка строк этой процедуры, то увидели бы, что есть общая форма "ПечатьДокументов" wink.gif
roman457
Цитата(logist @ 30.01.14, 16:45) необходимо зарегистрироваться для просмотра ссылки
Если бы Вы не ленились пролистать 1,5 десятка строк этой процедуры, то увидели бы, что есть общая форма "ПечатьДокументов" wink.gif

Спасибо вам большое ,искренее.
вопрос больше не в лени прогнал всё раз 5 и не разу ен въехал где искать .(вероятнее это не опытность ).
пошёл листать , искать и удивлять .
Если кому-то интересно могу выложить уже итоговый результат .
Надеюсь он будет положительный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.