7.7 Получить значение на макете печатной формы

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем spartak_lp, 9 дек 2011.

  1. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    Здраствуйте, имеется обработка, в которой нужно выбирать счет, период, склад. На данном этапе не знаю как в макете в "Заголовке" (на рис. указал ячейку) прописать выражение, чтобы в данной ячейке выводился выбранный счет при формировании.

    PS-обработку прикрепил тоже.
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    1. Написать в этой ячейке идентификатор реквизита формы, который содержит значение счета
    2. Изменить его тип с текста на выражение.
  3. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    Реквизит нашел, называется тфСчета, но выводится слово "таблица значений", т.к. там поле со списком счетов, где галочкой выбираешь счет, я так понял надо что-то типа такого чтобы было
    Код:
    тфСчета.Флаг = 1
    
    
    ? Но в макете так не пропишешь.

    Или может условие в модуле надо типа такого
    Код:
    Если тфСчета.Флаг = 1 Тогда 
    тфСЧ =  ?;
    КонецЕсли;    
    
    
    где тфСЧ на макет выведем как выражение, только как правильно условие записать?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Если таблица значений, то перед выводом шапки необходимо сформировать выводимое значение.
    Пример алгоритма может быть следующий:
    1. Создаем строковую переменную, допустим, СтрСчет = "";
    2. Создаем цикл, в котором перебираем все значения ТЗ;
    3. Если в текущей строке ТЗ отмечена для вывода, то значение этогосчета добавляем к переменной СтрСчет;

    4. После прохода по всем строкам ТЗ, можно выводить секцию.
  5. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    Там в начале модуля есть подобный код:
    Код:
    Перем СтрСчетов;
    Если тфСчета.Итог("Флаг") = 0 Тогда
    Возврат;
    КонецЕсли;
    //-------------------------------
    сзСчета = СоздатьОбъект("СписокЗначений");
    СтрСчетов = "";
    тфСчета.ВыбратьСтроки();
    Пока тфСчета.ПолучитьСтроку() = 1 Цикл
    Если тфСчета.Флаг = 0 Тогда
    Продолжить;
    КонецЕсли;               
    сзСчета.ДобавитьЗначение(СчетПоКоду(тфСчета.Счет));
    КонецЦикла;
    
    Или не такой нужен?
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну похож, только здесь формируется список значений, а тебе нужна строка для вывода.

    Можно просто дополнить данный цикл.
  7. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    Подскажи пожалуйста как дополнить его :angry:
  8. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    В общем получилось, оказалось в модуле был закомментирован следующий фрагмент кода:
    Код:
    Если СтрСчетов = "" Тогда
    СтрСчетов = СокрЛП(тфСчета.Счет);
    Иначе
    СтрСчетов = СтрСчетов + ", " + СокрЛП(тфСчета.Счет);
    КонецЕсли;
    
    После его раскомментировки, в макете выбрал выражение "СтрСчетов" и все прекрасно вывелось!
  9. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    :angry: и абсолютно совпадает с моим алгоритмом в посте #4
  10. TopicStarter Overlay
    spartak_lp
    Offline

    spartak_lp Опытный в 1С

    Регистрация:
    3 окт 2011
    Сообщения:
    201
    Симпатии:
    0
    Баллы:
    26
    ага :D

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