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

Добавил в журнал операций дополнительное поле и внес изменение в запрос.

Автор VID1234, 20 янв 2022, 12:41

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

VID1234

Здравствуйте.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЖурналДокументовЖурналОпераций.Ссылка КАК Ссылка,
    ЖурналДокументовЖурналОпераций.Дата КАК Дата,
    ЖурналДокументовЖурналОпераций.ПометкаУдаления КАК ПометкаУдаления,
    ЖурналДокументовЖурналОпераций.Номер КАК Номер,
    ЖурналДокументовЖурналОпераций.Проведен КАК Проведен,
    ЖурналДокументовЖурналОпераций.Организация КАК Организация,
    ЖурналДокументовЖурналОпераций.Корреспондент КАК Корреспондент,
    ЖурналДокументовЖурналОпераций.Тип КАК Тип,
    ЕСТЬ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)
Что может быть? Как обрулить! А то теперь отбор когда из договора пытаешься посмотреть какие документы с контрагентом по договору есть, он выдает ошибку и пустое окно?

LexaK

попробуйте Договор в журнал добавить через конструктор журнала, закладка данные, появится в Графа, и там Договор можно связать с реквизитом каждого документа

а вот это уберите из запроса
ВЫБОР
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетФактураВыданный
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетФактураВыданный).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетФактураПолученный
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетФактураПолученный).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.РасходныйКассовыйОрдер
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.РасходныйКассовыйОрдер).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.КассовоеВыбытие
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.КассовоеВыбытие).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеМЗ
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеМЗ).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.СчетНаОплату
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.СчетНаОплату).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеУслугРабот
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеУслугРабот).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПоступлениеОС
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПоступлениеОС).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.РегистрацияОбязательствИСведенийПоДоговорам
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.РегистрацияОбязательствИСведенийПоДоговорам).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПлатежноеПоручение
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПлатежноеПоручение).Договор, "")
        КОГДА ЖурналДокументовЖурналОпераций.Ссылка ССЫЛКА Документ.ПриходныйКассовыйОрдер
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ЖурналДокументовЖурналОпераций.Ссылка КАК Документ.ПриходныйКассовыйОрдер).Договор, "")
    КОНЕЦ КАК Договор
и в динамическом списке проверить настройку Параметра Договор,
в Базе БП есть такой журнал с отбором по договору контрагента, как пример можно его посмотреть
ответ Понравился? (в смысле пригодился?)

VID1234


VID1234

LexaK, Вопрос закрыт. добавил графу, указал там нужные договоры, вставил в запрос это:
ЕСТЬNULL(ЖурналДокументовЖурналОпераций.VID_ДоговорКонтрагента, ЗНАЧЕНИЕ(Справочник.Договоры.ПустаяСсылка)) КАК Договор Спасибо! 

Геннадий на Оби

Меня всегда "умиляют" вопросы, в которых спрашивают КАК что-то делать , никак не поясняя ЧТО делать и для ЧЕГО

Почему ЭТО не делать через имеющийся функционал?
Например, 
Администрирование - Настройка колонтитулов и отчётов - 
?

LexaK

Геннадий на Оби, а ответ очень простой! в 1С какие-то действия можно сделать множеством способов, как со стороны Конфигуратора так и из Предприятия,
поэтому кому что ближе/понятнее тот таким путем и решает поставленные задачи.

для программистов, понятнее Конфигуратор
для консультантов, естественно работа из Предприятия
(в основном)


 
ответ Понравился? (в смысле пригодился?)

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск