7.7 Печать 2-х разных накладных

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем man37, 27 янв 2014.

  1. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Здравствуйте!

    У нас 1С 7.7 ТиС 9.2 937.

    Появился вопрос: возможно ли организовать так, чтобы при нажатии кнопки "ПЕЧАТЬ" распечатывались сразу две разные накладные, т.е.
    1 - накладная для покупателя, где прописаны артикул, название, количество, цена;
    2 - накладная для склада, где прописаны артикул, название, количество, номер склада, номер секции, номер ящика и т.д..

    Я не большой специалист в программировании, но в принципе сделать вторую накладную смогу.
  2. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    433
    Симпатии:
    3
    Баллы:
    29
    А в чем, собственно, проблема? В процедуру печати добавляете кусок кода, выполняющего печать второй накладной, предварительно добавив в перечень печатных форм документа нужный макет(если он сильно будет отличаться от макета первой накладной.)
  3. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Все просто если отправлять на печать сразу... Если требуется вывод на экран то разные макеты влекут за собой явное неудобство: Сфокусировал,Распечатал,Закрыл,Еще распечатал (фокусировка автоматом), закрыл.. Лишние действия для пользователей! Нужно сразу делать все в одном макете...
  4. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Спасибо за оперативный ответ, буду пробовать. Если что еще переспрошу.
  5. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    не за что. Обращайтесь.
  6. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Две печатных формы сделал.

    Обе выводятся на экран и, соответственно, печатается та, которая поверх, а как сделать, чтобы вторая форма не выводилась на экран,
    а сразу печаталась при нажатии значка "ПРИНТЕР".
    Если возможно, то показать на примере как это делается.
  7. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Код:
    Таб.Напечатать();
    
    Напечатать(<Флаг>)
    Назначение:
    Напечатать таблицу без предварительного просмотра (печать без открытия окна редактирования).
    Параметры:
    <Флаг> - необязательный параметр. Режим запроса диалога печати: 1 - запрашивать диалог печати (по умолчанию), 0 - не запрашивать.
  8. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    А как это будет выглядеть,приблизительно так:

    Таб.Напечатать(Накладная_2, 0)?
  9. Бухгалтерский угодник
    Offline

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

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

    Код:
    Таб.Напечатать(1);
    
    Запросит принтер, потом напечатает.
  10. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Немного не то.
    Вот приблизительный код:
    Код:
    Если НомерТекущейФормы = 1  Тогда
    Печать(СразуНаПринтер, КолЭкз);
    Иначе
    Параметры = СоздатьОбъект("СписокЗначений");
    Параметры.ДобавитьЗначение(?((Модифицированность()=0) и (ПустоеЗначение(ТекущийДокумент())=0), ТекущийДокумент(), глВзятьКонтекст(Контекст)), "Контекст");
    Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
    Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");
    
    ОткрытьФорму("Отчет", Параметры, ("f:\sale2.ert"));
    ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
    
    По нему при нажатии на кнопку "Печать" открывает две формы: Текущую и Накладную. Соответственно, чтобы их распечатать, приходится два раза нажимать на кнопку с изображением принтера.
    А вот как сделать, чтобы при нажатии на кнопку "Печать" открывалась только Текущая форма, а при нажатии на кнопку с изображением принтера - печатались и Текущая и Накладная.
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Из области фантастики... Формы - разные объекты. Одновременно из НЕЛЬЗЯ распечатать.
    Можно:
    1) В модуле формы документа сделать так, чтобы одна печаталась сразу, а другая выводилась на экран для последующей печати
    2) В одном окне выводилось ОБЕ формы. Ну и печатались соответственно
  12. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Как можно это реализовать и п.1, и п.2, если можно, то поподробнее.
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    1) Отдельная процедура одну выводит на экран, вторую сразу на принтер (напечатать())
    2) Делайте общий макет для двух форм и выводите последовательно
  14. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Спасибо! Буду думать дальше.
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    не за что. Обращайтесь
  16. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Что не получается.
    Сделал на форме реализации две разные печатные формы.
    Код:
    Процедура НакладнаяНаСклад()
        Таб = СоздатьОбъект("Таблица");
        Таб.ИсходнаяТаблица("НакладнаяНаСклад");
        Таб.ВывестиСекцию("Шапка");
        Таб.Опции(0,0,0,0);
        ВыбратьСтроки();
        Пока ПолучитьСтроку() = 1 Цикл
            Таб.ВывестиСекцию("Строка");
        КонецЦикла;
        Таб.ВывестиСекцию("Подвал");
        Таб.Напечатать(0);
    КонецПроцедуры   // Процедура НаСклад()
    
    // Процедура ТоварныйЧек()
    Процедура ТоварныйЧек()
        Таб = СоздатьОбъект("Таблица");
        Таб.ИсходнаяТаблица("ТоварныйЧек");
        Таб.ВывестиСекцию("Шапка");
        Таб.Опции(0,0,0,0);
        ВыбратьСтроки();
        Пока ПолучитьСтроку() = 1 Цикл
            Таб.ВывестиСекцию("Строка");
        КонецЦикла;
        Таб.ВывестиСекцию("Подвал");
        Таб.ТолькоПросмотр(1);
        Таб.Показать("Печать Реализация ",""); 
    НакладнаяНаСклад();   
    КонецПроцедуры //Процедуры ТоварныйЧек() 
    Сделал отдельную кнопку печати ТоварныйЧек, но при нажатии на нее выводит ТоварныйЧек и его же и печатает, НакладнаяНаСклад и не выводится и не печатается.
    Что не так?
    И еще, пробую делать в Учебной базе, там это должно работать или нет?
  17. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Формулу на кнопке прописали??

    Вложения:

    • 1.PNG
      1.PNG
      Размер файла:
      4,5 КБ
      Просмотров:
      12
  18. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    На этой кнопке сейчас "ТоварныйЧек()", из процедуры ТоварныйЧек() вызывается процедура НакладнаяНаСклад().
  19. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    А если повесить на кнопку НакладнаяНаСклад(), то полная тишина - типа это просто кнопка, по которой можно просто жмакнуть.
  20. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    потому что в Вашей процедуре не хватает строки:
    Код:
    Таб.Показать("Печать Реализация ","");
    

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