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

Хранилище

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

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



> Отбор в форме          
хакерок Подменю пользователя
сообщение 02.09.11, 10:24
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Есть форма например форма выбора элемена справочника Номенклатура

В Номенклатуре есть реквизит Производитель

В Версии 8.1 можно было сделать отбор по производителю следующим кодом.

  СправочникСписок.Отбор.Производитель.Установить(Справочники.Производители.НайтиПоНаименованию("Sаmsung"));


и этой командой можно было увидеть в форме все позиции проиpводителя Samsung

(СправочникСписок реквизит формы)





В Версии 8.2

Например пример проще

Список.Отбор.Код.Установить("000123") - не понимает пишет Поле объектане обнаружено (Код)

Вопрос как можно в форма отображать отбор по реквизиту
Причина редактирования: Код будем выделять или не?!

Vofka Подменю пользователя
сообщение 02.09.11, 10:29
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата
не понимает пишет Поле объектане обнаружено (Код)

Ну значит не обнаружено, добавить надо

Batchir Подменю пользователя
сообщение 02.09.11, 10:38
Сообщение #3

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата
Вопрос как можно в форма отображать отбор по реквизиту


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

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

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

Цитата(хакерок @ 02.09.11, 11:24) *
Список.Отбор.Код.Установить("000123") - не понимает пишет Поле объектане обнаружено (Код)

Вероятно как-то так (если список читается динамически), это по памяти, может в первой строке быть как-то не так:

    ОтборСписка = Список.Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборСписка.ЛевоеЗначение     = Список.Код;
    ОтборСписка.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
    ОтборСписка.ПравоеЗначение = "000123";
    ОтборСписка.Использование  = Истина;


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

pablo Подменю пользователя
сообщение 02.09.11, 10:48
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

А Вы, часом, не в тонком клиенте это реализуете?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

DartRomanius Подменю пользователя
сообщение 02.09.11, 11:34
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Форма управляемая? Или обычная?


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

хакерок Подменю пользователя
сообщение 02.09.11, 13:54
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(DartRomanius @ 02.09.11, 12:34) *
Форма управляемая? Или обычная?

обычная

Цитата(logist @ 02.09.11, 11:40) *
Вероятно как-то так (если список читается динамически), это по памяти, может в первой строке быть как-то не так:

    ОтборСписка = Список.Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборСписка.ЛевоеЗначение     = Список.Код;
    ОтборСписка.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
    ОтборСписка.ПравоеЗначение = "000123";
    ОтборСписка.Использование  = Истина;


По первой строке не понимает метода Добавить

logist Подменю пользователя
сообщение 02.09.11, 13:58
Сообщение #8

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

Цитата(хакерок @ 02.09.11, 14:54) *
По первой строке не понимает метода Добавить


 ОтборСписка = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

Пробуйте ж что-то самостоятельно, блин.
Но то что я писал это для управляемой формы. Для обычной вероятно должно быть так же как в 8.1. У Вас что режим совместимости с 8.1 стоит?


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

хакерок Подменю пользователя
сообщение 02.09.11, 14:18
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(logist @ 02.09.11, 14:58) *
 ОтборСписка = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

Пробуйте ж что-то самостоятельно, блин.
Но то что я писал это для управляемой формы. Для обычной вероятно должно быть так же как в 8.1. У Вас что режим совместимости с 8.1 стоит?

Уже прогресс первая строка прошла а по второй страке не понимает Поля Код буду пробовать

Vofka Подменю пользователя
сообщение 02.09.11, 14:39
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата
Уже прогресс первая строка прошла а по второй страке не понимает Поля Код буду пробовать


А впереди неведомая даль,
В которой расстворится наша жизнь
Тридцатьчетвёрки главная деталь
Танкиста закопченный организм.

Цитата(Batchir)
Точно так же как и в 8.1, только по коду нельзя установить отбор, т.к. это системный реквизит.
Поэтому сначала нужно найти ссылку на номенклатуру по коду, а потом уже наложить фильтр по найденной ссылке

хакерок Подменю пользователя
сообщение 02.09.11, 16:30
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Vofka @ 02.09.11, 15:39) *
А впереди неведомая даль,
В которой расстворится наша жизнь
Тридцатьчетвёрки главная деталь
Танкиста закопченный организм.

Схожу в отпуск а потом разберёмся

хакерок Подменю пользователя
сообщение 20.09.11, 16:05
Сообщение #12

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(хакерок @ 02.09.11, 17:30) *
Схожу в отпуск а потом разберёмся


Я считаю отбор важная часть в формах поэтом разобрался и вот вариант как можно организовать программно отбор
в списке

Для примера будем считать что в Списке есть текстовый реквизит Производитель

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


В данном примере на экране остануться только те позиции таблицы у которых поле производитель "Samsung"

Спасибо всем кто помог вопрос решён

Vofka Подменю пользователя
сообщение 20.09.11, 17:37
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

logist намекал на это smile.gif . Вам спасибо за то, что не поленились всётаки огласить вариант решения! smile.gif

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


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

 

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