Вопрос от VVP !!!
Показывать по
10
20
40
сообщений
- 1
- 2
29.10.2009
14:21
#1
>>> чтобы при реализации при выборе контрагента
менеджер мог видеть контрагентов только со своим основным свойством
а где у менеджера хранится основное свойство Контрагента? или у тя сотры тоже в контрагентах? тогда как связываешь контрагента-сотрудника с пользователем?
P.s. если хочешь - выкладывай полный текст письма
P.s.s в нике моём - номер аси )))
менеджер мог видеть контрагентов только со своим основным свойством
а где у менеджера хранится основное свойство Контрагента? или у тя сотры тоже в контрагентах? тогда как связываешь контрагента-сотрудника с пользователем?
P.s. если хочешь - выкладывай полный текст письма
P.s.s в нике моём - номер аси )))
29.10.2009
15:09
#2
Да разобрался уже.
) Пока.
)
Делаю через ИспользоватьСписокЭлементов.
УстановитьОтбор работать не хочет. Опять же пока.
)
Делаю через ИспользоватьСписокЭлементов.
УстановитьОтбор работать не хочет. Опять же пока.
29.10.2009
15:10
#3
> Да разобрался уже.
) Пока.
)
> Делаю через ИспользоватьСписокЭлементов.
> УстановитьОтбор работать не хочет. Опять же пока.
)
всё работает - код какой?
+ связь какая у пользователя с основным свойством контра?
> Делаю через ИспользоватьСписокЭлементов.
> УстановитьОтбор работать не хочет. Опять же пока.
всё работает - код какой?
+ связь какая у пользователя с основным свойством контра?
29.10.2009
18:59
#6
А какая конфигурация то? Если ТиС или Комплексная, то оно там придумано так, что работать не будет, если не придумать чего нибудь. Все из за того, что в типовушке там ОсновноеСвойство это реквизит не справочника ЗначенияСвойств, а реквизит справочника СвойстваКонтрагентов, который является подчиненным справочнику Контрагентов. В общем, задумано для реализации возможности назначения множества свойств одному контрагенту. Если есть какой то Вид свойства, который точно является немножественным и по нему хочется делать отбор, то надо еще реквизит для него отдельный завести в справочнике контрагентов вида Справочник.ЗначенияСвойств и потом уж отбирать. А ИспользоватьСписокЭлементов() для больших справочников работает грустно
29.10.2009
19:44
#7
> А какая конфигурация то? Если ТиС или Комплексная, то оно там придумано так, что работать не будет, если не придумать чего нибудь. Все из за того, что в типовушке там ОсновноеСвойство это реквизит не справочника ЗначенияСвойств, а реквизит справочника СвойстваКонтрагентов, который является подчиненным справочнику Контрагентов. В общем, задумано для реализации возможности назначения множества свойств одному контрагенту. Если есть какой то Вид свойства, который точно является немножественным и по нему хочется делать отбор, то надо еще реквизит для него отдельный завести в справочнике контрагентов вида Справочник.ЗначенияСвойств и потом уж отбирать. А ИспользоватьСписокЭлементов() для больших справочников работает грустно 
Конфигурация Комплексная. ОсновноеСвойство реквизит справочника Контрагенты, а ЗначениеСвойства реквизит справочника СвойстваКонтрагентов и является типом Справочники.ЗначенияСвойств. Но по сути ты прав, без "придумать чего-нибудь" отбор у меня не работает.
Ничего, обойдусь пока ИспользоватьСписокЭлементов(), т.к. докурочивать раскуроченную(не мною) конфигурацию из-за разовой шабашки нет никакого желания. Тем более, что справочник Контрагенты небольшой - позиций 300. Ну, а дальше, поживем - увидим.
Конфигурация Комплексная. ОсновноеСвойство реквизит справочника Контрагенты, а ЗначениеСвойства реквизит справочника СвойстваКонтрагентов и является типом Справочники.ЗначенияСвойств. Но по сути ты прав, без "придумать чего-нибудь" отбор у меня не работает.
Ничего, обойдусь пока ИспользоватьСписокЭлементов(), т.к. докурочивать раскуроченную(не мною) конфигурацию из-за разовой шабашки нет никакого желания. Тем более, что справочник Контрагенты небольшой - позиций 300. Ну, а дальше, поживем - увидим.
30.10.2009
10:01
#9
Добрался до компьютера, вот чего написать хотел...
Когда мы делаем ИспользоватьСписокЭлементов(), мы фиксируем какой то набор, который в справочнике виден. И тут стоит подумать о том что делать с новыми создаваемыми элементами. Вот пример:
1. Менеджер открыл форму списка и ему зафиксировался набор из 10 элементов методом ИспользоватьСписокЭлементов().
2. Он делает нового и... не видит его! Мало того, поскольку программка то наверняка сетевая, он еще и не видит контрагентов, создаваемых с других рабочих мест другими менеджерами даже если они удовлетворяют нужному отбору.
3. Выход - как то перехватывать создания новых элементов и обновлять множество, которое запихнули в ИспользоватьСписокЭлементов(). Сложно это! Потому что создание новых идет не в форме списка напрямую, а в форме диалога, а ИспользоватьСписокЭлементов() применен к форме списка и оттуда перехватить событие, связанное с созданием нового я сумел только через FormEx. А с "освежением" множества из за создания элементов на других рабочих местах вообще проблема. В 1С нет объекта timer, поэтому вообще непонятно как обновлять этот фиксированный набор.
С моей точки зрения - единственный простой вариант, который избавит нас от всех этих грабель:
1. Предполагаем, что Значение свойства не может быть множественным.
2. Создаем в справочнике контрагентов отдельный реквизит "СвойствоДляОтбора".
3. При записи контрагента дублируем в него значение Контрагент.ОсновноеСвойтсво.ЗначениеСвойства
4. При открытии формы списка включаем отбор по "СвойствоДляОтбора" и все!
В таком режиме движок будет в автомате подерживать корректный набор элементов в форме списка и создание новых будет беспроблемным, на каком месте они бы не создавались
Когда мы делаем ИспользоватьСписокЭлементов(), мы фиксируем какой то набор, который в справочнике виден. И тут стоит подумать о том что делать с новыми создаваемыми элементами. Вот пример:
1. Менеджер открыл форму списка и ему зафиксировался набор из 10 элементов методом ИспользоватьСписокЭлементов().
2. Он делает нового и... не видит его! Мало того, поскольку программка то наверняка сетевая, он еще и не видит контрагентов, создаваемых с других рабочих мест другими менеджерами даже если они удовлетворяют нужному отбору.
3. Выход - как то перехватывать создания новых элементов и обновлять множество, которое запихнули в ИспользоватьСписокЭлементов(). Сложно это! Потому что создание новых идет не в форме списка напрямую, а в форме диалога, а ИспользоватьСписокЭлементов() применен к форме списка и оттуда перехватить событие, связанное с созданием нового я сумел только через FormEx. А с "освежением" множества из за создания элементов на других рабочих местах вообще проблема. В 1С нет объекта timer, поэтому вообще непонятно как обновлять этот фиксированный набор.
С моей точки зрения - единственный простой вариант, который избавит нас от всех этих грабель:
1. Предполагаем, что Значение свойства не может быть множественным.
2. Создаем в справочнике контрагентов отдельный реквизит "СвойствоДляОтбора".
3. При записи контрагента дублируем в него значение Контрагент.ОсновноеСвойтсво.ЗначениеСвойства
4. При открытии формы списка включаем отбор по "СвойствоДляОтбора" и все!
В таком режиме движок будет в автомате подерживать корректный набор элементов в форме списка и создание новых будет беспроблемным, на каком месте они бы не создавались
- 1
- 2
Читают тему
(гостей: 1)