Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:10

Макет вывести присоединить

Автор katod, 12 июл 2017, 16:18

0 Пользователей и 1 гость просматривают эту тему.

katod

Здравствуйте!
Подскажите как лучше вывести в макет форму (см. рис)?
Если одной должности м.б. присвоены несколько позиций сиз (наименованиеСИЗ).
Пробую через секции. Но если сначала Вывести должность, затем Присоединить наименованиеСИЗ, то получается, что все наименованиеСИЗ сдвигаются правее от предыдущего наименованиеСИЗ по каждой должности..
Может быть вообще по-другому надо делать?
Конфа Управление производственным предприятием, редакция 1.3 (1.3.89.2) ОБЫЧНЫЕ ФОРМЫ
в строках может быть сколь угодно кратное повторение профессии и в любом порядке. Метод Объединить мне не подходит.

ilyay

по каждой профессии формировать отдельный табличный документ, а потом выводить его.

katod

Цитата: ilyay от 12 июл 2017, 16:33
по каждой профессии формировать отдельный табличный документ, а потом выводить его.
Зачем??
Может я и не понимаю всего смысла?
код для наглядности для вывода просто строк

    Табл = Макет.ПолучитьОбласть("Табл");
    //Табл123 = Макет.ПолучитьОбласть("R10C1:R10C3");
    //Табл45  = Макет.ПолучитьОбласть("R10C4:R10C5");
   
    тз1 = ПеречьСИЗ.Выгрузить();
    //тзДанных.Сортировать("НаименованиеПрофессии");
    тз1.ВыбратьСтроку();
   
    //тз1 = тзДанных.Скопировать();
    //тз1.Свернуть("НаименованиеПрофессии,НаименованиеТ");
    //тз1.ВыбратьСтроку();

    номерПП = 1;     
    Для каждого стр1 из тз1 цикл
        Табл.Параметры.номерПП  = номерПП;
        Табл.Параметры.НаименованиеПрофессии = стр1.НаименованиеПрофессии;
        Табл.Параметры.НаименованиеТ = стр1.НаименованиеТ;
       
        Табл.Параметры.НаименованиеСИЗ = стр1.НаименованиеСИЗ;
        Табл.Параметры.Количество  = стр1.Количество;

       
        ТабДок.Вывести(Табл);
        номерПП = номерПП +1;
    КонецЦикла;


wise

(0) когда собираешь данные подсчитай СРАЗУ, сколько позиций СИЗ на профессию.
при выводе ВСЕХ областей одной профессии используй
выборку делайте ПоГруппировкам ИЛИ СледующийПоЗначениюПоля("НаименованиеПрофессии")
Область = ТабДок.Область(НомерПервойСтрокиПрофессии,2,НомерПервойСтрокиПрофессии+КоличествоПозицийСИЗ,2);
Область.Объединить();
Область.Текст = стр1.НаименованиеПрофессии;
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

katod

Цитата: wise от 12 июл 2017, 17:21
(0) когда собираешь данные подсчитай СРАЗУ, сколько позиций СИЗ на профессию.
это как?? есть табличная часть документа. куда пользователь заносит данные. далее мы ее выгружаем в таблицу значений:
тз1 = ПеречьСИЗ.Выгрузить();
и теперь из нее как-то разве можно подсчитать сколько позиций СИЗ на профессию?? если профессий сотни и позиций СИЗ тоже
пожалуйста, помогите!
а без метода объединить никак нельзя?
Добавлено: 13 июл 2017, 08:55


Цитата: katod от 13 июл 2017, 08:29
Цитата: wise от 12 июл 2017, 17:21
(0) когда собираешь данные подсчитай СРАЗУ, сколько позиций СИЗ на профессию.
это как?? есть табличная часть документа. куда пользователь заносит данные. далее мы ее выгружаем в таблицу значений:
тз1 = ПеречьСИЗ.Выгрузить();
и теперь из нее как-то разве можно подсчитать сколько позиций СИЗ на профессию?? если профессий сотни и позиций СИЗ тоже. не совсем понимаю как это сделать?
пожалуйста, помогите!
а без метода объединить никак нельзя?
Добавлено: 13 июл 2017, 09:33


HELP!!!!!!!!!!:wacko:

wise

(4) "скорми" свою "тз1" запросу и считай ИЛИ скопируй тз1 в КопияТЗ1, добавь колонку КоличествоСИЗ заполни 1 и  сверни по профессии
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Похожие темы (5)

Рейтинг@Mail.ru

Поиск