Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Рабочее место менеджера по продажам (Категории объекта)  (Прочитано 13421 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Vlad3
Участник

ua
Offline Offline

« : 08-10-2009 11:48 » 

1С 8.1 УТП

У номенклатуры есть вкладка "Категории".
На этой вкладке выводятся все категории из справочника "Категории объектов" для "Номенклатуры".

В рабочем месте менеджера по продажам на вкладке "Параметры" отображаются эти категории.
Мне необходимо сделать так, чтобы отображались только те Категории которые отмечены "галочками" в карточке номенклатуры. Но к сожалению никак не пойму где эти галочки хранятся в базе. Сам справочник "Категории объектов" таковой галки не содержит.
Кто знает как это реализовано?

Спасибо!
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 08-10-2009 12:17 » 

Пишу на основе УТП для Украины, но думаю будет то же самое:
1. Открываем в конфигураторе основную форму Номенклатуры
2. Переключаемся на закладку Категории
3. Смотрим тип объекта табличного поля: ОбработкаТабличнаяЧасть.КатегорииОбъекта
4. Ищем в конфигурации обработку КатегорииОбъекта, открываем модуль объекта
5. Видим процедуру ПрочитатьЗаполнитьКатегорииОбъекта()
6. Смотрим текст - в запросе находим что данные выбираются из регистра сведения КатегорииОбъектов
Значит по нему и нужно строить отбор в рабочем месте менеджера
Записан
Vlad3
Участник

ua
Offline Offline

« Ответ #2 : 08-10-2009 12:35 » 

Пишу на основе УТП для Украины, но думаю будет то же самое:
1. Открываем в конфигураторе основную форму Номенклатуры
2. Переключаемся на закладку Категории
3. Смотрим тип объекта табличного поля: ОбработкаТабличнаяЧасть.КатегорииОбъекта
4. Ищем в конфигурации обработку КатегорииОбъекта, открываем модуль объекта
5. Видим процедуру ПрочитатьЗаполнитьКатегорииОбъекта()
6. Смотрим текст - в запросе находим что данные выбираются из регистра сведения КатегорииОбъектов
Значит по нему и нужно строить отбор в рабочем месте менеджера

Спасибо огромное, тоже только что догнал что дело в регистрах. Затем в КатегорииОбъекта добавил новую процедуру:


Процедура МояПрочитатьЗаполнитьКатегорииОбъекта() Экспорт
   ПрочитатьЗаполнитьКатегорииОбъекта();
   КатегорииОбъекта.Сортировать("Принадлежность Убыв");
КонецПроцедуры


И в рабочем месте менеджера по продажам подсунул МояПрочитатьЗаполнитьКатегорииОбъекта().
Теперь вверху отмеченные галкой объекты, а ниже неотмеченные.


ЗЫ: В моем распоряжении как раз и есть УТ и УТП для Украины. Улыбаюсь
Записан
Vlad3
Участник

ua
Offline Offline

« Ответ #3 : 08-10-2009 12:59 » 

И возвращаясь к теме, постом выше я реализовал сортировку, но из академического интереса больно хочется из запроса исключить те значения Категорий которые не присущи данной Номенклатуре, вот никак не пойму че в этом запросе сделать:

Запрос.Текст = "
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   КатегорииОбъектов.ПометкаУдаления                            КАК ПометкаУдаления,
   |   КатегорииОбъектов.Ссылка                                     КАК Категория,
   |
   |   ВЫБОР КОГДА
   |      РегистрСведений.КатегорииОбъектов.Объект ЕСТЬ НЕ NULL
   |   ТОГДА
   |      Истина
   |   ИНАЧЕ
   |      Ложь
   |   КОНЕЦ                                                        КАК Принадлежность
   |
   |ИЗ
   |// Отбираются категории, предназначенные для заданного типа объектов.
   |   (
   |   ВЫБРАТЬ
   |      Справочник.КатегорииОбъектов.Ссылка          КАК Ссылка,
   |      Справочник.КатегорииОбъектов.ПометкаУдаления КАК ПометкаУдаления
   |
   |   ИЗ
   |      Справочник.КатегорииОбъектов
   |
   |   ГДЕ
   |      Справочник.КатегорииОбъектов.НазначениеКатегории В ( &НазначениеКатегорий )
   |
   |   )                                                            КАК КатегорииОбъектов
   |
   |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
   |// Присоединяются категории, назначенные для заданного объекта.
   |   РегистрСведений.КатегорииОбъектов
   |ПО
   |   РегистрСведений.КатегорииОбъектов.Категория = КатегорииОбъектов.Ссылка
   |   И
   |   РегистрСведений.КатегорииОбъектов.Объект = &ОбъектОтбораКатегорий
   |
   |УПОРЯДОЧИТЬ ПО
   |   КатегорииОбъектов.Ссылка.Наименование
   |";


Очевидно, что надо гдето поставить условие ГДЕ Принадлежность = чемутотам
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 08-10-2009 13:27 » 

Попробуй земени весь блок
Код:
   |   ВЫБОР КОГДА
   |      РегистрСведений.КатегорииОбъектов.Объект ЕСТЬ НЕ NULL
   |   ТОГДА
   |      Истина
   |   ИНАЧЕ
   |      Ложь
   |   КОНЕЦ                                                        КАК Принадлежность
просто на
Код:
   |   Истина КАК Принадлежность
А перед "УПОРЯДОЧИТЬ ПО"
вставь условие:
Код:
   |   ГДЕ РегистрСведений.КатегорииОбъектов.Объект ЕСТЬ НЕ NULL

Хотя это и не самый оптимальный запрос получится но с наименьшим количесвом переделок: правильней было бы переделать через ПРАВОЕ СОЕДИНЕНИЕ. А скорее всего и еще можно оптимизировать запрос...
Записан
Vlad3
Участник

ua
Offline Offline

« Ответ #5 : 08-10-2009 14:10 » 

Да, спасибо, работает.
Записан
coolbratan
Гость
« Ответ #6 : 15-06-2010 14:34 » new

Здравствуйте уважаемые знатоки! Я чайник в программировании, но у меня стоит срочная задача, но не знаю, как ее выполнить. Помогите, пожалуйста! ГОРЮ! Мне нужно в обработке "Рабочее место менеджера", на вкладке "остатки, цены", добавить колонки качество товара и организация к которой он принадлежит. Прилагаю код и версию конфигурации. ПОМОГИТЕ!!!

* Обработка РабочееМестоМенеджераПоПродажам Форма.txt (101.52 Кб - загружено 1880 раз.)
* Конфигурация 1С.txt (0.15 Кб - загружено 906 раз.)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines