Вопрос № 27053: Здравствуйте! У меня к Вам такой вопрос:
Ситуация такая: я только начала изучать 1С и вот клиенты поставили задачу: нужно сделать так, чтобы вместе с авансовым отчетом была возможность распечатывать и приходный ордер (при поступлении материалов),...
Вопрос № 27.053
Здравствуйте! У меня к Вам такой вопрос:
Ситуация такая: я только начала изучать 1С и вот клиенты поставили задачу: нужно сделать так, чтобы вместе с авансовым отчетом была возможность распечатывать и приходный ордер (при поступлении материалов), т. е. эти печатные формы должны вызываться из одного диалога авансового отчета, кнопкой выбора печатной формы. Подскажите, пожалуйста, как это сделать. Заранее благодарю.
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Емельянова Ольга Алексеевна!
Из одного диалога можно вызвать сколько угодно печатных форм. Для этого необходимо:
1.Добавить в авансовый отчет еще одну таблицу, в которую поместить шаблон той формы печати, которую ты хочешь видеть. Нагло скопируй ее с документа ПриходнаяНакладная или с какого захочешь, а еще лучше посмотри, как это сделано там и нарисуй сама.
2. В таблице выдели 3 горизонтальные секции "Шапка", в которой шапка печатной формы, т.е. фирма, номер, дата, названия колонок
"Строка", в которой название приходуемой номенклатуры и "Подвал" в котором подписи МОЛ.
3. Самое сложное:
в обработчике кнопки "Печать" допиши в конце еще одну форму, т.е. все как положено, посмотри как рисовалась первая таблица (скорее всего она называлась Таб)
Таб2=СоздатьОбъект("Таблица"); - создаем еще одну таблицу
Таб2.ИспользоватьТаблицу("ВтораяТаблица");- начинаем ее вывод
Таб2.ВывестиСекцию("Шапка")-ну вот, номер и название документа вывели
ИтогоСумма=0; - для итоговых данных начинаем накапливать информацию, если нужно, конечно
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл - перебираем все строки документа и ищем, какую бы вывести на печать
Если ВСтрокеНоменклатураАНеЗатрата Тогда
Таб2.ВывестиСекцию("Строка");
ИтогоСумма=ИтогоСумма+СуммаЧегоТоТам;
КонецЕсли;
КонецЦикла;
Таб2.ВывестиСекцию("Подвал"); - ну вот, вывели итоговую сумму и подписи МОЛ
Таб2.Опции(0,0,0,0);
Если ПриходуетсяХотяБыОднаНоменклатураАНеТолькоЗатраты Тогда
Таб2.Показать();
КонецЕсли;
Лучше всего, конечно, сделать для этой формы свою кнопку "ПечатьПрихода"