Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Как вывести документ на печать в 1С?


Автор: neokortex 16.6.2008, 22:14
собственно, такой вот вопрос
Как вывести документ на печать в 1С?

Автор: mmvds 16.6.2008, 22:52
Для распечатки документа нужно получить печатную форму документа, по умолчанию в стандартных конфигурациях кнопка "печать".
Если такой кнопки нет, ее нужно создать через конфигуратор, обработчик для нее можно создать через конструктор форм. 
Если доступа к редактированию конфигурации нет, или изменение конфигурации повлечет за собой снятие с обслуживания, то см. эту тему: http://forum.vingrad.ru/forum/topic-212303.html

Автор: neokortex 16.6.2008, 23:07
не, я начинаю программировать на один эс.
вот и спрашиваю. Сделал так что при создании нового документа при нажатии на кнопку ОК документ сохраняется и проводится, а как сделать чтобы сразу в новом окне открвылся для печати (просмотра перед печатью)
пока код вот такой
Код

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

Автор: Praetori 18.6.2008, 11:29
1. добавляешь таблицу
2. в таблице делаешь секции
3. делаешь процедуру, в ней:
Код

Таб = СоздатьОбъект("Таблица.....


Так, стоп! А 1С, какая версия?

Автор: SaschaL 18.6.2008, 13:13
Уточните версию 1С? и можно будет тогда помочь вашему горю. smile 

Автор: Kaboom 18.6.2008, 16:08
Цитата

Уточните версию 1С? и можно будет тогда помочь вашему горю. 


7.7 он использует.
Для создания печатных форм документов/справочников/отчетов используются специальные объекты - Таблицы. Вот простой пример печати справочника:
Код

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


Для документа:
Код

Т = СоздатьОбъект("Таблица");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
   Т.ВывестиСекцию("Строка");
КонецЦикла;
Т.ТолькоПросмотр(1);
Т.Показать("Накладная")


Вообщето учится нужно по книгах, в одном посте не напишеш всего.
   
   
   

Автор: bpgrey 24.6.2008, 11:16
Цитата(neokortex @  16.6.2008,  23:07 Найти цитируемый пост)
Сделал так что при создании нового документа при нажатии на кнопку ОК документ сохраняется и проводится, а как сделать чтобы сразу в новом окне открвылся для печати (просмотра перед печатью)


По моему, это не правильный подход. При Групповом перепроведении документов, замучаетесь закрывать печатные формы..
Логичнее сделать отдельно кнопку "провести" и кнопку "печать"

Цитата(neokortex @  16.6.2008,  23:07 Найти цитируемый пост)
Процедура ОбработкаПроведения()
    //Здесь следует написать алгоритм проведения документа    
ДокСчет = СоздатьОбъект("Документ.Счет");
ДокСчет.Новый();
ДокСчет.ДатаС = ДатаС;
ДокСчет.СуммаС = СуммаС;
КонецПроцедуры

 В "обработке проведения" не надо создавать новый объект, чтобы распечатать текущий документ..

Автор: Praetori 26.6.2008, 11:56
RTFM

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)