1c77 Вид документа в запросе

Тема в разделе "1C и всё что с ней связано", создана пользователем vbs, 20 сен 2009.

  1. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Конфигурация на основе ТиС9.2.
    Потребовалась такая штука - выбрать в запросе по регистру (в регистре есть измерение ДокОснование) документы, за исключением документов одного вида.
    Что-то никак не могу найти подходящий синтаксис.
    Анализ при группировке по документу не годится, нужно получить НачОст и КонОст без учета некоего документа.
    А может, это вообще невозможно ?
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Условие (Не(док.Вид() в ИсключаемыйВид));

    Второй вариант - список значений без этого документа,"не" убрать
     
  3. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Функция ААА = НачОст(...) (Когда ДокОсн.Вид() <> ""ИсключаемыйВид"")
     
  4. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    ОплатаНаВыгрузке = "ОплатаНаВыгрузке";
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с Date1 по Date2;
    |Заказчик = Регистр.Контрагенты.Контрагент;
    |Сумма = Регистр.Контрагенты.Сумма;
    |Док = Регистр.Контрагенты.ТекущийДокумент;
    |Функция СуммаНачОст = НачОст(Сумма);
    |Функция СуммаКонОст = КонОст(Сумма);
    |Функция СуммаПриход = Приход(Сумма);
    |Функция СуммаРасход = Расход(Сумма);";
    ТекстЗапроса = ТекстЗапроса + "Условие(Заказчик в ВыбКонтрагент);
    |Условие (Не(док.Вид() в ОплатаНаВыгрузке));
    |Group Док;
    |"//}}ЗАПРОС
    ;
    [/quote]
    В таком варианте Все работает !
    Главное, что я пробовал подобное со знаками "=" или "<>" - вот и не получалось

    |Функция СуммаНачОст = НачОст(Сумма) Когда (Док.Вид() <> ОплатаНаВыгрузке);
    |Функция СуммаКонОст = КонОст(Сумма) Когда (Док.Вид() <> ОплатаНаВыгрузке);

    А в таком - таки синтаксических ошибок нет, но результат никак не меняется, независимо от наличия КОГДА

    Спасибо за быстрый отклик, чтобы я без подсказок делал ?
    Через неделю плюсик за мной
     
  5. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Забыл "закавычить" ОплатаНаВыгрузке, если это вид документа такой.
     
  6. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    прикольное слово. и точно отражающее суть при разговоре про 1Ску)))
     
  7. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Да нет, все в порядке, вроде.
    Дает тот же результат, что и без условий.
    А вот это
    сразу сработало, как надо, а
    Условие (док.Вид() <> ОплатаНаВыгрузке);
    выдавало синтаксическую ошибку (ругалась на Вид())
     
  8. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Так и не понял - отличие только в "Не"?
     
  9. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Не работает (НачОст и КонОст неправильные)
    а так работает.
    Условие (док.Вид() = ОплатаНаВыгрузке);
    и
    Условие (док.Вид() в ОплатаНаВыгрузке);

    не сравнивал
     
Загрузка...

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