7.7 Почему сразу уходит на принтер?

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем moroz34, 4 июн 2014.

  1. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Пишу форму для справочника (номенклатура) и при нажимании кнопки ничего не показывает а сразу шлет на принтер... весь текст ниже.


    Процедура Печать(Докум, СразуНаПринтер=0, КолЭкз=1)


    ПечТабл = СоздатьОбъект("Таблица");


    // секция Заголовок

    ПечТабл.ВывестиСекцию("Заголовок");



    Если СразуНаПринтер = 0 Тогда
    ПечТабл.Опции(0,0,0,0,"ДляРеализации");

    Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда
    ПечТабл.Защита(1);
    Иначе
    ПечТабл.Защита(0);
    КонецЕсли;
    ПечТабл.ТолькоПросмотр(1);

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

    КонецПроцедуры // Печать()

    //*******************************************


    Процедура ПриОткрытии()

    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

    Докум = Форма.Параметр.Получить("Контекст");
    Устройство = Форма.Параметр.Получить("Устройство");
    КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");

    Печать(Докум, Устройство, КолвоКопий);
    Статусвозврата(0);
    Возврат;
    КонецЕсли;


    КонецПроцедуры // ПриОткрытии()
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вместо напечатать используйте показать
  3. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    А почему условие не срабатывает Если СразуНаПринтер = 0 Тогда ?
    --- Объединение сообщений, 4 июн 2014 ---
    И как наименование выбранной номенклатуры показать в таблице?
  4. GlukAl
    Offline

    GlukAl Опытный в 1С

    Регистрация:
    4 окт 2012
    Сообщения:
    187
    Симпатии:
    7
    Баллы:
    29
    а давайте посмотрим как заполняются параметры для вызова ПечатнойФормы, тогда и подумаем
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Какая хоть конфигурация? Какой документ?
  6. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    7.7 - 9.2. Открываю "номенклатура", навожу на любой товар, нажимаю кнопку, вызывающую эту программу и для распечатки должно появится название товара, который был выбран. Как это сделать?
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если нужна ОДНА строка - передавайте не контекст, а конкретную номенклатуру. Если помимо товара нужны еще какие-то значения (цена/количество/сумма) передавайте через параметр номер текущей строки табличной части. Или вы из СПРАВОЧНИКА хотите?
  8. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Вот, открыл справочник (номенклатуру) выделил 1 (одну) строчку. Все. Нужно его название полное на печать. Ну к примеру, чтоб гарантийку распечатать на выбранный один товар.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В ТиС в форме списка есть кнопка печать... В конфигурации уже есть процедуры печати ценника и этикетки. Наглядный пример можно глянуть там...
    Вот, к примеру, печать ценника

    Процедура ПечатьЦенника() Экспорт
    Перем ПечЕдиница, ПечНаименование, ПечРозн;
    Перем Таб;
    Перем Столбик;
    Перем Ряд;
    Перем Процент, ПорядокОкр;

    Перем ТабТоваров, ДанныеДляПечати;

    ВыбТовар = ТекущийЭлемент();

    Если ПустоеЗначение(ВыбТовар) = 1 Тогда
    Предупреждение("Не выбран товар или группа товаров!", 60);
    Возврат;
    КонецЕсли;


    ТипЦены = СоздатьОбъект("Справочник.ТипыЦен");
    Если ТипЦены.Выбрать("Типы цен",) = 0 Тогда Возврат КонецЕсли;
    ТипЦены = ТипЦены.ТекущийЭлемент();

    ТабТоваров = СоздатьОбъект("ТаблицаЗначений");
    ТабТоваров.НоваяКолонка("Товар");
    ТабТоваров.НоваяКолонка("Цена","Число");
    ТабТоваров.НоваяКолонка("Единица");
    ТабТоваров.НоваяКолонка("Валюта");

    Если ВыбТовар.ЭтоГруппа() = 0 Тогда
    ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦены);
    Иначе
    СтрТов = СоздатьОбъект("Справочник.Номенклатура");
    СтрТов.ИспользоватьРодителя(ВыбТовар);
    СтрТов.ВключатьПодчиненные(1);
    СтрТов.ВыбратьЭлементы();

    Пока СтрТов.ПолучитьЭлемент() = 1 Цикл
    ТекТов = СтрТов.ТекущийЭлемент();
    Если ТекТов.ЭтоГруппа() = 0 Тогда
    ДобавитьВтаблицу(ТабТоваров, ТекТов, ТипЦены);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    // упакуем данные в список
    ДанныеДляПечати = СоздатьОбъект("СписокЗначений");

    Фирма = СокрЛП(глЗначениеПоУмолчанию("ОсновнаяФирма").ЮрЛицо.ПолнНаименование);
    ДанныеДляПечати.ДобавитьЗначение(Фирма , "Фирма");
    ДанныеДляПечати.ДобавитьЗначение(ТипЦены.Валюта , "Валюта");
    ДанныеДляПечати.ДобавитьЗначение(ТабТоваров , "Таблица");

    ОткрытьФормуМодально("Обработка.ПечатьЦенников", ДанныеДляПечати);

    КонецПроцедуры // глПечатьЦенника(Товар, ТипЦены)
  10. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Да, такие вещи у меня есть... тоже не работают... нужно просто 1 или 2 строчки, как связать таблицу с названием в номенклатуре? Не ужели страница програмного текста?
    Просто как напечатать название?????
    --- Объединение сообщений, 4 июн 2014 ---
    Просто нажимаю на кнопку, получаю распечатку названия того, на что навел до этого курсор.
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Передавайте название в качестве параметра
    ДанныеДляПечати.ДобавитьЗначение(ТекущийЭлемент.Наименование , "Название");

    а в обработке его получайте
    Название= Форма.Параметр.Получить("Название");

    Только не забудьте определить переменную в начале модуля... Чтобы из макета ее можно было получить
  12. TopicStarter Overlay
    moroz34
    Offline

    moroz34

    Регистрация:
    3 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Куда девать верхнюю строчку так и не понял... 2-ая есть, но ничего не печатает..
    --- Объединение сообщений, 4 июн 2014 ---
    Вот полная программа: (жирное - переменная в таблице)

    Процедура Печать(Докум)

    ПечТабл = СоздатьОбъект("Таблица");

    // секция Заголовок

    ПечТабл.ВывестиСекцию("Заголовок");

    ПечНаименование = Форма.Параметр.Получить("Наименование");

    ПечТабл.ПараметрыСтраницы(,,,5,5,5,5,0,0,1,,);
    ПечТабл.Показать(глНазваниеДокументаВжурнале(Докум),"");

    КонецПроцедуры // Печать()

    //*******************************************

    Процедура ПриОткрытии()

    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

    Докум = Форма.Параметр.Получить("Контекст");

    Печать(Докум);
    Статусвозврата(0);
    Возврат;
    КонецЕсли;

    КонецПроцедуры // ПриОткрытии()
    Последнее редактирование: 4 июн 2014
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    в место где вы вызываете вашу обработку печати... См. вышеприведенный пример

Поделиться этой страницей