Имя: Пароль:
1C
 
демонический список, вытащить текст сгенерированного запроса
0 novichok79
 
10.01.17
09:24
Доброе утро, уважаемые специалисты 1С.
Столкнулся с необходимостью отладки запроса из динамического списка. В новых версиях платформы 1С, у таблицы динамического списка появились два новых метода:
ПолучитьИсполняемуюСхемуКомпоновкиДанных();
ПолучитьИсполняемыеНастройкиКомпоновкиДанных().
Но поскольку в УТ 11.2.3 (где я и отлаживаю список) включена совместимость с 8.3.6, эти методы недоступны. Я программно создаю схему компоновки данных, заполняю ее из настроек дин. списка и получаю макет компоновки данных. Есть ли способ получить текст запроса из получившегося макета с учетом всех отборов и сортировок дин. списка? Заранее благодарю за помощь.
1 famnam
 
10.01.17
09:30
см в отладчике МакетКомпоновкиДанных.НаборыДанных
2 novichok79
 
10.01.17
09:32
(1) уже посмотрел, текст запроса в наборе не учитывает установленные отборы. или мне кажется?
3 cons74
 
10.01.17
10:40
Точно не помню. Возможно что ты видишь текст до применения к нему отборов и прочих изменений компоновщиком.
4 cons74
 
10.01.17
12:45
А ну да. Макет = КомпоновщикМакета.Выполнить(СКД, Настройки). Вот только после этого см. в дереве Макета.
5 novichok79
 
12.01.17
07:27
(4) да, я сделал уже. даже дописал свою консоль запросов для управляемых форм - сделал копию настроек динамического списка в новую схему компоновки, применил отборы и упорядочивание, скомпоновал макет и сграббил оттуда получившийся запрос.
при переносе данных была ошибка - оказалось что у 1 позиции номенклатуры есть несколько основных вариантов комплектации - в итоге ссылка в динамическом списке повторялась 2 раза и в форме подбора номенклатуры ничего не показывалось.
6 impulse9
 
12.01.17
07:33
(0) Я бы отключил совместимость в копии боевой базы и тестировал через новые методы
7 novichok79
 
12.01.17
08:21
(6) ну только если поиграться.
8 apokrit
 
12.01.17
08:57
(0), (6) - методы не закрыты режимом совместимости. Можно хоть в совместимости с 8.2.13 использовать.

Другой вопрос - какое отношение эти методы вообще имеют к исходному вопросу? Они генерируют схему и настройки, а не макет / результирующий текст запроса.

Собственно в (4) ответ дан.
9 novichok79
 
12.01.17
09:07
(8) может быть я делал что-то не так, но эти методы были недоступны.
10 cons74
 
19.01.17
16:23
(6) не помогло - новый метод не видит. Надо еще и платформу 8.3.10
11 apokrit
 
19.01.17
16:41
(9), (10)
Метод(ы) были реализованы в 8.3.6
Распространенной ошибкой является попытка вызывать эти методы у динамического списка - конечно это не работает, потому что это методы таблицы формы, связанной с динамическим списком (а не самого списка).
12 Shandor777
 
19.01.17
17:08
Демонический список - это круто!
См. заголовок :)
13 novichok79
 
20.01.17
09:19
(12) 1с любит это слово, наверное потому что зачастую оно отражает суть лучше, чем слово "динамический"
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший