не получается в печатной форме нормально вывести данные

Тема в разделе "1C и всё что с ней связано", создана пользователем Nastyusha, 20 авг 2010.

  1. Nastyusha

    Nastyusha Гость

    Доброго времени суток
    в диапазоне R31C1:R31C4 нужно вывести данные из справочника (или из табличной части документа)
    а в диапазоне- R31C9:R34C10 вывести постоянные данные.

    У меня есть такие секции:
    Горизонтальные:
    ЦенаКраски=R31
    Химия=R31:R34
    Вертикальные:
    ВертКраска=C1:C4
    Труд=C5:C8
    ВертХимия=C9:C11

    т.е. нужно в той же строке вывести данные

    Пробовала:
    в цикле вывожу справочник
    ТабТехКарт.ВывестиСекцию("ЦенаКраски|ВертКраска"); (R31C1:R31C4 )

    Далее вывожу постоянные данные

    ТабТехКарт.ПрисоединитьСекцию("Химия>|ВертКраска"); (R31C9:R34C10)
    //ТабТехКарт.ПрисоединитьСекцию("Химия>|Труд");
    ТабТехКарт.ПрисоединитьСекцию("Химия>|ВертХимия"); (R32C9:R34C10)

    Но получается, что Постоянные данные начинаются в последней строчке справочника


    Добавлено: дополнение конфигурация 7.7
     
  2. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Код (Text):
    Область()
    Замечание:
    Метод может использоваться при работе с таблицей в режиме ввода данных.


    Или же можеш в своем цикле присоединять секции, в зависимости от условий. Допусти ставиш счетчик в цикле(сч=31), и проверяеш входит ли счетчик в нужный диапазон(34<сч>31)
     
  3. Nastyusha

    Nastyusha Гость

    еще пока не разобралась к сожалению ;)
     
  4. Nastyusha

    Nastyusha Гость

    получилось так:
    добавила данные в ТЗ (колонки -1 из справочника, далее постоянные данные)
    ( в цикле данные справочника , а постоянные данные добавляю в нужную строку)
     
  5. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    На простом примере:

    Код (Text):
    спр=создатьобъект("Справочник.Такойто");
    таб=создатьобъект("Таблица");
    сч=0;
    спр.выбратьэлементы()
    Пока спр.получитьэлемент()=1 цикл
    сч=сч+1;
    таб.ВывестиСекцию("НашаСекция");
    Если (сч>31) И (сч<34) тогда //тут настраиваем вывод пост.данных в нужных строках
    таб.присоединитьсекцию("Нашавтораясекция");
    КонецЕсли;
    КонецЦикла;
     
  6. Nastyusha

    Nastyusha Гость

    может вопрос немного не по теме, а можно ли вывести в таблице данные, которые рассчитываться в др. процедуре
    есть 3 процедуры, в которых рассчитывается: краска, химия , труд и прочие коэффициенты. и есть 3 таблицы..
    как сделать ссылку на процедуру для расчета, а выводить данные в 3-х разных таблицах..
    На данный момент код дублируется
     
  7. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Сделать процедуру глобальной. Если неоходимо вытаскивать значения уже в самой таблице - тогда сделать её как глобальную функцию.
     
  8. Nastyusha

    Nastyusha Гость

    а из-за чего идет смещение на колво упаковки? (т.е. на 5)
    т.е. работа начинает выводиться на колво строк упаковки ниже

    Как сделать так, чтобы выводилось в той же строчке?

    ВремТруд=СоздатьОбъект("ТаблицаЗначений") ;

    Труд.Выгрузить(ВремТруд, ,, "Работа, Норма, Расчет"); //чтобы не портить ТЗ труд

    ВремТруд.НоваяКолонка("Материал");
    ВремТруд.НоваяКолонка("длина");
    ВремТруд.НоваяКолонка("высота");
    ВремТруд.НоваяКолонка("ширина");
    ВремТруд.НоваяКолонка("диаметр");
    ВремТруд.НоваяКолонка("РасходМатер");


    СпрУпаковка=СоздатьОбъект("Справочник.Упаковки") ;
    СпрУпаковка.ИспользоватьВладельца(наименованиеэтикетки);

    УпаковкаПродукции(); //для добавления новых данных, если справочник пустой

    //СпрУпаковка.Порядокнаименований();
    СпрУпаковка.ВыбратьЭлементы();

    Пока СпрУпаковка.ПолучитьЭлемент() > 0 Цикл
    ВремТруд.НоваяСтрока(1);
    ВремТруд.Материал=СпрУпаковка.наименование;

    ВремТруд.длина=СпрУпаковка.длина;
    //ВремТруд.установитьЗначение(1, "Длина", ВремТруд.длина);

    ....
    заполнение всех колонок времТруд, которые из справочника упаковка

    КонецЦикла; //Спр.Упаковка.ПолучитьЭлемент() > 0 Цикл

    ВремТруд.ВыбратьСтроки();
    Пока ВремТруд.ПолучитьСтроку() >0 Цикл

    ТабТехКарт.ВывестиСекцию("РасчетТруда");
    КонецЦикла; // ВремТруд.ПолучитьСтроку() >0 Цикл
     
  9. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Это специально ?
    ВремТруд.НоваяСтрока() не подходит ?
     
  10. Nastyusha

    Nastyusha Гость

    ВремТруд.НоваяСтрока()
    тогда упаковка- выводиться в самом низу...
    а нужно в этой же строчке, что и ВремТруд.Работа
     
Загрузка...

Поделиться этой страницей