Имя: Пароль:
1C
1С v8
Как осуществить групповую обработку печатных форм?
0 Miss1C
 
25.09.12
14:01
Как осуществить групповую обработку печатных форм?
Таким методом выводит только последний таб док.


Процедура ПечатьНовый(ИмяМакета,ТБ)Экспорт
   
   Объект = СсылкаНаОбъект.ПолучитьОбъект();
   
   КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
   
   Если Объект.ЭтоНовый() Тогда
       Предупреждение("Документ можно распечатать только после его записи");
       Возврат;
   ИначеЕсли Не УправлениеПользователями.РазрешитьПечатьНепроведенныхДокументов(Объект.Проведен) Тогда
       Предупреждение("Недостаточно полномочий для печати непроведенного документа!");
       Возврат;
   КонецЕсли;
   
   Если Не РаботаСДиалогами.ПроверитьМодифицированность(Объект) Тогда
       Возврат;
   КонецЕсли;
   
   // Получить экземпляр документа на печать
   Если ИмяМакета = "Заказ" Тогда
       ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
   ИначеЕсли ИмяМакета = "ЗаказКорректировка" тогда
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
   ИначеЕсли ИмяМакета = "Счет" тогда
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
   ИначеЕсли ИмяМакета = "Групповая" Тогда
       ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
   
   КонецЕсли;
   
КонецПроцедуры
1 and2
 
25.09.12
14:03
групповая - как заманчиво звучит это слово.....
2 Miss1C
 
25.09.12
14:04
(1)Ох у вас и мысли)
3 Хрущёв
 
25.09.12
14:05
Надо смотреть, что внутри ПечатьСчетаЗаказа()
4 and2
 
25.09.12
14:05
как на обнаженную спину посмотришь - сразу и мысли :)
5 Miss1C
 
25.09.12
14:06
Выложить код 2 процедур?
6 and2
 
25.09.12
14:09
а что ты хотела то?

ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);

последний и возвращается
7 and2
 
25.09.12
14:10
ИначеЕсли ИмяМакета = "Групповая" Тогда
       ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
   
   КонецЕсли;

это вообще глупость

запусти в цикле по именам макетов
8 Miss1C
 
25.09.12
14:12
(7)Внешняя обработка с одной печатной формой, должна осуществлять вывод как по 1 таб доку, так и групповой
9 Miss1C
 
25.09.12
14:13
(7) по 1 выводит нормально, а вот групповую, сталкиваюсь первый раз
10 cw014
 
25.09.12
14:23
ИначеЕсли ИмяМакета = "Групповая" Тогда
 
  ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
  ТабДокумент.Вывести(ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ));
   
КонецЕсли;
11 Miss1C
 
25.09.12
14:35
(10)Только последний таб док выводит
12 Stim
 
25.09.12
14:39
о, новое фото :) я рад
13 Miss1C
 
25.09.12
14:45
(12)Помогайте)
14 Miss1C
 
25.09.12
14:51
ИначеЕсли ИмяМакета = "Групповая" Тогда
       ИмяМакета = "Заказ";
       ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказа(ИмяМакета,ТБ));
       
       ИмяМакета =  "ЗаказКорректировка";
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ));
       
       ИмяМакета =  "Счет";
       ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ));
КонецЕсли;

Тоже последний возвращает(
15 Stim
 
25.09.12
14:56
честно - я не понял что нужно.
на всякий случай -   групповая обработка спр и доков может печатать список документов
16 DrShad
 
25.09.12
14:58
сделай им имена разные
17 Stim
 
25.09.12
14:59
ИначеЕсли ИмяМакета = "Групповая" Тогда
       ИмяМакета = "Заказ";
       ТабДокумент = ПечатьСчетаЗаказа(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказа(ИмяМакета,ТБ));
       
       ИмяМакета =  "ЗаказКорректировка";
      //ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ));
       
       ИмяМакета =  "Счет";
      //ТабДокумент = ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ);
       ТабДокумент.Вывести(ПечатьСчетаЗаказаКорректировки(ИмяМакета,ТБ));
КонецЕсли;
18 DrShad
 
25.09.12
15:00
(17) это уже не групповая - это ганг-банг какой-то выйдет
19 Miss1C
 
25.09.12
15:00
(16)Делала
20 DrShad
 
25.09.12
15:02
(19) в общем выкладывай более откровенную фотку и тебе раскажу как вывести сразу три таб дока
21 Miss1C
 
25.09.12
15:03
(20)Нету таких)
22 Stim
 
25.09.12
15:03
(21) ну на нет и суда нет..
23 DrShad
 
25.09.12
15:05
(21) и зачем я столько лет ковырял 1С, коли у мистянок нет фоток
24 Miss1C
 
25.09.12
15:08
(23)Зачем вам фото, вам что этих не хватает ?
25 Stim
 
25.09.12
15:09
(24) мужчинам всегда нужно что-то новое ;)
26 John83
 
25.09.12
15:09
Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл
   Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл
       ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки));
   КонецЦикла;
КонецЦикла;

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

в ВывестиПечатнуюФормуМХ18 получаю таб. документ
27 Miss1C
 
25.09.12
15:14
(26)И как этот код осуществить у себя?
28 John83
 
25.09.12
15:17
(27) либо включить моск, либо (20) :)
PS максимум могу скинуть свой пример печ. формы
29 zladenuw
 
25.09.12
15:17
я за  (20)
30 Miss1C
 
25.09.12
15:18
(28)Кидайте)
31 Miss1C
 
25.09.12
15:18
(29)Раздеть меня решили?)
32 Stim
 
25.09.12
15:19
предлагаю автора забанеть, пока не обновит фото:)
33 Miss1C
 
25.09.12
15:20
(32)Предложение отклонено, мало фактов)
34 Miss1C
 
25.09.12
15:32
Потому что ты очень злая внутренне. Не хочешь ни семьи, ни детей. А всё любишь деньги потреблять. О родителях позаботиться - "не могу, не хочу, некогда". Помочь окружающим людям - тоже. Познакомить парня со своей подружкой, чтобы они создали семью - тоже не хочешь. В общем, в очередной раз убеждаюсь, что в людях не осталось ничего святого. Сплошная погоня за деньгами, прибылью. А всё, что не приносит удовольствие - порицается и отбраковывается.
Вот зачем ты живёшь? Думаешь, что всё время будешь живой и здоровой? А вот Екатерина с мисты - едва не сдохла в больнице. И никто ей не помог - ни друзья, ни подруги. Только муж и отец.

Я давно знала, что ты очень вредная и неприступная. Но чтобы настолько - не подозревала!
35 Stim
 
25.09.12
15:33
эммм.. довели человека..оО
36 DrShad
 
25.09.12
15:33
(34) это что?
37 Miss1C
 
25.09.12
15:34
Мне прислали на мыло
38 Пеппи
 
25.09.12
15:35
(37) а кто?
39 Stim
 
25.09.12
15:36
действительно - злая и вредная.. фотку не хочет сменить..
40 DrShad
 
25.09.12
15:37
(39)+1
а мы тут подыхаем и никто не хочет фотку выложить
41 Miss1C
 
25.09.12
15:37
(38)Василий <[email protected]>
42 mvmaster
 
25.09.12
15:37
43 Miss1C
 
25.09.12
15:43
Поменяла
44 Miss1C
 
25.09.12
15:45
(42)Это надо для каждой процедуры новый макет?
45 Miss1C
 
25.09.12
15:49
Следующий это переменная?
46 Miss1C
 
25.09.12
16:00
Решила проблему, делаю все на 1 макете просто другие области буду вытягивать)
47 del123
 
25.09.12
16:00
В комплексной 8.2 делал таким образом.

для каждого ТекСтр из Таблица цикл
   если не ТекСтр.Печатать тогда
           продолжить;
   конецесли;
       
   ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(ТекСтр.Документ, Расшифровка);
   УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, ЧислоКопий, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ТекСтр.Документ), ТекСтр.Документ);
конеццикла;
48 Stim
 
25.09.12
16:02
(46) ну вот. сменила фото и сразу решила проблему!