|
Выборка НЕ ЗАПОЛНЕННОЙ контактной информации | ☑ | ||
---|---|---|---|---|
0
pin4er
06.11.15
✎
14:26
|
Добрый день, форумчане.
возник вопрос, и пока не понял как с ним разобраться: по выбранным контрагентам, выбрать тех у кого не заполнены адрес и Емейл: п.с. собственно то что заполняется у контрагента на вкладке "Контакты" адреса и телефоны. ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление, КонтактнаяИнформация.Комментарий ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Тип В ИЕРАРХИИ(&Тип) И КонтактнаяИнформация.Вид В ИЕРАРХИИ(&Вид) И КонтактнаяИнформация.Объект В ИЕРАРХИИ(&КонтрагентыСсылка) Таким запросом мы можем выбрать тех у кого заполнено тип - Адрес; E-Mail Вид - Юридический адрес контраг...; Фактический адрес контраг...; Адрес электронной почты к... КонтрагентыСсылка - группа или элементы. а этим запросом мы выбираем всех кто в принципе имееться ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Ссылка В ИЕРАРХИИ(&КонтрагентыСсылка) КонтрагентыСсылка - группа или элементы. т.е. допустим первым запросом нам показывается что у 4 все заполнено, у 2 допустим на половину (у кого-то адрес у кого-то мыло). Вторым запрос выбирается обще количество допустим 10. Значит результат должен состоять из 6 контрагентов с указанием конкретных не заполненных данных. вроде бы ни чего сложного (напоминает инверсию НЕ), но как реализовать незнаю... |
|||
1
Ненавижу 1С
гуру
06.11.15
✎
14:27
|
через левое соединение
отдельно по адресу , отдельно по e-mail |
|||
2
Ёпрст
06.11.15
✎
14:27
|
выбрать клиентоса левое соединение контактная инфа где контактная инфа есть null ...наслаждайся
|
|||
3
Ненавижу 1С
гуру
06.11.15
✎
14:29
|
нашел даже, лет 5 назад делал:
ВЫБРАТЬ РАЗЛИЧНЫЕ ПродажиОбороты.Контрагент, ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК Менеджер ПОМЕСТИТЬ Покупатели ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Покупатели.Контрагент, Покупатели.Менеджер КАК Менеджер, МИНИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ЮрАдрес ТОГДА "ЕСТЬ" ИНАЧЕ "НЕТ" КОНЕЦ) КАК ЮрАдрес, МИНИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ФизАдрес ТОГДА "ЕСТЬ" ИНАЧЕ "НЕТ" КОНЕЦ) КАК ФизАдрес, МИНИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &Телефон ТОГДА "ЕСТЬ" ИНАЧЕ "НЕТ" КОНЕЦ) КАК Телефон, МИНИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ЭлПочта ТОГДА "ЕСТЬ" ИНАЧЕ "НЕТ" КОНЕЦ) КАК ЭлПочта ИЗ Покупатели КАК Покупатели ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Покупатели.Контрагент = КонтактнаяИнформация.Объект СГРУППИРОВАТЬ ПО Покупатели.Контрагент, Покупатели.Менеджер ИМЕЮЩИЕ СУММА(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ЮрАдрес ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) + СУММА(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ФизАдрес ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) + СУММА(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &Телефон ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) + СУММА(ВЫБОР КОГДА КонтактнаяИнформация.Вид = &ЭлПочта ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) <> 4 ИТОГИ 0 КАК ЮрАдрес, 0 КАК ФизАдрес, 0 КАК Телефон, 0 КАК ЭлПочта ПО Менеджер |
|||
4
pin4er
06.11.15
✎
14:34
|
(1) я так понимаю в (3) это предлогаеться
(2) пробовал/экспериметировал - у меня либо вообще все пусто, либо только те что заполненные выдает (3) на отладке глянул, вроде бы да, но вдруг если что-то захочется другое посмотреть? опять пилить запрос? добавлять еже параметров и куски кода? |
|||
5
Ёпрст
06.11.15
✎
14:34
|
(3) красиво через имеющиеся с сумой всех показателей.
|
|||
6
Ёпрст
06.11.15
✎
14:35
|
надо запомнить
|
|||
7
mxs089
06.11.15
✎
14:38
|
(3) я помню в садике такие задачки решал
|
|||
8
pin4er
06.11.15
✎
15:02
|
(7) так давайте на ваши куличики посмотрим)
|
|||
9
pin4er
09.11.15
✎
11:17
|
Боброго дня, ап
как вариант, пока за основу взял (3) спасибо за пример. кто нибудь делал еще что-то подобное но универсально? |
|||
10
pin4er
10.11.15
✎
16:26
|
Ребятушки доброго вечера
еще вариант намутил такой: вывожу и пустые и заполненые ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, КонтактнаяИнформация.Представление ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО (КонтактнаяИнформация.Объект = Контрагенты.Ссылка) ГДЕ (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ИЛИ КонтактнаяИнформация.Тип ЕСТЬ NULL ) И Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагенты) И НЕ Контрагенты.ПометкаУдаления теперь возник вопрос: как в место вот этого "Перечисление.ТипыКонтактнойИнформации.Телефон" запилить универсальную подачу Типов и их вывод соответсвенно??? |
|||
11
pin4er
10.11.15
✎
16:29
|
(10) немного ошибся, вместо ТИПов ВИДы, соответственно можно как подать 1 так и все возможные
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |