• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы vbs
  • Дата начала
V

vbs

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

puh14

Условие (Не(док.Вид() в ИсключаемыйВид));

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

vitfil

Функция ААА = НачОст(...) (Когда ДокОсн.Вид() <> ""ИсключаемыйВид"")
 
V

vbs

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

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

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

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

vitfil

|Функция СуммаНачОст = НачОст(Сумма) Когда (Док.Вид() <> ""ОплатаНаВыгрузке"");
|Функция СуммаКонОст = КонОст(Сумма) Когда (Док.Вид() <> ""ОплатаНаВыгрузке"");
Забыл "закавычить" ОплатаНаВыгрузке, если это вид документа такой.
 
V

vbs

Забыл "закавычить" ОплатаНаВыгрузке, если это вид документа такой

ОплатаНаВыгрузке = "ОплатаНаВыгрузке";
Да нет, все в порядке, вроде.
|Функция СуммаНачОст = НачОст(Сумма) Когда (Док.Вид() <> ОплатаНаВыгрузке);
|Функция СуммаКонОст = КонОст(Сумма) Когда (Док.Вид() <> ОплатаНаВыгрузке);
Дает тот же результат, что и без условий.
А вот это
Условие (Не(док.Вид() в ОплатаНаВыгрузке));
сразу сработало, как надо, а
Условие (док.Вид() <> ОплатаНаВыгрузке);
выдавало синтаксическую ошибку (ругалась на Вид())
 
U

unknown181538

Дает тот же результат, что и без условий.
А вот это
Цитата(vbs @ 21:09:2009 - 10:31)
Условие (Не(док.Вид() в ОплатаНаВыгрузке));

сразу сработало, как надо, а
Условие (док.Вид() <> ОплатаНаВыгрузке);
выдавало синтаксическую ошибку (ругалась на Вид())
Так и не понял - отличие только в "Не"?
 
V

vbs

Условие (док.Вид() <> ОплатаНаВыгрузке);
Не работает (НачОст и КонОст неправильные)
Условие (Не(док.Вид() в ОплатаНаВыгрузке));
а так работает.
Условие (док.Вид() = ОплатаНаВыгрузке);
и
Условие (док.Вид() в ОплатаНаВыгрузке);

не сравнивал
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!