Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отбор из реквизита , Табличной части справочника из табличной части в динамическом списке          
egorkalm Подменю пользователя
сообщение 19.10.12, 18:41
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый вечер.

Помогите разобраться с проблемой.

При переходе по табличной части справочника необходимо устанавливать отбор в соседнем динамическом списке.
Проблема в том, что если задать параметр прямо, например, "Тест", то все работает. А если записывать в отбор переменную "ТекущаяСтрока.НоменклатурнаяГруппа" отбор пустой. Почему так происходит? Где ошибка?
Конфигурация УНФ

&НаКлиенте
Процедура СписокНоменклатурныхГруппПриАктивизацииСтроки(Элемент)
    ТекущаяСтрока = Элементы.СписокНоменклатурныхГрупп.ТекущиеДанные;
    ттт="Тест";
    тт=тест(ттт);
    
    Отбор = хвСправочникКатегорий.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.Использование = Истина;
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
    Отбор.ПравоеЗначение = тт;
    //        Отбор.ПравоеЗначение = ТекущаяСтрока.номенклатурнаягруппа;
    Элементы.СписокНоменклатурныхГрупп.Отображение = ОтображениеТаблицы.ИерархическийСписок;
    
КонецПроцедуры

&НаСервере
Функция тест(ттт)
     Возврат Справочники.НоменклатурныеГруппы.НайтиПоНаименованию(ттт)
КонецФункции // тест()



 i 

Выделяйте код. Ознакомьтесь с правилами.
 


Сообщение отредактировал MATEVI - 19.10.12, 19:08

logist Подменю пользователя
сообщение 19.10.12, 19:17
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

&НаКлиенте
Процедура СписокНоменклатурныхГруппПриАктивизацииСтроки(Элемент)
    ТекущаяСтрока = Элементы.СписокНоменклатурныхГрупп.ТекущиеДанные;
    Отбор = хвСправочникКатегорий.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.Использование = Истина;
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
    Отбор.ПравоеЗначение = ТекущаяСтрока.Ссылка;
КонецПроцедуры

так не?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

egorkalm Подменю пользователя
сообщение 19.10.12, 19:25
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 19.10.12, 20:17) *
&НаКлиенте
Процедура СписокНоменклатурныхГруппПриАктивизацииСтроки(Элемент)
    ТекущаяСтрока = Элементы.СписокНоменклатурныхГрупп.ТекущиеДанные;
    Отбор = хвСправочникКатегорий.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.Использование = Истина;
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
    Отбор.ПравоеЗначение = ТекущаяСтрока.Ссылка;
КонецПроцедуры

так не?


В табл.части роль ссылка выполняет реквизит ТекущаяСтрока.НоменклатурнаяГруппа, это и есть ссылка на владельца. Но когда его подставляешь отбор ничего не показывает.

logist Подменю пользователя
сообщение 19.10.12, 19:29
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

А вообще, зачем вы накладываете отбор компоновки на динамический список? если можно передавать параметры отбора в запрос списка..


Signature
Личные бесплатные консультации не даю, для этого есть форум!

egorkalm Подменю пользователя
сообщение 19.10.12, 19:33
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 19.10.12, 20:29) *
А вообще, зачем вы накладываете отбор компоновки на динамический список? если можно передавать параметры отбора в запрос списка..


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

logist Подменю пользователя
сообщение 19.10.12, 19:43
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(egorkalm @ 19.10.12, 20:33) *
Я посмотрел как это делается в стандартной конфе

Плохо смотрели.
В стандартной конфе откройте общий модуль "УправлениеНебольшойФирмойКлиент", и посмотрите раздел процедур "ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ДИНАМИЧЕСКИМИ СПИСКАМИ", велосипед уже изобрели, вам остается научиться на нем ездить smile.gif


Signature
Личные бесплатные консультации не даю, для этого есть форум!

egorkalm Подменю пользователя
сообщение 20.10.12, 2:36
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 19.10.12, 20:43) *
Плохо смотрели.
В стандартной конфе откройте общий модуль "УправлениеНебольшойФирмойКлиент", и посмотрите раздел процедур "ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ДИНАМИЧЕСКИМИ СПИСКАМИ", велосипед уже изобрели, вам остается научиться на нем ездить smile.gif


Вопрос не в этом. Вопрос в том,почему

 Отбор.ПравоеЗначение = тт;
- работает

а

Отбор.ПравоеЗначение = ТекущаяСтрока.номенклатурнаягруппа; - не работает

При этом в отладчике

тт = ТекущаяСтрока.номенклатурнаягруппа;


Т.е. это АБСОЛЮТНО одинаковые переменные, но отбор на них реагирует по разному ...


Цитата(egorkalm @ 19.10.12, 19:41) *
Помогите разобраться с проблемой.



Осталось только грязно выругаться ....

Проблема оказалась банальна, не обнулил значение отбора:

СправочникКатегорий.Отбор.Элементы.Очистить();


Как только добавил эту волшебную строку - все заработало, как часы smile.gif

Сообщение отредактировал Vofka - 21.10.12, 14:10

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.04.24, 16:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!