Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 фев 2025, 09:04

Создание автоматизированного рабочего места менеджера

Автор Глеб Шахов, 06 янв 2025, 15:05

0 Пользователей и 1 гость просматривают эту тему.

Глеб Шахов

Всем привет, подскажите, пожалуйста, создаю АРМ в расширении. Нужно 2 вкладки со списком- покупатели, заказы. И чтобы они были отображены так же как в основной конфе в форме списка. Размышляю следующий образом -> форма списка в основной конфе содержит в себе динамический список с произвольным запросом -> копирнуть и поместить данный запрос в свою обработку, правда он вылетает с ошибкой и не дает сохранить. Можно пойти каким-то другим путем?

antoneus


Глеб Шахов

antoneus, сам запрос вот такой. хрен бы я его сам написал, еще не дорос

ВЫБРАТЬ РАЗЛИЧНЫЕ
    СвязиКонтрагентКонтактСрезПоследних.Контрагент КАК Контрагент,
    ИСТИНА КАК ЕстьКонтакт
ПОМЕСТИТЬ СвязиКонтрагентКонтакт
ИЗ
    РегистрСведений.СвязиКонтрагентКонтакт.СрезПоследних КАК СвязиКонтрагентКонтактСрезПоследних
ГДЕ
    СвязиКонтрагентКонтактСрезПоследних.СвязьНедействительна = ЛОЖЬ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    СегментыКонтрагентов.Контрагент КАК КонтрагентСегмента,
    ИСТИНА КАК ЕстьСегмент
ПОМЕСТИТЬ СегментыКонтрагентов
ИЗ
    РегистрСведений.СоставСегментаКонтрагентов КАК СегментыКонтрагентов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Родитель КАК Родитель,
    Контрагенты.ЭтоГруппа КАК ЭтоГруппа,
    Контрагенты.Код КАК Код,
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.КодПоОКПО КАК КодПоОКПО,
    Контрагенты.КПП КАК КПП,
    ВЫРАЗИТЬ(Контрагенты.НаименованиеПолное КАК СТРОКА(1000)) КАК ЮридическоеНазвание,
    Контрагенты.БанковскийСчетПоУмолчанию КАК БанковскийСчетПоУмолчанию,
    Контрагенты.КонтактноеЛицо КАК КонтактноеЛицо,
    Контрагенты.Ответственный КАК Ответственный,
    ВЫРАЗИТЬ(Контрагенты.Комментарий КАК СТРОКА(1000)) КАК Комментарий,
    Контрагенты.ИННВведенКорректно КАК ИННВведенКорректно,
    Контрагенты.КППВведенКорректно КАК КППВведенКорректно,
    Контрагенты.ДатаСоздания КАК ДатаСоздания,
    Контрагенты.Недействителен КАК Недействителен,
    Контрагенты.Покупатель КАК Покупатель,
    Контрагенты.Поставщик КАК Поставщик,
    Контрагенты.ПрочиеОтношения КАК ПрочиеОтношения,
    Контрагенты.ИсточникПривлеченияПокупателя КАК ИсточникПривлеченияПокупателя,
    Контрагенты.ДокументУдостоверяющийЛичность КАК ДокументУдостоверяющийЛичность,
    Контрагенты.Пол КАК Пол,
    Контрагенты.ДатаРождения КАК ДатаРождения,
    Контрагенты.СтранаРегистрации КАК СтранаРегистрации,
    Контрагенты.ВидКонтрагента КАК ВидКонтрагента,
    Контрагенты.ФИО КАК ФИО,
    Контрагенты.РегистрационныйНомер КАК РегистрационныйНомер,
    Контрагенты.СвидетельствоСерияНомер КАК СвидетельствоСерияНомер,
    Контрагенты.СвидетельствоДатаВыдачи КАК СвидетельствоДатаВыдачи,
    ВЫБОР
        КОГДА НаличиеДублейУКонтрагентов.Контрагент ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ЕстьДубли,
    ЕСТЬNULL(ОстаткиВзаиморасчетов.Сумма, 0) КАК Взаиморасчеты,
    Контрагенты.ОсновныеСведения КАК ОсновныеСведения,
    ВЫБОР
        КОГДА СостоянияКонтрагентов.Состояние В (&Состояния)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ПроверкаКонтрагентовКонтрагентНеСуществует,
    СостоянияКонтрагентов.Состояние КАК ПроверкаКонтрагентовСостояние,
    ВЫБОР
        КОГДА Контрагенты.ВидКонтрагента = ЗНАЧЕНИЕ(Перечисление.ВидыКонтрагентов.ИндивидуальныйПредприниматель)
                ИЛИ Контрагенты.ВидКонтрагента = ЗНАЧЕНИЕ(Перечисление.ВидыКонтрагентов.ФизическоеЛицо)
            ТОГДА ВЫБОР
                    КОГДА Контрагенты.ПометкаУдаления
                        ТОГДА 3
                    ИНАЧЕ 1
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА Контрагенты.ПометкаУдаления
                    ТОГДА 2
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ КАК ИндексПиктограммы,
    ВЫБОР
        КОГДА СостоянияКонтрагентовБЭД.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияКонтрагентаБЭД.Подключен)
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА СостоянияКонтрагентовБЭД.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияКонтрагентаБЭД.НастроенЭДО)
                    ТОГДА 0
                ИНАЧЕ 1
            КОНЕЦ
    КОНЕЦ КАК ЭДО,
    Контрагенты.Теги.(
        НомерСтроки КАК НомерСтроки,
        Тег КАК Тег
    ) КАК Теги,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 0
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК ЕстьФайлы,
    ВЫБОР
        КОГДА СвязиГоловнойКонтрагентПодразделение.ОсновныеСведения ЕСТЬ NULL
            ТОГДА -1
        ИНАЧЕ 0
    КОНЕЦ КАК КартинкаИерархия,
    СвязиГоловнойКонтрагентПодразделение.ОсновныеСведения КАК ОсновныеСведенияГоловной,
    Контрагенты.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
    СвязиКонтрагентКонтакт.ЕстьКонтакт КАК ЕстьСвязи,
    СегментыКонтрагентов.ЕстьСегмент КАК ЕстьСегмент
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        {ЛЕВОЕ СОЕДИНЕНИЕ СвязиКонтрагентКонтакт КАК СвязиКонтрагентКонтакт
        ПО Контрагенты.Ссылка = СвязиКонтрагентКонтакт.Контрагент}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОстаткиВзаиморасчетов КАК ОстаткиВзаиморасчетов
        ПО Контрагенты.Ссылка = ОстаткиВзаиморасчетов.Контрагент}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияКонтрагентов КАК СостоянияКонтрагентов
        ПО Контрагенты.Ссылка = СостоянияКонтрагентов.Контрагент
            И (&ИспользованиеПроверкиВозможно)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеДублейУКонтрагентов КАК НаличиеДублейУКонтрагентов
        ПО Контрагенты.Ссылка = НаличиеДублейУКонтрагентов.Контрагент
            И Контрагенты.ИНН = НаличиеДублейУКонтрагентов.ИНН
            И Контрагенты.КПП = НаличиеДублейУКонтрагентов.КПП}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияКонтрагентовБЭД КАК СостоянияКонтрагентовБЭД
        ПО (СостоянияКонтрагентовБЭД.Контрагент = Контрагенты.Ссылка)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО Контрагенты.Ссылка = НаличиеФайлов.ОбъектСФайлами}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СвязиГоловнойКонтрагентПодразделение КАК СвязиГоловнойКонтрагентПодразделение
        ПО (СвязиГоловнойКонтрагентПодразделение.ГоловнойКонтрагент = Контрагенты.ГоловнойКонтрагент)
            И (СвязиГоловнойКонтрагентПодразделение.Подразделение = Контрагенты.Ссылка)}
        {ЛЕВОЕ СОЕДИНЕНИЕ СегментыКонтрагентов КАК СегментыКонтрагентов
        ПО (СегментыКонтрагентов.КонтрагентСегмента = Контрагенты.Ссылка)}
ГДЕ
    Контрагенты.ЭтоГруппа = ЛОЖЬ




а ошибка вот такая

ЦитироватьОшибка получения информации о наборе данных по причине: Ошибка в запросе набора данных по причине: {(80, 55)}: Неверные параметры «Перечисление.СостоянияКонтрагентаБЭД.Подключен» КОГДА СостоянияКонтрагентовБЭД.Состояние = ЗНАЧЕНИЕ(<<?>>Перечисление.СостоянияКонтрагентаБЭД.Подключен)

antoneus

Чтобы не выскакивала ошибка, надо перечисление со всеми значениями добавить в расширение.

Глеб Шахов

antoneus, да, спасибо. Просто, когда есть возможность открыть конструктор запроса он предлагает подтянуть в расширение недостающие объекты. Теперь буду знать

Глеб Шахов

antoneus, еще может подскажете, теперь всплывает ошибка дублей. Прочитал, что можно либо в дополнительно указать (без повторяющихся), либо в связях что-то исправить, либо в группировке. Но запрос идентичный как и в форме списка. В дополнительно у меня указано на первых двух пакетах.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск