8.х Как исключить из запроса отсутствующие поля?

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Vitaly, 24 ноя 2014.

  1. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Как из запроса по Хозрасчетному Счету исключить значения с отсутствующим СубконтоКТ3.
    Выдает ошибку:
    Причина понятна, думал решить вопрос вот так:
    Код:
    ТИПЗНАЧЕНИЯ(ОсновнойОбороты.Субконто3) = ТИП(Справочник.ВидыВзаиморасчетов)
    Но не помогло.
    Заранее спасибо.
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    ВЫБОР КОГДА ТОГДА
    Либо через
    ОсновнойОбороты.Субконто3 ССЫЛКА ВашНужныйТип
    Vitaly нравится это.
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Полностью текст запроса покажите.
    --- Объединение сообщений, 24 ноя 2014 ---
    Субконто выводятся в любом случае, значения будут просто соответствующие количеству используемых на счете.....
    Vitaly нравится это.
  4. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Вот очень упрощенный вид:
    Код:
    "ВЫБРАТЬ
         |   СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
         |   ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
         |   ХозрасчетныйОбороты.Субконто2 КАК Субконто2,
         |   ХозрасчетныйОбороты.ПериодДень
         |ИЗ
         |   РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаОкончания, Авто, , , , , ) КАК ХозрасчетныйОбороты
         |ГДЕ
         |   ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Субконто3) = ТИП(Справочник.ВидыВзаиморасчетов)
         |
         |СГРУППИРОВАТЬ ПО
         |   ХозрасчетныйОбороты.Субконто1,
         |   ХозрасчетныйОбороты.Субконто2,
         |   ХозрасчетныйОбороты.ПериодДень";
    
    Необходимо отобрать все записи, но не у всех есть Субконто3.
    --- Объединение сообщений, 24 ноя 2014 ---
    Что именно имеете ввиду. Как ссылку на нужный тип документа дать?
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Необходимо определится, что все же должен вернуть запрос.
    Если нужно ограничить результат запроса по 3-му субконто с типом значения ВидыВзаиморасчетов, то проще наложить условие:
    Субконто3 ССЫЛКА Справочник.ВидыВзаиморасчетов

    в параметрах виртуальной таблицы.
    Vitaly нравится это.
  6. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Необходимо в обработку по формированию актов сверки внести изменение, отобрав значения по видам расчетов:
    Код:
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                         |    ОсновнойОбороты.Период КАК Период,
                         |    ОсновнойОбороты.Субконто1 КАК Договор,
                         |    НЕОПРЕДЕЛЕНО КАК Объект,
                         |    ОсновнойОбороты.Регистратор КАК Документ,
                         |    СФ.Ссылка КАК ДокументСФ,
                         |    СУММА(ВЫБОР
                         |            КОГДА (ОсновнойОбороты.КорСчет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.КорСчет В (&Счет62_2))
                         |                    И ОсновнойОбороты.Счет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.СуммаОборотДт
                         |                    КОНЕЦ
                         |            КОГДА (ОсновнойОбороты.Счет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.Счет В (&Счет62_2))
                         |                    И ОсновнойОбороты.КорСчет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.СуммаОборотДт
                         |                    КОНЕЦ
                         |            ИНАЧЕ ОсновнойОбороты.СуммаОборотДт
                         |        КОНЕЦ) КАК СуммаОборотДт,
                         |    СУММА(ВЫБОР
                         |            КОГДА (ОсновнойОбороты.КорСчет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.КорСчет В (&Счет62_2))
                         |                    И ОсновнойОбороты.Счет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.СуммаОборотКт
                         |                    КОНЕЦ
                         |            КОГДА (ОсновнойОбороты.Счет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.Счет В (&Счет62_2))
                         |                    И ОсновнойОбороты.КорСчет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.СуммаОборотКт
                         |                    КОНЕЦ
                         |            ИНАЧЕ ОсновнойОбороты.СуммаОборотКт
                         |        КОНЕЦ) КАК СуммаОборотКт,
                         |    СУММА(ВЫБОР
                         |            КОГДА (ОсновнойОбороты.КорСчет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.КорСчет В (&Счет62_2))
                         |                    И ОсновнойОбороты.Счет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотДт
                         |                    КОНЕЦ
                         |            КОГДА (ОсновнойОбороты.Счет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.Счет В (&Счет62_2))
                         |                    И ОсновнойОбороты.КорСчет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотДт
                         |                    КОНЕЦ
                         |            ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотДт
                         |        КОНЕЦ) КАК ВалютнаяСуммаОборотДт,
                         |    СУММА(ВЫБОР
                         |            КОГДА (ОсновнойОбороты.КорСчет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.КорСчет В (&Счет62_2))
                         |                    И ОсновнойОбороты.Счет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотКт
                         |                    КОНЕЦ
                         |            КОГДА (ОсновнойОбороты.Счет В (&Счет60_2)
                         |                    ИЛИ ОсновнойОбороты.Счет В (&Счет62_2))
                         |                    И ОсновнойОбороты.КорСчет В (&МассСчет)
                         |                ТОГДА ВЫБОР
                         |                        КОГДА ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2
                         |                            ТОГДА 0
                         |                        ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотКт
                         |                    КОНЕЦ
                         |            ИНАЧЕ ОсновнойОбороты.ВалютнаяСуммаОборотКт
                         |        КОНЕЦ) КАК ВалютнаяСуммаОборотКт,
                         |    ОсновнойОбороты.Регистратор.Контрагент КАК Контрагент,
                         |    ОсновнойОбороты.Счет КАК Счет,
                         |    ОсновнойОбороты.Подразделение,
                         |    ОсновнойОбороты.Субконто3 КАК Поле1
                         |ИЗ
                         |    РегистрБухгалтерии.Хозрасчетный.Обороты(
                         |            &ДатаНач,
                         |            &ДатаКон,
                         |            Регистратор,
                         |            Счет В (&МассСчет)
                         |                И НЕ Счет В (&МассСчетИскл),
                         |            &ВидСубконто,
                         |            Субконто1 В (&Субконто)
                         |                И Валюта = &Валюта
                         |                И Субконто3 ССЫЛКА Справочник.ВидыВзаиморасчетов {(Организация)},
                         |            НЕ КорСчет В (&МассСчетИскл),
                         |            ) КАК ОсновнойОбороты
                         |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                         |            МАКСИМУМ(СчетФактураВыданныйДокументыОснования.Ссылка) КАК Ссылка,
                         |            СчетФактураВыданныйДокументыОснования.ДокументОснование КАК ДокументОснование,
                         |            СчетФактураВыданныйДокументыОснования.Ссылка.ДоговорКонтрагента КАК ДоговорКонтрагента,
                         |            СчетФактураВыданныйДокументыОснования.Ссылка.Контрагент КАК Контрагент
                         |        ИЗ
                         |            Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
                         |        ГДЕ
                         |            НЕ СчетФактураВыданныйДокументыОснования.Ссылка.ПометкаУдаления
                         |       
                         |        СГРУППИРОВАТЬ ПО
                         |            СчетФактураВыданныйДокументыОснования.ДокументОснование,
                         |            СчетФактураВыданныйДокументыОснования.Ссылка.ДоговорКонтрагента,
                         |            СчетФактураВыданныйДокументыОснования.Ссылка.Контрагент
                         |       
                         |        ОБЪЕДИНИТЬ ВСЕ
                         |       
                         |        ВЫБРАТЬ
                         |            МАКСИМУМ(СчетФактураПолученныйДокументыОснования.Ссылка),
                         |            СчетФактураПолученныйДокументыОснования.ДокументОснование,
                         |            NULL,
                         |            СчетФактураПолученныйДокументыОснования.Ссылка.Контрагент
                         |        ИЗ
                         |            Документ.СчетФактураПолученный.ДокументыОснования КАК СчетФактураПолученныйДокументыОснования
                         |        ГДЕ
                         |            НЕ СчетФактураПолученныйДокументыОснования.Ссылка.ПометкаУдаления
                         |       
                         |        СГРУППИРОВАТЬ ПО
                         |            СчетФактураПолученныйДокументыОснования.ДокументОснование,
                         |            СчетФактураПолученныйДокументыОснования.Ссылка.Контрагент) КАК СФ
                         |        ПО ОсновнойОбороты.Регистратор = СФ.ДокументОснование
                         |            И (ВЫБОР
                         |                КОГДА СФ.ДоговорКонтрагента ЕСТЬ NULL
                         |                    ТОГДА ИСТИНА
                         |                КОГДА СФ.ДоговорКонтрагента = &ПустойДоговор
                         |                    ТОГДА ИСТИНА
                         |                ИНАЧЕ ОсновнойОбороты.Субконто1 = СФ.ДоговорКонтрагента
                         |            КОНЕЦ)
                         |ГДЕ
                         |    ОсновнойОбороты.СуммаОборотДт <> ОсновнойОбороты.СуммаОборотКт
                         |    И НЕ(ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками))
                         |                И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками))
                         |                И ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2)
                         |    И НЕ(ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
                         |                И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
                         |                И ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2)
                         |    И НЕ(ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками))
                         |                И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками))
                         |                И ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2)
                         |    И НЕ(ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками))
                         |                И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками))
                         |                И (НЕ(&ПоВсемДоговорам
                         |                            И ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками))
                         |                            И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками))
                         |                            И ОсновнойОбороты.КорСубконто2 В (&Субконто))
                         |                    ИЛИ &УчитыватьДвижениеПоДоговорам)
                         |                И (НЕ(&ПоВсемДоговорам
                         |                            И ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками))
                         |                            И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками))
                         |                            И ОсновнойОбороты.КорСубконто2 В (&Субконто))
                         |                    ИЛИ &УчитыватьДвижениеПоДоговорам)
                         |                И ОсновнойОбороты.Субконто1 = ОсновнойОбороты.КорСубконто2)
                         |    И (НЕ(&ПоВсемДоговорам
                         |                    И ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками))
                         |                    И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками))
                         |                    И ОсновнойОбороты.КорСубконто2 В (&Субконто))
                         |            ИЛИ &УчитыватьДвижениеПоДоговорам)
                         |    И (НЕ(&ПоВсемДоговорам
                         |                    И ОсновнойОбороты.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
                         |                    И ОсновнойОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками))
                         |                    И ОсновнойОбороты.КорСубконто2 В (&Субконто))
                         |            ИЛИ &УчитыватьДвижениеПоДоговорам)
                         |    И ТИПЗНАЧЕНИЯ(ОсновнойОбороты.Субконто3) = ТИП(Справочник.ВидыВзаиморасчетов)
                         |
                         |СГРУППИРОВАТЬ ПО
                         |    ОсновнойОбороты.Субконто1,
                         |    ОсновнойОбороты.Период,
                         |    СФ.Ссылка,
                         |    ОсновнойОбороты.Регистратор,
                         |    ОсновнойОбороты.Регистратор.Контрагент,
                         |    ОсновнойОбороты.Счет,
                         |    ОсновнойОбороты.Подразделение,
                         |    ОсновнойОбороты.Субконто3
                         |
                         |УПОРЯДОЧИТЬ ПО
                         |    Период,
                         |    ОсновнойОбороты.Субконто1.Владелец,
                         |    ОсновнойОбороты.Счет.Код";
    Наложил это условие, все равно это значение не обнаружено говорит.
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Потому что в запросе присутствует отбор по виду субконто -
    &ВидСубконто.

    Необходимо к массиву субконто добавить вид субконто "Виды Взаиморасчетов".
    Порядок субконто в массиве задает порядок субконто в результате запроса.
    Vitaly нравится это.
  8. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    А как это сделать?
    Да, на самом деле устанавливается параметр:
    Код:
    Если Счета.НайтиПоЗначению(ПланыСчетов.Хозрасчетный.дсРасчетыМеждуУчастникамиКГН) <> Неопределено Тогда
    Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    Запрос.Параметры.Вставить("Субконто", Контрагенты);
    Иначе       
    Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    Запрос.Параметры.Вставить("Субконто", СписокДоговоров);   
    КонецЕсли;
    
    Как второе условие добавить (Справочник.ВидыВзаиморасчетов)?
    Что-то не понимаю я.
  9. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Как установить два вида субконто?
    --- Объединение сообщений, 24 ноя 2014 ---
    Нашел в интернете, сейчас попробую:
    Код:
      Субконто=Новый Массив(2);
    Субконто[0]=ПланыВидовХарактеристик.ВидыСубконто.Номенклатура;
    Субконто[1]=ПланыВидовХарактеристик.ВидыСубконто.Сотрудники;
    Запрос.УстановитьПараметр("Субконто", Субконто);
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Код:
    ВидыСубконто = Новый Массив;
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыВзаиморасчетов);

    При этом в результате запроса будут:
    Субконто1 = Контрагенты
    Субконто2 = Договоры контрагентов
    Субконто3 = Виды взаиморасчетов
    Vitaly нравится это.
  11. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Спасибо, сейчас попробую
    --- Объединение сообщений, 24 ноя 2014 ---
    Тут немного не так должно отбираться. Или по договорам, или по контрагентам (не типовая БП).
    Но та же ошибка на выходе:
    Код:
    Все равно та же ошибка:
    [CODE]Если Счета.НайтиПоЗначению(ПланыСчетов.Хозрасчетный.дсРасчетыМеждуУчастникамиКГН) <> Неопределено Тогда     
                МассивСубконто=Новый Массив(2);
                МассивСубконто[0]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;
                МассивСубконто[1]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыРасчетов;
                Запрос.Параметры.Вставить("ВидСубконто",МассивСубконто);
                Запрос.Параметры.Вставить("Субконто", Контрагенты);
        Иначе         
                МассивСубконто=Новый Массив(2);
                МассивСубконто[0]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры;
                МассивСубконто[1]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыРасчетов;
                Запрос.Параметры.Вставить("ВидСубконто",МассивСубконто);
                Запрос.Параметры.Вставить("Субконто", СписокДоговоров); 
        КонецЕсли;
    [/CODE]
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Так будет всего 2 субконто доступными для отбора в запросе, т.е. ограничение по ВидамРасчетов необходимо накладывать на Субконто2, а не на Субконто3
    Vitaly нравится это.
  13. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Вот оригинальный запрос:
    Код:
    Если Счета.НайтиПоЗначению(ПланыСчетов.Хозрасчетный.дсРасчетыМеждуУчастникамиКГН) <> Неопределено Тогда       
                Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
                Запрос.Параметры.Вставить("Субконто", Контрагенты);
        Иначе          
                Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
                Запрос.Параметры.Вставить("Субконто", СписокДоговоров);  
        КонецЕсли;
    --- Объединение сообщений, 24 ноя 2014 ---
    Он рабочий, в нем или по контрагентам, или по договорам накладывается ограничение.
    --- Объединение сообщений, 24 ноя 2014 ---
    Как субконто2 не проверять (пропустить)?
    --- Объединение сообщений, 24 ноя 2014 ---
    Может быть как-то по другому можно ограничить?
    Последнее редактирование: 24 ноя 2014
  14. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    У меня так код ничего не возвращает
    Код:
    сли Счета.НайтиПоЗначению(ПланыСчетов.Хозрасчетный.дсРасчетыМеждуУчастникамиКГН) <> Неопределено Тогда  
                //Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
                МассивВидыСубконто =Новый Массив(3);
                МассивВидыСубконто[0]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;
                МассивВидыСубконто[1]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры;
                МассивВидыСубконто[2]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыРасчетов;
                Запрос.Параметры.Вставить("ВидСубконто",МассивВидыСубконто);
                Запрос.Параметры.Вставить("Субконто", Контрагенты);
        Иначе           
                //Запрос.Параметры.Вставить("ВидСубконто",ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
                МассивВидыСубконто =Новый Массив(3);
                МассивВидыСубконто[0]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;
                МассивВидыСубконто[1]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры;
                МассивВидыСубконто[2]=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыРасчетов;
                Запрос.Параметры.Вставить("ВидСубконто",МассивВидыСубконто);
                Запрос.Параметры.Вставить("Субконто", СписокДоговоров);   
        КонецЕсли;
  15. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    Код:
    .....................
    ВидыСубконто = Новый Массив;
    
    Если Счета.НайтиПоЗначению(ПланыСчетов.Хозрасчетный.дсРасчетыМеждуУчастникамиКГН) <> Неопределено Тогда     
               ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
               Запрос.Параметры.Вставить("Субконто", Контрагенты);
    Иначе        
               ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
               Запрос.Параметры.Вставить("Субконто", СписокДоговоров);
    КонецЕсли;
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыВзаиморасчетов)
    Запрос.Параметры.Вставить("ВидСубконто", ВидыСубконто);
    ....
    "ВЫБРАТЬ
    | СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
    | ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
    | ХозрасчетныйОбороты.Субконто2 КАК Субконто2,
    | ХозрасчетныйОбороты.ПериодДень
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаОкончания, , ,&ВидыСубконто ,Субконто2 = &ВидВзаиморасчета , ,) КАК ХозрасчетныйОбороты
    |
    |СГРУППИРОВАТЬ ПО
    | ХозрасчетныйОбороты.Субконто1,
    | ХозрасчетныйОбороты.Субконто2,
    | ХозрасчетныйОбороты.ПериодДень";
    
    Vitaly нравится это.
  16. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Я понял, фактически Субконто3 стал Субконто2. Громаднейшее спасибо.
    Видимо и сюда необходимо еще внести изменения, так как на выходе цифры не поменялись:
    Код:
    Если Счета.Количество()=1 и фл_УчитыватьВозврат и Найти_60 <> Неопределено Тогда
              
                    Запрос = Новый Запрос;
                    Запрос.Текст =
                        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                        |    РеализацияТоваровУслуг.Дата,
                        |    РеализацияТоваровУслуг.Представление,
                        |    РеализацияТоваровУслуг.Ссылка КАК Документ,
                        |    СчетФактураВыданныйДокументыОснования.Ссылка КАК ДокументСФ,
                        |    ХозрасчетныйОбороты.СуммаОборотДт,
                        |    ХозрасчетныйОбороты.СуммаОборотКт,
                        |    ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
                        |    ХозрасчетныйОбороты.Субконто2 КАК ДоговорКонтрагента,
                        |    ХозрасчетныйОбороты.Период,
                        |    ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт,
                        |    ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт,
                        |    ХозрасчетныйОбороты.Подразделение
                        |ИЗ
                        |    РегистрБухгалтерии.Хозрасчетный.Обороты(
                        |            &НачПериода,
                        |            &КонПериода,
                        |            Регистратор,
                        |            Счет = &Счет62,
                        |            ,
                        |            Субконто1 В (&Контрагент)
                        |                И Валюта В (&Валюта),
                        |            ,
                        |            ) КАК ХозрасчетныйОбороты
                        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                        |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
                        |            ПО РеализацияТоваровУслуг.Ссылка = СчетФактураВыданныйДокументыОснования.ДокументОснование
                        |        ПО ХозрасчетныйОбороты.Регистратор = РеализацияТоваровУслуг.Ссылка
                        |ГДЕ
                        |    ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
                        |    И ХозрасчетныйОбороты.Регистратор.ВидОперации = &Возврат";
    
                    Запрос.УстановитьПараметр("Возврат", Перечисления.ВидыОперацийРеализацияТоваров.ВозвратПоставщику);
                    Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
                    Если ВалютаСверки = мВалютаРегламентированногоУчета Тогда
                        Запрос.Текст = СтрЗаменить(Запрос.Текст,"И Валюта = (&Валюта)","");
                    Иначе
                        Запрос.Параметры.Вставить("Валюта",ВалютаСверки);
                    КонецЕсли;
              
                    Запрос.УстановитьПараметр("Контрагент", Контрагенты);
                  
                    Запрос.УстановитьПараметр("НачПериода", НачПериода);
                    Запрос.УстановитьПараметр("Счет62", ПланыСчетов.Хозрасчетный.РасчетыСПокупателями);
    
                    Результат = Запрос.Выполнить();
    --- Объединение сообщений, 24 ноя 2014 ---

    Вложения:

    Последнее редактирование: 24 ноя 2014
  17. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Буду разбираться почему на выходе тот же результат. Огромнейшее спасибо за помощь, сам бы не разобрался.

Поделиться этой страницей