Подскажите пожалуйста. Форма выбора у меня представлена в виде динамического списка. Пытаюсь из списка значений в форме выбора сделать выбор. Результата никакого.
Цитата(Sergio @ 21.03.13, 17:04) необходимо зарегистрироваться для просмотра ссылки
Пытаюсь из списка значений в форме выбора сделать выбор
Как?
В поле Контрагенты Табличной части справочника Номенклатура вызываю форму выбора с динамическим списком, из которого хочу выбрать Контрагента. Ставлю точку останова в "ОбработкаВыбора" и вижу, что "ВыбранноеЗначение" является порядковым номером выбранного мной Контрагента в списке Контрагентов в Форме выбора и тип его - число. Ничего не понятно.
Использую Динамический список так как Контрагентов выбираю не всех, а по условию (только Поставщики)
Все, нашел ошибку: В Динамическом списке надо обязательно выбрать Основную таблицу и установить галку "Динамическое считывание данных". Тема снята.
Нет, ерунда. Если указываю Основную таблицу и Динамическое считывание данных, тогда не работают условия, выставленные в Запросе Динамического списка
А форма в режиме выбора открыта?
Без контрольного примера, тяжело что-то сказать. Хотя бы код покажите, как вызываете. А лучше сделать контрольный пример и залить куда-то, так вероятность больше, что кто-то подскажет.
Так и выкладывать то и нечего: пока ни строчки кода не написал. Задача по идее не частная. У меня есть табличная часть (в моей задаче в справочнике Номенклатура). В табличную часть я хочу, что бы пользователь мог вносить Контрагентов (то есть информация о возможных поставщиках этих товаров). Вот и вся задача. Только я хочу, что бы Пользователь выбирал не из всех контрагентов справочника Контрагенты, а только с флагом Поставщики. Для этого я в справочнике Контрагенты создаю форму выбора (ФормаВыбораПоставщики), в палитре свойств этой формы устанавливаю флаг "Произвольный запрос" и в запросе выбираю только Поставщики из справочника Контрагенты. Эту форму привязываю к полю Поставщики табличной части. Пользователь в табличной части добавляет новую строку, нажимает F4 (выбор) и появляется созданная мною ФормаВыбораПоставщики, которая содержит динамический список с Поставщиками (все как я и планировал). Но при выборе поставщика в табличной части этот поставщик не заполняется. Ставлю точку останова, смотрю результат выбора (ВыбранноеЗначение) - порядковый номер строки выбранного из динамического списка элемента.
Цитата(Sergio @ 22.03.13, 7:42) необходимо зарегистрироваться для просмотра ссылки
создаю форму выбора
При создании указываете, что это именно форма выбора?
Цитата(Sergio @ 22.03.13, 7:42) необходимо зарегистрироваться для просмотра ссылки
Эту форму привязываю к полю Поставщики табличной части
Каким образом?
В палитре свойств поля Контрагенты Табличной части "Форма выбора"
Вообщем покопался я в нете и решил эту задачу следующим образом:
1. В модуле формы выбора на событие "Выбор" ручками пишу ОповеститьОВыборе(Элементы.Список.ТекущиеДанные.Наименование).
2. В модуле формы, на которой расположена Табличная часть значением, полученным с помощью ОповеститьОВыборе заполняю поле табличной части.
И все работает. Но у меня, в этой связи, появились вопросы: почему я не могу получить результат выбора обычным способом ? Потому что у этого динамического списка нет Основной таблицы ? Но, с Основной таблицей не работает запрос в Динамическом списке. Вообщем, задачу я решил, но больше вопросов, чем ответов. Спасибо за внимание. Тема, видимо, мало актуальная, если кроме Вовки Основателя никто не заинтересовался. Но если кому интересно детальные подробности решения задачи, или у кого то есть ответы на мои вопросы по динамическому списку - милости прошу.
Я вам повторю ещё раз: без контрольного примера - разговор ни о чём. Почему никто, кроме меня, не принимает участие в теме? Потому что задача тривиальна, а телепатировать почему оно у вас не работает - ни у кого желания не возникает. Но и мои телепатические способности в данный момент на исходе.
Sergio Дурной тон задавать параметры в запросе, если на самом деле их нужно указывать в отборе. Динамические списки основаны на СКД. А в СКД это правильнее делать отборами(так жизнь проще будет)
Цитата(Sergio @ 21.03.13, 17:46) необходимо зарегистрироваться для просмотра ссылки
В поле Контрагенты Табличной части справочника Номенклатура вызываю форму выбора с динамическим списком, из которого хочу выбрать Контрагента. Ставлю точку останова в "ОбработкаВыбора" и вижу, что "ВыбранноеЗначение" является порядковым номером выбранного мной Контрагента в списке Контрагентов в Форме выбора и тип его - число. Ничего не понятно.
Использую Динамический список так как Контрагентов выбираю не всех, а по условию (только Поставщики)
В свойствах реквизита объекта справочника (если это просто поле, то в свойствах поля) укажите "Параметры выбора" Отбор.Поставщик значение Истина. И при отыктии формы выбора она будет отфильтрована только по поставщикам. Это механизм платформы, не пойму зачем тут городится какой-то огород.
Добрый день, форумчане. Я, когда за эту задачу взялся, сразу отбором и сделал. Но вся беда в том, что тогда в форме выбора контрагентов видны все папки, созданные пользователем. Да, они все пустые, кроме одной (которая нужна), но для пользователя пустые папки - это лишняя информация, которая его раздражает.
Передайте в Параметры отбора ЭтоГруппа - Ложь
Добрый день. Да, я так пробовал: настраиваю список формы Выбора в свойствах списка. Устанавливаю Отбор по ТипКонтрагента - Поставщик и "ЭтоГруппа" не равно "Да" . Отбор по поставщику работает, отбор по "ЭтоГруппа" не равно "Да" - не работает. Папки в списке. Не понятно.
Цитата(Sergio @ 26.03.13, 8:13) необходимо зарегистрироваться для просмотра ссылки
"ЭтоГруппа" не равно "Да"
Интересные вы условия ставите
Цитата(Sergio @ 26.03.13, 8:13) необходимо зарегистрироваться для просмотра ссылки
список формы Выбора в свойствах списка
Я вам выше говорил о свойствах реквизита объекта, на кой лезть в список формы выбора, если в вашем случае ее вообще можно не трогать.
Битва экстрасенсов продолжается
Переделал как сказали. Тот же эффект
! |
| Вставляйте картинки по правилам
|
В Динамическом списке, в режиме Произвольного Запроса, есть закладка Настройки. Там отборы настраиваете?
Где-то читал, что папки в любом случае будут отображаться в динамическом списке, если указана основная таблица. Попробуйте убрать основную таблицу и написать произвольный запрос.
Цитата(Acid @ 26.03.13, 10:47) необходимо зарегистрироваться для просмотра ссылки
В Динамическом списке, в режиме Произвольного Запроса, есть закладка Настройки. Там отборы настраиваете?
Да, и так пробовал. Папки отображаются
Цитата(logist @ 26.03.13, 9:23) необходимо зарегистрироваться для просмотра ссылки
Я вам выше говорил о свойствах реквизита объекта, на кой лезть в список формы выбора, если в вашем случае ее вообще можно не трогать.
Сделал как говорили - тот же эффект
Цитата(svinuk @ 27.03.13, 12:55) необходимо зарегистрироваться для просмотра ссылки
Где-то читал, что папки в любом случае будут отображаться в динамическом списке, если указана основная таблица. Попробуйте убрать основную таблицу и написать произвольный запрос.
Да, сделал произвольный запрос, результат которого помещаю в форму выбора, когда вызываю форму выбора и пытаюсь из динамического списка выбрать элемент - ничего не происходит: значение выбранного элемента из динамического списка не передается в ВыбранноеЗначение
ВЫБРАТЬ РАЗЛИЧНЫЕ
Контрагенты.Ссылка,
Контрагенты.Наименование,
Контрагенты.Телефон
ИЗ
Справочник.Контрагенты КАК Контрагенты,
Перечисление.ТипКонтрагента КАК ТипКонтрагента
ГДЕ
Контрагенты.ТипКонтрагента = ЗНАЧЕНИЕ(Перечисление.ТипКонтрагента.Поставщики)
! |
| Читаем правила, и вставляем картинки как надо
|
Цитата(Sergio @ 27.03.13, 21:57) необходимо зарегистрироваться для просмотра ссылки
значение выбранного элемента из динамического списка не передается в ВыбранноеЗначение
А у значения свойство "Использовать всегда" установлено?
Цитата(Sergio @ 27.03.13, 21:57) необходимо зарегистрироваться для просмотра ссылки
Сделал как говорили - тот же эффект
Значит, что-то не так сделали.
Чтобы отключить показ папок, необходимо в свойстве 'Отображение' указать 'список'
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.