powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Табличная часть документа в динамическом списке
9 сообщений из 9, страница 1 из 1
Табличная часть документа в динамическом списке
    #37392288
calmius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

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

Помогите, пожалуйста, в нескольких вопросах, возникших при таком использовании динамических списков.

1. Можно ли и каким образом организовать подобный вывод любых связанных таблиц? Например, список элементов справочника и данные связанного с ним регистра сведений, где ссылка на справочник является измерением.

2. Каким образом написать запрос списка так, чтобы в табличной части добавить колонку со связанной информацией? Конструкции вида:

ВЫБРАТЬ
ДокументЗаказПоставщику.Ссылка,
ДокументЗаказПоставщику.Номер,
ДокументЗаказПоставщику.Дата,
ДокументЗаказПоставщику.Товары.(
НомерСтроки,
Номенклатура,
Количество,
кУсловияПоставкиНоменклатурыСрезПоследних.СрокИзготовления
)
ИЗ Документ.ЗаказПоставщику КАК ДокументЗаказПоставщику
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.кУсловияПоставкиНоменклатуры.СрезПоследних КАК кУсловияПоставкиНоменклатурыСрезПоследних ПО ДокументЗаказПоставщику.Товары.Номенклатура = кУсловияПоставкиНоменклатурыСрезПоследних.Номенклатура

выдают результат с перемножением числа строк табличной части (профайлер показывает, что связь регистра с тч происходит, но результат подзапроса с основной таблицей связывается только по документу, не номенклатуре).

3. Каковы могут быть причины значительного, на порядок, замедления вывода динамических списков (при перелистывании, например) с назначенной основной таблицей по сравнению со списком без основной таблицы? (при наличии дополнительных колонок в списке - левых соединений с основной таблицей).

версия платформы: 8.2.13.219
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37392348
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
calmius,

1) Нет. Нужен произвольный запрос с параметром.
2) Произвольный запрос
ВЫБРАТЬ
ДокументЗаказПоставщику.Ссылка,
ДокументЗаказПоставщику.Номер,
ДокументЗаказПоставщику.Дата,
ДокументЗаказПоставщику.Товары.(
НомерСтроки,
Номенклатура,
Количество,
кУсловияПоставкиНоменклатурыСрезПоследних.СрокИзготовления
)
ИЗ Документ.ЗаказПоставщику КАК ДокументЗаказПоставщику
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.кУсловияПоставкиНоменклатуры.СрезПоследних КАК кУсловияПоставкиНоменклатурыСрезПоследних ПО ДокументЗаказПоставщику.Товары.Номенклатура = кУсловияПоставкиНоменклатурыСрезПоследних.Номенклатура
Как раз наоборот. Происходит связывание по номенклатуре. Надо добавить условие Рестр.Регистратор = Документ.Ссылка.
3) Каждое изменение позиции основного списка приводит к формированию данных для связанного динамического списка по новой.
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37392564
calmius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADHP,

на 2) и 3): здесь речь именно об одном списке, включающем подчиненные таблицы, а не двух связанных.
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37393241
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2) Регистр сведений - не подчинённая таблица.
3) Я правильно понимаю, что речь об одном и том же списке, с установленной основной таблицей и без оной? Динамическое считывание разрешено?
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37393257
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в документации по программе есть неточность. Объединения нельзя использовать только если указана основная таблица.
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37393319
calmius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно.
Не важно в данном случае, скорость падает в любом варианте.
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37393580
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDPКстати в документации по программе есть неточность. Объединения нельзя использовать только если указана основная таблица.Тоесть нельзя писать "Левое соединенние" если не указал основную таблицу?
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37395049
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
calmius,

Что правильно?
Привидите тексты запросов, описания настроек и временные характеристики. А то не совсем понятно, что вас смущает.
...
Рейтинг: 0 / 0
Табличная часть документа в динамическом списке
    #37395053
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,

Ты наверное не так прочитал ;)

Объединение - формирование итогового результата путём объедения результатов нескольких (не связанных между собой) запросов, возвращающих одинаковые по структуре результаты. Количество записей в результирующем наборе будет равно сумме записей в подзапросах (Объеденить все) или будет равно колиличеству уникальных записей (Объеденить). Если есть уверенность, что наличие дублей не критично или их не может быть, то для увеличения бысродействия следует явно указывать Объеденить все.
Например получим список всех уникальных физических лиц, которые были введены в базу.
Выбрать "" + Фамилия + Имя + Отчество Из ФизическиеЛица
Объеденить
Выбрать НаименованиеПолное Из Контрагенты Где ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ФизЛицо)

Соединение - формирование результирующего набора данных на основании двух и более таблиц, обычно на основании условия(ий) связи между ними. В 1С может быть неявным (через точку, которая порождает левое соединение). Количество записей зависит от условий связи таблиц и условий наложенных на данные в таблицах.
Например получим список банков-контрагентов
ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент
ИЗ Справочник.Контрагенты КАК Контрагенты
СОЕДИНЕНИЕ Справочник.Банки КАК Банки
ПО Контрагенты.Наименование = Банки.Наименование

Соединение не следует путать с добавлением в итоговый набор данных столбцов с данными или структурой отличных от содержащихся в таблице и полученных путём преобразования данных.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Табличная часть документа в динамическом списке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]