Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Вывод ссылочных полей          
Batchir Подменю пользователя
сообщение 24.03.09, 19:37
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

При выводе ссылочных полей в отчет (а также в тех местах, где необходимо отображать представление, например, при выводе значения при помощи функции "Сообщить") следует учитывать тот факт, что при выводе значения-ссылки программа будет выполнять дополнительный запрос для получения представления поля, вследствие чего процесс вывода будет выполняться медленнее. Для того чтобы избежать подобного эффекта, следует в запросе сразу получать поле - представление для ссылочного поля и уже его и выводить в отчет. Ссылочное же поле целесообразно выводить в расшифровку ячейки с тем, чтобы пользователь имел возможность "открыть" значение ячейки и перейти к элементу.

Пример:



ВЫБРАТЬ
ПродажиКомпанииОбороты.Номенклатура КАК Номенклатура,
ПродажиКомпанииОбороты.ДокументПродажи.Контрагент КАК ДокументПродажиКонтрагент,
ПродажиКомпанииОбороты.КоличествоОборот КАК КоличествоОборот,
ПродажиКомпанииОбороты.СуммаПродажиОборот КАК СуммаПродажиОборот
ИЗ
РегистрНакопления.ПродажиКомпании.Обороты КАК ПродажиКомпанииОбороты
ИТОГИ СУММА(КоличествоОборот), СУММА(СуммаПродажиОборот)
ПО
ОБЩИЕ,
Номенклатура,
ДокументПродажиКонтрагент


При выводе результата такого запроса в табличный документ программа будет выполнять дополнительные запросы для получения представлений полей "Номенклатура" и "Контрагент", в результате чего вывод отчета замедлится. Для того чтобы избежать получения представлений во время вывода отчета, следует в запрос добавить поля-представления и в отчет выдавать именно их.

Пример:



ВЫБРАТЬ
ПродажиКомпанииОбороты.Номенклатура КАК Номенклатура,
ПродажиКомпанииОбороты.Номенклатура.Представление КАК НоменклатураПредставление,
ПродажиКомпанииОбороты.ДокументПродажи.Контрагент КАК ДокументПродажиКонтрагент,
ПродажиКомпанииОбороты.ДокументПродажи.Контрагент.Представление КАК КонтрагентПредставление,
ПродажиКомпанииОбороты.КоличествоОборот КАК КоличествоОборот,
ПродажиКомпанииОбороты.СуммаПродажиОборот КАК СуммаПродажиОборот
ИЗ
РегистрНакопления.ПродажиКомпании.Обороты КАК ПродажиКомпанииОбороты
ИТОГИ СУММА(КоличествоОборот), СУММА(СуммаПродажиОборот)
ПО
ОБЩИЕ,
Номенклатура,
ДокументПродажиКонтрагент

Из данного запроса необходимо выдавать в табличный документ поля "НоменклатураПредставление" и "КонтрагентПредставление".

Обратим внимание на то, что реализованный в конфигураторе конструктор выходных форм следует выше названным правилам. Он автоматически добавляет необходимые поля-представления в запрос и обеспечивает вывод в отчет именно их.

Заметим, что получение реквизитов "через точку" от ссылочных полей в момент вывода отчета также является операцией способной значительно замедлить вывод отчета. Поэтому для вывода реквизитов ссылочных полей необходимо их получать непосредственно в запросе, а не получать через ссылку при выводе отчета.

Например, для вывода поля "Код" элемента номенклатуры следует использовать такой запрос:



ВЫБРАТЬ
ПродажиКомпанииОбороты.Номенклатура КАК Номенклатура,
ПродажиКомпанииОбороты.Номенклатура.Представление КАК НоменклатураПредставление,
ПродажиКомпанииОбороты.Номенклатура.Код КАК НоменклатураКод,
ПродажиКомпанииОбороты.ДокументПродажи.Контрагент КАК ДокументПродажиКонтрагент,
ПродажиКомпанииОбороты.ДокументПродажи.Контрагент.Представление КАК КонтрагентПредставление,
ПродажиКомпанииОбороты.КоличествоОборот КАК КоличествоОборот,
ПродажиКомпанииОбороты.СуммаПродажиОборот КАК СуммаПродажиОборот
ИЗ
РегистрНакопления.ПродажиКомпании.Обороты КАК ПродажиКомпанииОбороты
ИТОГИ СУММА(КоличествоОборот), СУММА(СуммаПродажиОборот)
ПО
ОБЩИЕ,
Номенклатура,
ДокументПродажиКонтрагент


И выдавать в отчет поле НоменклатураКод, а не получать через ссылку реквизит "Код".

Об использовании представлений ссылочных полей в построителе отчета см. раздел "Работа построителя отчета с представлениями ссылочных значений".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 14.05.24, 20:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!