Имя: Пароль:
1C
1С v8
УФ Динамический список. Замкнутый круг.
,
0 Rounder
 
11.10.12
10:02
УФ
Программная настройка свойств динамического списка.
Как вырваться из замкнутого круга?
Суть:
программно заполняются свойства динамического списка свойствами другого ДС.
При установке свойства Список.ОсновнаяТаблица, автоматически устанавливается Список.ТекстЗапроса (что для меня критично - он должен быть пустым), при установке Список.ТекстЗапроса = "" автоматически устанавливается Список.ПроизвольныйЗапрос в Истина (что для меня критично - он должен быть Ложь), при установке Список.ПроизвольныйЗапрос = Ложь Список.ОсновнаяТаблица устанавливается в пустую строку (что для меня критично - основная таблица должна быть заполнена) и так далее по кругу...
1 5 Элемент
 
11.10.12
10:08
Ты определись что тебе нужно или ОсновнаяТаблица или пустой ТекстЗапроса
2 Rounder
 
11.10.12
10:13
Мне нужно
Список.ТекстЗапроса = ""
Список.ПроизвольныйЗапрос = Ложь
Список.ОсновнаяТаблица = "Справочник.Контрагенты" (например)

Именно такие свойства есть у динамического списка формы списка справочника Контрагенты при настройке свойств через палитру. Именно такими их показывает и отладчик в ПриСозданииНаСервере().
Но такими же программно их создать не получается.
3 GLazNik
 
11.10.12
10:15
(2) потому как то что тебе нужно по определению не совместимо!
Ищи другое решение.
4 5 Элемент
 
11.10.12
10:17
(2) простым смертным нельзя делать то что может платформа, смирись :)
5 Aprobator
 
11.10.12
10:18
(2) а что мешает? В СП вроде стоит чтение и запись.
6 Aprobator
 
11.10.12
10:20
(2) так основная таблица и относится к запросу. Ты, случаем основную таблицу со связанными данными не путаешь?
7 Rounder
 
11.10.12
10:20
Тогда вопрос немного с другой стороны.
Почему когда я выставляю в палитре свойств произвольный запрос вместо основной таблицы, то он формируется полным, т.е. фактически Выбрать * Из Справочник.Контрагенты, в т.ч. и табличные части.
А когда в палитре выставляю основную таблицу вместо произвольного запроса - то он формируется без табличных частей. Вижу это по доступным полям в настройке списка СКД.
8 Rounder
 
11.10.12
10:22
(5) Я не знаю что мешает - я описал в (0). Но видимо что-то мешает. Вот и хотел узнать что мешает.

Что есть связанные данные в твоем понимании?
Я сейчас оперирую только свойствами динамического списка
9 GLazNik
 
11.10.12
10:23
(7) произвольный запрос вместо основной таблицы... эмъ... это когда такое стало? для произвольного запроса так же можно указать основную таблицу.
10 Aprobator
 
11.10.12
10:28
(8) имхается мне, что тебе все то и надо у таблицы формы подменить ПутьКДанным. Главное, чтоб у формы был реквизит с этими данным. Надо только по условию сделать переключение на него.
11 Aprobator
 
11.10.12
10:30
(10) менять программно состав реквизитов формы, если что, можно и довольно не сложно.
12 Rounder
 
11.10.12
10:30
(10) Нет. Моя задача не решится подменой ПутьКДанным.
13 Rounder
 
11.10.12
10:31
Задача подменить стандартную форму настройки списка (отбор, сортировка, группировка, условное оформление) на свою.
14 Aprobator
 
11.10.12
10:32
не проще создать свою форму?
15 GLazNik
 
11.10.12
10:32
(8) Тут надо понимать, что есть произвольный запрос, а что есть основная таблица.
Произвольный запрос это возможность указать любой текст запроса, а не ВЫБРАТЬ * ИЗ Тратата
Основная таблица, это главная таблица для ДС. Запись из этой таблицы в ДС может встречаться только один раз. По этой основной таблице будет определены свойства и поведение списка (например поведение на ввод новой строки). При этом указав произвольный запрос так же можно указать и основную таблицу, но это таблица должна быть в запросе.
16 Aprobator
 
11.10.12
10:34
(15) да там задача по сути вообще в другом. Вон - (13) почитай. Только вот интересно, как она подменится то?
17 Rounder
 
11.10.12
10:35
(14) Так я ее и создаю и все уже прекрасно работает и реализована история отборов и много чего. Но мне не нравится, что в доступные поля попадают табличные части, а в стандартной настройке списка табличных частей нет. Т.е. при передаче своей настройки списка в настройки списка формы могут возникнуть коллизии - если пользователь использует поля ТЧ.
18 Rounder
 
11.10.12
10:36
(15) Я все понимаю. Но это понимание пока не помогает мне решить мою задачу :(
19 GLazNik
 
11.10.12
10:38
(18) Собственно для того, что бы поменять (отбор, сортировка, группировка, условное оформление) текст запроса то и трогать не надо. Для этого есть свои свойства у ДС.
20 Rounder
 
11.10.12
10:38
Можно конечно обрабатывать выбор поля - и пользователю говорить что такое поле выбрать нельзя или вообще не давать его выбирать - но лучшее решение не показывать его вообще в доступных. А как этого достичь пока не придумал.
21 MSII
 
11.10.12
10:38
(13) И в чем затык? Запрещаешь вызов стандартной формы настройки, создаешь свою, в которой рулишь отборами-сортировками списка. Текст запроса вообще менять не нужно.
22 Rounder
 
11.10.12
10:40
(19) У меня создана форма. В ней есть динамический список - пустой. Его свойства заполняю свойствами целевого списка программно. И вот во время заполнения и происходит описанное в (0).
23 Rounder
 
11.10.12
10:42
(21) прочти (17)
24 Aprobator
 
11.10.12
10:44
грят те создай свой реквизит формы и свяжи его с таблицей формы. На худой конец можно даже таблицу пересоздать, чтобы нужные тебе колонки нарисовались.
25 Rounder
 
11.10.12
10:47
(24) Либо меня не понимают, либо я :)
Прошу подробно объяснить (24)
26 Rounder
 
11.10.12
11:03
Тогда изложу что сделано - может слишком наворотил и можно было проще?

Есть ФормаНастройкиСписка (не важно где: или в общих формах, или в обработке). Этот функционал будет нужен во всех динамических списках конфигурации. Основной объект Список (тип ДинамическийСписок) с пустыми свойствами. На форму вынесено все то же, что и в стандартной форме настройки списка.
При создании на сервере заполняю свойства Списка свойствами целевого списка, и также Список.Отбор, Список.Порядок, Список.Группировка и Список.УсловноеОформление.
Далее открываю ее пользователю. Он как хочет настраивает список и жмет Ок. В форму списка целевого объекта (например справочника) передаются все настройки, а далее настраивается отбор, сортировка, группировка и УО целевого списка согласно полученным данным из ФормаНастройкиСписка.