1Cv82: Ограничения

Материал из КинтВики
Перейти к: навигация, поиск

Содержание

Ограничения динамических списков в 1С v8.2

Невозможно установить параметры запроса, если не выбрана основная таблица

При создании произвольного запроса динамического списка, необходимо указывать основную таблицу. Иначе в коде нельзя задать значения параметров запроса - список параметров пуст.

Если запрос устанавливается кодом, и он неправильный, то список параметров тоже пуст

При этом ошибка возникает не в момент установки текста запроса, а в момент установки параметров.

Нельзя группировать в запросе по основной таблице

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

Ограничения на получение данных текущей строки динамического списка

Если колонка динамического списка не отображается в таблице на форме, нельзя получить к ней доступ в коде через "ТекущиеДанные". Это ограничение можно преодолеть таким образом: сделать колонку в редакторе видимой, а при открытии формы скрывать ее (ЭтаФорма.Элементы.Список.ПодчиненныеЭлементы.Колонка.Видимость = ложь).

Нельзя получать реквизиты объектов через точку, для отображения их в таблице на форме

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

В случае когда основная таблица - накопительный регистр, наблюдаются странные ошибки платформы

После кликания мышкой по табличной части а потом по заголовку колонки, или при развороте на полный экран, платформа не могла найти объект "recorder". Помогло искусственное соединение регистра со справочником, который был сделан основной таблицей: <source lang=1sql> ВЫБРАТЬ ЦелевойЭтап.ЭтапБП КАК ЦелевойЭтап, ЦелевойЭтап.Регистратор.АвторПерехода КАК АвторПерехода, ЦелевойЭтап.Период КАК ДатаПерехода, ИсходныйЭтап.ЭтапБП КАК ИсходныйЭтап ИЗ (ВЫБРАТЬ ЗадачиСтруктурныхЕдиниц.Регистратор КАК Регистратор, ЗадачиСтруктурныхЕдиниц.ЭтапБП КАК ЭтапБП, ЗадачиСтруктурныхЕдиниц.Период КАК Период ИЗ РегистрНакопления.ЗадачиСтруктурныхЕдиниц КАК ЗадачиСтруктурныхЕдиниц ГДЕ ЗадачиСтруктурныхЕдиниц.ЭкземплярБизнесПроцесса = &Процесс И ЗадачиСтруктурныхЕдиниц.Амплитуда = -1) КАК ИсходныйЭтап ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗадачиСтруктурныхЕдиниц КАК ЦелевойЭтап ПО ИсходныйЭтап.Регистратор = ЦелевойЭтап.Регистратор ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЭтапБП КАК ЭтапБПТаблица ПО ИсходныйЭтап.ЭтапБП = ЭтапБПТаблица.Ссылка ГДЕ ЦелевойЭтап.ЭкземплярБизнесПроцесса = &Процесс И ЦелевойЭтап.Амплитуда = 1 </source>

Нельзя получать реквизиты объектов через точку, для отображения их в таблице на форме

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

Лучше не указывать синонимы для колонок Ссылка и Наименование

Если указать синоним для колонки Ссылка или Наименование в динамическом запросе, то результирующий список на форме не будет отображать Ссылку и Наименование.


Очищается ТабличныйДокумент при передаче его как параметр с Клиента на Сервер

Когда параметром передается ТабличныйДокумент из Клиента на Сервер, то его данные очищаются (остаются только группировки).

Ограничения размещения элементов в управляемой форме

Если в горизонтальной группе размещается несколько элементов, то "растягиваемым" может быть только первый.

В случае если разместить в такой группе другие "растягиваемые" элементы, то вся группа перестает масштабироваться по горизонтали.

А если хотя бы одна группа из расположенных на странице не масштабируется, то не масштабируются и все остальные.

В результате вся страница не растягивается по горизонтали.

Ограничения на использование перевода строки в сообщениях с сервера

При вызове функции Сообщить() с сервера, переводы строки в сообщении будут проигнорированы.

<source lang=1c> &НаКлиенте Процедура прц1()

   Сообщить("Строка1" + Символы.ПС + "Строка2");

КонецПроцедуры

&НаСервере Процедура прц2()

   Сообщить("Строка1" + Символы.ПС + "Строка2");

КонецПроцедуры </source>