8.х Получение данных из табличной части документа для вставки в макет

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем andreya81, 27 ноя 2014.

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    День добрый.
    Помогите разобраться с одной дилеммой. Существует печатная форма приложение к договору займа в ней есть таблица график платежей. С другой стороны есть документ Договор займа в котором есть табличная часть График платежей. Задача в том, чтобы из графика платежей документа данные перемещались в макет при печати. Создание через конструктор макета не подходит так как очень своеобразная печатная форма (очень много текста) и тем более она уже создана. Написана функция для ее формирования как Функция Сформировать....(МассивОбъектов, Объекты Печати) с запросом, а конструктор строит через Процедуру (ТабДок, Ссылка). Подскажите выход.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    править код функции Сформировать.....(МассивОбъектов, ОбъектыПечати).
  3. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    А как? Подскажете?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Подсказать-то я подскажу, только вам необходимы навыки программирования.
  5. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Есть немного. Функцию сам написал. Все работает.
    --- Объединение сообщений, 27 ноя 2014 ---
    Есть ли какая-нибудь замена команде или не знаю как ее правильно назвать, а именно "Выбрать" которая не работает с объектами. Может попробовать через ВЫРАЗИТЬ в запросе?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    чего получить хотите в результате своих действий?
  7. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Хочу, чтобы в таблице график платежей в макете были данные из графика платежей из документа. В графике который в документе, а именно в табличной части есть реквизиты: НомерСтроки, Период, СуммаПлатежа и т.д и т.п. В макете же есть область График платежей где есть параметры именуемые так же как и реквизиты. А еще есть область ПодвалГрафикаПлатежей где хотелось бы получить ИТОГО.
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    И в чем именно сложности?
  9. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Не могу выразить Реквизиты табличной части в запросе пишет Поле не найдено
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Дык запрос покажите.
  11. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    потому как вы скорее всего работаете с документом, а не его Таб частью. Запрос в студию...
    --- Объединение сообщений, 27 ноя 2014 ---
    должно быть примерно так, если я правильно поняла
    Код:
    ВЫБРАТЬ
    тч.рекв1,
    тч.рекв2
    ИЗ
    Документы.ВашДок.ТЧ как тч
    ГДЕ
    тч.Ссылка = &ПарамВашДок
  12. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Функция СформироватьПечатнуюФормуГрафикПлатежейСреднесрочный(МассивОбъектов, ОбъектыПечати)
    Запрос = Новый Запрос;

    Запрос.Текст = "ВЫБРАТЬ
    | мфоВыдачаЗайма.Ссылка,
    | мфоВыдачаЗайма.Номер,
    | мфоВыдачаЗайма.ДатаВыдачи,
    | мфоВыдачаЗайма.ФИОМенеджера,
    | мфоВыдачаЗайма.Контрагент,
    | мфоВыдачаЗайма.ПСК,
    | мфоВыдачаЗайма.СуммаЗайма,
    | мфоВыдачаЗайма.Организация,
    | мфоВыдачаЗайма.Организация.ИНН КАК Организация_ИНН,
    | мфоВыдачаЗайма.Организация.КПП КАК Организация_КПП,
    | мфоВыдачаЗайма.Ставка,
    | мфоВыдачаЗайма.СрокЗайма,
    | мфоВыдачаЗайма.НомерСтроки,
    | ЕСТЬNULL(КИ_Организация_Адрес.Представление, """") КАК ЮрАдресОрганизации,
    | ЕСТЬNULL(КИ_ТочкаПродаж_Адрес.Представление, """") КАК ПодразделениеАдрес,
    | ЕСТЬNULL(КИ_ТочкаПродаж_Телефон.Представление, """") КАК ПодразделениеТелефон,
    | ЕСТЬNULL(КИ_ТочкаПродаж_Адрес.Город, """") КАК ПодразделениеГород,
    | ЕСТЬNULL(КИ_Контрагент_Адрес.Представление, """") КАК ФактАдресКонтрагента,
    | ЕСТЬNULL(КИ_Контрагент_Телефон.Представление, """") КАК ТелефонКонтрагента,
    | ЕСТЬNULL(КИ_Контрагент_ЮрАдрес.Представление, """") КАК ЮрАдресКонтрагента,
    | мфоВыдачаЗайма.БанковскийСчет.КоррСчетБанка КАК КорСчет,
    | мфоВыдачаЗайма.БанковскийСчет.НомерСчета КАК РасчетныйСчет,
    | мфоВыдачаЗайма.БанковскийСчет.БИКБанка КАК БИК,
    | мфоВыдачаЗайма.БанковскийСчет.Банк КАК Банк,
    | мфоВыдачаЗайма.Организация.РегистрационныйНомерВРеестреМФО КАК РегистрационныйНомер,
    | мфоВыдачаЗайма.ГрафикПлатежей.НомерСтроки КАК НомерСтроки,
    | мфоВыдачаЗайма.ГрафикПлатежей.Период КАК Период,
    | мфоВыдачаЗайма.ГрафикПлатежей.СуммаПлатежа КАК СуммаПлатежа,
    | мфоВыдачаЗайма.ГрафикПлатежей.СуммаПроценты КАК СуммаПроценты,
    | мфоВыдачаЗайма.ГрафикПлатежей.СуммаПогашениеДолга КАК СуммаПогашенияДолга,
    | мфоВыдачаЗайма.ГрафикПлатежей.СуммаОстатокДолга КАК СуммаОстатокДолга
    |
    |
    |
    |ИЗ
    | Документ.мфоВыдачаЗайма КАК мфоВыдачаЗайма
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК КИ_Организация_Адрес
    | ПО мфоВыдачаЗайма.Организация = КИ_Организация_Адрес.Ссылка
    | И (КИ_Организация_Адрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации))
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мфоКонтрагенты.КонтактнаяИнформация КАК КИ_Контрагент_Адрес
    | ПО (КИ_Контрагент_Адрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
    | И мфоВыдачаЗайма.Контрагент = КИ_Контрагент_Адрес.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мфоКонтрагенты.КонтактнаяИнформация КАК КИ_Контрагент_ЮрАдрес
    | ПО (КИ_Контрагент_ЮрАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента))
    | И мфоВыдачаЗайма.Контрагент = КИ_Контрагент_ЮрАдрес.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мфоКонтрагенты.КонтактнаяИнформация КАК КИ_Контрагент_Телефон
    | ПО (КИ_Контрагент_Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента))
    | И мфоВыдачаЗайма.Контрагент = КИ_Контрагент_Телефон.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мфоПодразделенияОрганизаций.КонтактнаяИнформация КАК КИ_ТочкаПродаж_Адрес
    | ПО мфоВыдачаЗайма.Подразделение.Ссылка = КИ_ТочкаПродаж_Адрес.Ссылка
    | И (КИ_ТочкаПродаж_Адрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресТочкиПродаж))
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мфоПодразделенияОрганизаций.КонтактнаяИнформация КАК КИ_ТочкаПродаж_Телефон
    | ПО мфоВыдачаЗайма.Подразделение.Ссылка = КИ_ТочкаПродаж_Телефон.Ссылка
    | И (КИ_ТочкаПродаж_Телефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонТочкиПродаж))
    |
    |ГДЕ
    | мфоВыдачаЗайма.Ссылка В(&МассивДокументов)";

    Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
    --- Объединение сообщений, 27 ноя 2014 ---
    Пробовал и
    мфоВыдачаЗайма.ГрафикПлатежей.НомерСтроки
    --- Объединение сообщений, 27 ноя 2014 ---
    А в области
    ОбластьМакет.НомерСтроки = ДанныеПечати.НомерСтроки
    Здесь и говорит об ошибке
  13. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    нет времени переделывать, смотрите вы выбираете табчасть как поле - следовательно вам и работать с ней как с таблице значений. Т.Е. берете поле - выгружаете в таблицу и циклом по ней идете

    Либо, переделываете запрос - обращаетесь сразу к табчасти и через поле Ссылка у вашей табчасти - выбираете остальные реквизиты и по них связаваете с другими объектами
  14. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    И еще пробовал
    мфоВыдачаЗайма. ГрафикПлатежей (
    НомерСтроки
    и т.д.
    )
    --- Объединение сообщений, 27 ноя 2014 ---
    Подскажите как это сделать мои навыки еще малы. Это как сделать "Т.Е. берете поле - выгружаете в таблицу и циклом по ней идете".
  15. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вот так и пробуйте, но при обработке результата запроса - ГрафикПлатежей будет обычной таблицей Значений внутри вашей строки
  16. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    А как это в коде реализовать?
    --- Объединение сообщений, 27 ноя 2014 ---
    Я правильно понял
    В запросе
    мфо.ВыдачаЗайма.ГрафикПлатежей (
    НомерСтроки
    и т.д.
    )
    а как тогда в области разбить все реквизиты по ячейкам
    ОбластьМакета.НомерСтроки = ДанныеПечати.ГрафикПлатежей.НомерСтроки так что-ли?
    Последнее редактирование: 27 ноя 2014
  17. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Не выходит. Поле объекта не обнаружено. Помогите пожалуйста.
  18. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    а так:
    Код:
    ОбластьМакета.Параметры.НомерСтроки = ДанныеПечати.ГрафикПлатежей.НомерСтроки
  19. TopicStarter Overlay
    andreya81
    Offline

    andreya81 Опытный в 1С

    Регистрация:
    27 ноя 2014
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    Если вы о том, что я забыл Параметры это не так. Пробовал не выходит.
  20. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    тогда скрин ошибки
Статус темы:
Закрыта.

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