Имя: Пароль:
1C
 
ПроверитьВывод() для нескольких одинаковых областей
0 ShaOlg
 
12.08.14
02:57
Мне необходимо вывести в табличный документ информацию о наборах и входящих в его состав комплектующих. Причем эта информация должна целиком помещаться на страницу. Если нет, необходимо перенести информацию на новую страницу. Набор не разрывается. Может кто решал такую задачу. Помогите!!!
1 Andrewww123
 
12.08.14
04:09
Пример из синтакс-помощника:

Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента);
Т.Добавить(ПодвалДокумента);
Если Не ТабДок.ПроверитьВывод(Т) Тогда
    Сообщить("Документ не умещается на страницу!");
КонецЕсли;
2 Cube
 
12.08.14
04:57
(0) "Может кто решал такую задачу. Помогите!!!"

Да не, ты чо! Ты первая, кто задался этим вопросом!
И ни в коем случае не ищи ответ в поиске - сразу тему создавай. Ведь твои вопросы уникальны, их никто никогда раньше не задавал... :)
3 ShaOlg
 
12.08.14
09:15
(1) нет это не подойдем.Это вхождение одной строки в массив проверки, а мне надо несколько строк Т.Добавить(СтрокаДокумента). Для всех комплектующих. Я пробовала. Так вот информация по всем добавленным одинаковым областям заменяется последней. Что конечно же логично.
4 ShaOlg
 
12.08.14
09:23
(2) - да я не нашла в поиске что мне нужно, проверка вывода одной строки макета с шапкой и итогами мне не подходит, мне надо
Т.Добавить(ШапкаДокумента);

Для каждого Комплект из СписокКомплектующ Цикл
   Т.Добавить(СтрокаДокумента);
КонецЕсли;
  
Т.Добавить(ПодвалДокумента);
Мне в проверку надо загнать все строки набора. Он не разрывается. Если не трудно скинь ссылку на такой вариант.
5 Cube
 
12.08.14
09:36
(4) Делай через временный табличный документ:

ТабДокументНабора = Новый ТабличныйДокумент;
ТабДокументНабора.Вывести(ШапкаДокумента);
Для каждого Комплект из СписокКомплектующ Цикл
   ТабДокументНабора.Вывести(СтрокаДокумента);
КонецЕсли;
ТабДокументНабора.Вывести(ПодвалДокумента);

Если НЕ ТабДок.ПроверитьВывод(ТабДокументНабора) Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ТабДок.Вывести(ТабДокументНабора);
6 Cube
 
12.08.14
09:38
(4) На этом форуме девушкам принято фотку в личную карточку вставлять. Чем удачнее фото, тем помогающих больше и ответы качественнее...
7 Defender aka LINN
 
12.08.14
09:46
(3) Значит, для каждой комплектующей должна быть *отдельная* строка. Что-то типа этого:

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

Если ТабДокумент.ПроверитьВывод(ПроверяемыеСекции) Тогда
    Для Каждого Секция Из ПроверяемыеСекции Цикл
        ТабДокумент.Вывести(Секция);
    КонецЦикла;
КонецЕсли;

Фсе ж просто.
8 ShaOlg
 
12.08.14
10:59
(Defender aka LINN) нет при таком раскладе n-е количество раз выведется последняя секция.
(Cube) большое тебе спасибо. Все получилось :) Спасибо и за совет насчет фотки, на досуге об этом подумаю :)
9 Cube
 
12.08.14
11:23
(8) "насчет фотки, на досуге об этом подумаю"
Правильный подход! %)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой