Имя: Пароль:
1C
1С v8
Добавил в журнал операций дополнительное поле и внес изменение в запрос. БГУ 2
0 VID1234
 
20.01.22
12:36
Здравствуйте.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЖурналДокументовЖурналОпераций.Ссылка КАК Ссылка,
    ЖурналДокументовЖурналОпераций.Дата КАК Дата,
    ЖурналДокументовЖурналОпераций.ПометкаУдаления КАК ПометкаУдаления,
    ЖурналДокументовЖурналОпераций.Номер КАК Номер,
    ЖурналДокументовЖурналОпераций.Проведен КАК Проведен,
    ЖурналДокументовЖурналОпераций.Организация КАК Организация,
    ЖурналДокументовЖурналОпераций.Корреспондент КАК Корреспондент,
    ЖурналДокументовЖурналОпераций.Тип КАК Тип,
    ЕСТЬNULL(ЖурналДокументовЖурналОпераций.СуммаДокумента, ОперацииДокументов.СуммаОперации) КАК СуммаДокумента,
    ЖурналДокументовЖурналОпераций.Комментарий КАК Комментарий,
    ЖурналДокументовЖурналОпераций.Ответственный КАК Ответственный,
    ОперацииДокументов.Операция КАК Операция,
    ВЫБОР
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.Сторно
            ТОГДА ВЫБОР
                    КОГДА НЕ ЖурналДокументовЖурналОпераций.Проведен
                        ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиОтсутствуют)
                    КОГДА ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.Сторно).ИсправлениеОшибки В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
                        ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ИсправлениеОшибки)
                    ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиСформированы)
                КОНЕЦ
        КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ОперацияНеВыбрана)
        КОГДА НЕ ОперацииДокументов.ЕстьПроводки
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиОтсутствуют)
        КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ДокументСторнирован)
        КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиИзмененыВручную)
        КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ИсправлениеОшибки)
        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиСформированы)
    КОНЕЦ КАК СостояниеОперации,
    ВЫБОР
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.Сторно
            ТОГДА ВЫБОР
                    КОГДА НЕ ЖурналДокументовЖурналОпераций.Проведен
                        ТОГДА 1
                    КОГДА ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.Сторно).ИсправлениеОшибки В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
                        ТОГДА 5
                    ИНАЧЕ 2
                КОНЕЦ
        КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
            ТОГДА 0
        КОГДА НЕ ОперацииДокументов.ЕстьПроводки
            ТОГДА 1
        КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
            ТОГДА 4
        КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
            ТОГДА 3
        КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
            ТОГДА 5
        ИНАЧЕ 2
    КОНЕЦ КАК СостояниеОперацииКод,
    ВЫБОР
        КОГДА ОтражениеЭДВУчетеОбороты.СуммаОборот > 0
            ТОГДА "Отражение ЭД в учете"
        ИНАЧЕ СостоянияЭД.ПредставлениеСостояния
    КОНЕЦ КАК СостояниеЭДО,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 0
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК ЕстьФайлы,
    ВЫБОР
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетФактураВыданный
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетФактураВыданный).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетФактураПолученный
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетФактураПолученный).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.РасходныйКассовыйОрдер
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.РасходныйКассовыйОрдер).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.КассовоеВыбытие
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.КассовоеВыбытие).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеМЗ
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеМЗ).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетНаОплату
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетНаОплату).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеУслугРабот
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеУслугРабот).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеОС
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеОС).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.РегистрацияОбязательствИСведенийПоДоговорам
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.РегистрацияОбязательствИСведенийПоДоговорам).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПлатежноеПоручение
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПлатежноеПоручение).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПриходныйКассовыйОрдер
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПриходныйКассовыйОрдер).Договор, "")
    КОНЕЦ КАК Договор
ИЗ
    ЖурналДокументов.ЖурналОпераций КАК ЖурналДокументовЖурналОпераций
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияПоОбъектамУчетаЭДО КАК СостоянияЭД
        ПО (СостоянияЭД.СсылкаНаОбъект = ЖурналДокументовЖурналОпераций.Ссылка)}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОперацииДокументов КАК ОперацииДокументов
        ПО ЖурналДокументовЖурналОпераций.Ссылка = ОперацииДокументов.Документ}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО ЖурналДокументовЖурналОпераций.Ссылка = НаличиеФайлов.ОбъектСФайлами}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОтражениеЭДВУчете.Обороты КАК ОтражениеЭДВУчетеОбороты
        ПО ЖурналДокументовЖурналОпераций.Ссылка = ОтражениеЭДВУчетеОбороты.ДокументОтраженияВУчете}
{ГДЕ
    (ЖурналДокументовЖурналОпераций.Ссылка В
            (ВЫБРАТЬ
                ДокументыПоКонтрагенту.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоКонтрагенту(&Контрагент) КАК ДокументыПоКонтрагенту)),
    (ЖурналДокументовЖурналОпераций.Ссылка В
            (ВЫБРАТЬ
                ДокументыПоКонтрагентуСотрудник.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоКонтрагенту(&КонтрагентСотрудник) КАК ДокументыПоКонтрагентуСотрудник
        
            ОБЪЕДИНИТЬ ВСЕ
        
            ВЫБРАТЬ
                ДокументыПоСотруднику.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоСотруднику(&Сотрудник) КАК ДокументыПоСотруднику)),
    (ЖурналДокументовЖурналОпераций.Ссылка В
            (ВЫБРАТЬ
                ДокументыПоКонтрагентуРебенок.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоКонтрагенту(&КонтрагентРебенок) КАК ДокументыПоКонтрагентуРебенок
        
            ОБЪЕДИНИТЬ ВСЕ
        
            ВЫБРАТЬ
                ДокументыПоРебенку.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоРебенку(&Ребенок) КАК ДокументыПоРебенку)),
    (ЖурналДокументовЖурналОпераций.Ссылка В
            (ВЫБРАТЬ
                ДокументыПоКонтрагентуУчащийся.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоКонтрагенту(&КонтрагентУчащийся) КАК ДокументыПоКонтрагентуУчащийся
        
            ОБЪЕДИНИТЬ ВСЕ
        
            ВЫБРАТЬ
                ДокументыПоУчащемуся.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоУчащемуся(&Учащийся) КАК ДокументыПоУчащемуся)),
    (ЖурналДокументовЖурналОпераций.Ссылка В
            (ВЫБРАТЬ
                ДокументыПоДоговоруКонтрагента.Ссылка
            ИЗ
                КритерийОтбора.ДокументыПоДоговору(&Договор) КАК ДокументыПоДоговоруКонтрагента))}

Изменение внес в Договор, чтобы договор отображался на форме. Все работает в журнале операций хорошо, как нужно. Но при отборе со справочника договор (по гиперссылке "Документы" вверху формы элемента договор), выскакивает ошибка: ошибка обработки представления критерий отбора.документы по договору:несоответствие типов (параметр номер 1)
Что может быть? Как обрулить! А то теперь отбор когда из договора пытаешься посмотреть какие документы с контрагентом по договору есть, он выдает ошибку и пустое окно?
1 acht
 
20.01.22
13:20
Для не понимающих русский язык:

"ошибка обработки представления критерий отбора.документы по договору:несоответствие типов (параметр номер 1)" означает то, что ты запихиваешь в параметры КритерийОтбора.ДокументыПоДоговору значение несоответвующего типа.
2 VID1234
 
20.01.22
13:23
(1) ну это я понял, мне в запросе нужно выразить на справочник договоры или где посмотреть какие типы могут проходить через критерий отбора?
3 acht
 
20.01.22
13:30
(2) Необходимо самомостоятельно изучить как работают критерии отбора.
4 acht
 
20.01.22
13:31
Начать можно с  "Инструкции по разработке на 1С" > "Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8" > "Разработчикам" > "Платформа, механизмы и технологии" > " Методические рекомендации по конфигурированию" > "Прикладные объекты" > "Назначение и устройство критериев отбора"
5 VID1234
 
20.01.22
13:56
(4) Ок. Спасибо!
6 VID1234
 
20.01.22
14:50
Вопрос закрыт. добавил графу, указал там нужные договоры, вставил в запрос это:
ЕСТЬNULL(ЖурналДокументовЖурналОпераций.VID_ДоговорКонтрагента, ЗНАЧЕНИЕ(Справочник.Договоры.ПустаяСсылка)) КАК Договор
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан