<<<<Как отправить на печать сразу несколько документов>

  • Автор темы _N_E_O_
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

_N_E_O_

#1
Здравствуйте, великие программеры!!!

Я никак не могу отправить на печать сразу несколько документов!!! А именно приходный/расходный ордера...за данный период...

Не могли бы вы помочь с данной проблемкой?
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#2
Какого рода помощь ожидается? Если мне не изменяет склероз, в ТиС есть групповая печать документов.
 
L
#3
Для: _N_E_O_

Процедура объекта "Таблица":

Напечатать(<?>);
Синтаксис:
Напечатать(<Флаг>)
Назначение:
Напечатать таблицу без предварительного просмотра (печать без открытия окна редактирования).
Параметры:
<Флаг> - необязательный параметр. Режим запроса диалога печати: 1 - запрашивать диалог печати (по умолчанию), 0 - не запрашивать.
 
N

_N_E_O_

#4
Я вот попробовал написать обработку, но печатать не получается....

Процедура печати в модуле обработки:
...........

Процедура Печать(Форма)
// Печать скопом всех требований за период журнала...
Док = СоздатьОбъект("Документ");
Док.ИспользоватьЖурнал("касса");
глТаблица = СоздатьОбъект("Таблица");
Док.ВыбратьДокументы(дата1,дата2);
Кол = 0;
Пока Док.ПолучитьДокумент() = 1 Цикл
Кол = Кол+1;
Если Док.Вид() <> "приходныйордер" Тогда Продолжить; КонецЕсли;
Форма1 = Форма;
ОткрытьФорму(Док.ТекущийДокумент(),Форма1);
глТаблица.НоваяСтраница();
Если Кол >= 50 Тогда
Если Вопрос("Напечатано 50 требований, прервать?", 4) = 6 Тогда
Прервать;
Иначе
Кол = 0;
КонецЕсли;
КонецЕсли;
КонецЦикла;
глТаблица.Опции(0,0,0,0,"ОпцииПечатиПлПор","ПараметрыОкнаПлПор");
глТаблица.ТолькоПросмотр(1);
глТаблица.Показать("Печать ордеров","");
КонецПроцедуры




Когда я в доках\расходныйордер


Процедура ПриОткрытии()
........
ИсхТаб = Форма.Параметр;
Если СокрЛП(ИсхТаб) = "" Тогда
ИсхТаб = "Таблица3";
КонецЕсли;
глТаблица.ИсходнаяТаблица(ИсхТаб);
Печать(глТаблица);
Форма.Закрыть(0);
Возврат;
КонецПроцедуры

Выдает следующую ошибку(при синт. конроле)

Печать(<<?>>глТаблица);
{Документ.РасходныйОрдер.Форма.Модуль(399)}: Слишком много фактических параметров
При проверке модуля обнаружены синтаксические ошибки!



Как быть?
 
B

b00tch

#5
Печать(глТаблица); - ты пытаешься вызвать процедуру Печать() из модуля формы дока, а не из модуля обработки... в которой, по всей видимости, нет параметров...
 
K
#6
Процедуру печать перенисти в глобал

Процедура Печать(ХХХ) Экспорт

Да иноверно стоит переименовать процедуру ВОИЗБЕЖАНИИ
 
N

_N_E_O_

#7
Короче, товарищщи!

Я вот в обработке написал


Процедура Выполнить()

Если дата1>дата2 Тогда
предупреждение ("Начальная дата не может превышать конечную!!!
|Выберите период!")
КонецЕсли;

если приход=1 тогда
док=создатьобъект("документ.приходныйордер")

иначе док=создатьобъект("документ.расходныйордер")
конецесли;

m=0 ;
Док.ВыбратьДокументы(дата1,дата2);
Пока Док.ПолучитьДокумент()=1 Цикл


ОткрытьФормуМодально(Док,"ПоКнопкеПечать");
//Вот здесь, по-моему, что-то должно быть....?

очиститьокносообщений();
сообщить("Отправлено на печать "+m+" документов");
m=m+1;


КонецЦикла;

КонецПроцедуры

дата1=начмесяца(рабочаядата());
дата2=конмесяца(рабочаядата());





а в документы/расходный и документы/приходный приоткрытии() добавил

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

........

Если ПустоеЗначение(Форма.Параметр)=0 Тогда
Если Форма.Параметр="Печать" Тогда
номертекущейформы=1;
Печать();
СтатусВозврата(0);
КонецЕсли;
КонецЕсли;

КонецПроцедуры


Проблема заключается в следующем: Не печатает, хотя и ошибок ни каких!

В чем дело интересно?
 
B

b00tch

#8
Если Форма.Параметр="ПоКнопкеПечать" Тогда
 
N

_N_E_O_

#9
Не, не!

Это правильно, т.е. просто я забыл поменять! Эсли даже

Если Форма.Параметр="ПоКнопкеПечать" Тогда

Даже при этом не правильно!

Почему?
 
B

b00tch

#10
процедуру Печать() в студию!.. (из формы дока)

и ваще, отладчик юзай...
 
N

_N_E_O_

#11
Короче, не получается!

...не получается у меня Печать() в студию делать!
 
B

b00tch

#12
уж если "Печать() в студию" не получаецц0, то на принтер тем более не получицц0...

сорри за оффтоп...

ЗЫ.. попытка намбер ту, последняя:
покажи, пожалуйста код процедцры Печать();, располагающейся в модуле формы документа... "в студию" можно не надо, просто здесь выложи...
 
N

_N_E_O_

#13
Процедура Печать()
НомерДокПечатнойФормы = глПреобразоватьНомерДок(НомерДок, 0, 0);

Таб = СоздатьОбъект("Таблица");
ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\1cbro.mxl";
Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
Иначе
Таб.ИсходнаяТаблица("Таблица");
КонецЕсли;
Если Валютный = 2 Тогда
Если ПустоеЗначение(Валюта.ИмяФайлаПрописи) = 1 Тогда
Предупреждение("Для выбранной валюты не указан файл прописи.");
ИначеЕсли ФС.СуществуетФайл(КаталогИБ()+Валюта.ИмяФайлаПрописи) = 0 Тогда
Предупреждение("Для выбранной валюты неверно указан файл прописи.");
Иначе
Пропись(КаталогИБ()+Валюта.ИмяФайлаПрописи);
КонецЕсли;
КонецЕсли;
ПредставлениеГода = Лев(ДатаГод(ДатаДок),3);
Таб.Вывести();
Пропись("");
Таб.Опции(0,0,0,0,"ОпцииПечатиРасходногоОрдера","ОкноРКО");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать расходного кассового ордера","");
КонецПроцедуры
 
B

b00tch

#14
а "Отправлено на печать "+m+" документов" выдает?
если да, тогда поставь перед
Печать();
строку
Сообщить("Печать "+НомерДок);

и убери
очиститьокносообщений();
 
N

_N_E_O_

#15
Я вроде как решил проблемку...
теперь другая проблмка:

1)Как сделать, чтоб таблица не открывалась?
2)Как сделать ландшафтную ориентацую? Вроде как все правильно написано: Таб.ПараметрыСтраницы(2,,,10,0,0,0,,,,,);
 
B

b00tch

#16
1)Напечатать(<?>);
Синтаксис:
Напечатать(<Флаг>)
Назначение:
Напечатать таблицу без предварительного просмотра (печать без открытия окна редактирования).
Параметры:
<Флаг> - необязательный параметр. Режим запроса диалога печати: 1 - запрашивать диалог печати (по умолчанию), 0 - не запрашивать.

2)ПараметрыСтраницы(<?>,,,,,,,,,,,);
Синтаксис:
ПараметрыСтраницы(<Ориентация>,<Масштаб>,<РежимПечатиКопий>,<ПолеСлева>,<ПолеСправа>,<ПолеСверху>,<ПолеСнизу>,
<КолонтитулСверху>,<КолонтитулСнизу>,<Автомасштаб>,<ФлагЧБПечати>,<ИмяПринтера>)
Назначение:
Установить параметры страницы.
Возвращаемого значения нет.
Параметры:
<Ориентация> - необязательный параметр. Ориентация вывода на печать: число: 1 - портрет; 2 - ландшафт.
- вызывать после Таб.Опции()
 
N

_N_E_O_

#17
Спасибо, НО:

Уменя так и стоит!
.....
Таб.Опции(0,0,0,0,"ОпцииПечатиПриходногоОрдера","ОкноПКО");
Таб.ПараметрыСтраницы(1,,,10,0,0,0,,,1,,);
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать приходного кассового ордера","");
таб.напечатать(0);
......
Быть может, это где-то в других настройеах? (Ну там типа в глобалке, или эщо где-нить...?)
 
N

_N_E_O_

#18
о-о-о-о--о-оо, я решил проблему!!!

Я рад до ушей!!!

Оказалось следующее:

Таб.Опции(0,0,0,0,"ОпцииПечатиПриходногоОрдера","ОкноПКО");
Таб.ПараметрыСтраницы(1,,,10,0,0,0,,,1,,);
Таб.ТолькоПросмотр(1);
//Таб.Показать("Печать приходного кассового ордера","");
таб.напечатать(0);

Теперь все нормально, спасибо всем, кто участвовал!
 
Статус
Закрыто для дальнейших ответов.