#0
by live in sky dreams
В некоторых вопросах разработчиков встречается это самое "КОГДА" используемое в функциях.. Мне подумалось, что функция срабатывает, если выполняется условие после "КОГДА". Проверил на сборе остатков из регистра. ... ... ... ... Функция Остаток1 = КонОст(Количество) КОГДА (Склад В СписокСкладов1); Функция Остаток2 = КонОст(Количество) КОГДА (Склад В СписокСкладов2); ... Он мне просто вываливает остаток по всем имеющимся складам и в "Остаток1" и в "Остаток2". Я же думал, что остаток по складам из "списка1" будет в Остаток1 а остаток по складам из "списка2" будет в "Остаток2". Ну логично было так предположить.. В СП по функции молчок. Перерыл интернету - там про "Когда" мало кто пишет, а если пишет - то просто в части вопроса этого самого "когда" не касающегося. Что это за звэр? Как его готовить? Где можно почитать?
#1
by mishaPH
а что не так? КОгда используется в запросе, когда надо получить цифру с условием котороне нельзя применять к другим переменным или функциям. например в одном запросе надо получить цифры по разным складам тогда Условие применяется ко всем. Функция Остаток1 = КонОст(Количество) КОГДА (Склад В СписокСкладов1); Функция Остаток2 = КонОст(Количество) КОГДА (Склад В СписокСкладов2); 1 запрос но данные по суммам из разных условий. чтобы не городить разные запросы или склады выводитьв группировки а потом отсеивать не нужное
#2
by aka AMIGO
"Когда" - увидишь, когда запустишь конструктор запроса, на вкладке "Функция" У меня есть только одно применение
#3
by aka AMIGO
+2 функция КолвоМонт отбирает из документов по условию значения реквизита Монт=1 Всё остальное она не затрагивает, это-не-условие
#5
by aka AMIGO
Копипаст из СП: Англоязычный синоним: Function <ИмяФункции> = <ТипФункции>(<Параметр>|<УточненныйПараметр>) [When(<Условие>)]; Назначение: Вычислить функцию и включить ее результат в запрос. Параметры: <ИмяФункции> - имя, присваиваемое функции; <ТипФункции> - ключевое слово одной из встроенных функций языка; <Параметр> - имя внутренней переменной, параметр вызова функции; <УточненныйПараметр> - конкретизация внутренней переменной, параметр вызова функции. <Условие> - условие вычисления функции (необязательно).
#7
by aka AMIGO
кстати, в ЖКК стр 812 про функцию и "когда" кой-что есть, но составители, видимо, не посчитали важным это слово, только и написали несколько строк
#8
by live in sky dreams
Спасибо за ответ, но из него я не понял механику.. :( Построитель запроса в клюшках сути КОГДА не раскрывает, более того, считаю, что построитель больше с толку сбивает, чем помогает. Читал СП, знаю, что функция "документированная" и не тайная.. Но не понял как пользоваться. В контексте моего вопроса как использовать КОГДА правильно? Есть 2 списка значений с разными наборами складов в них. Как мне получить остатки по ГруппаСкладов1 и ГруппаСкладов2 используя КОГДА? Вообще это реально или в обходе группировок основного запроса уже отдельными "запросиками" собирать остатки просаживая "FPS"?
#11
by live in sky dreams
Я читал в электронном виде и оттуда был уверен что мой код должен работать, но увы, в 2 колонках показатели остатков идентичный, хотя склады в списках значений разные
#12
by пипец
и чо ? ты весь запрос покажи и проверь универсальным отчетом по регистру - ты уверен что они у тебя разные ?
#15
by live in sky dreams
кто разные? Остатки по складам? Конечно уверен. Угу, естественно, а еще ниже ТекстЗапроса = ""; А еще ниже: //Я вас любил. Любовь, еще, быть может.. ))))))))
#18
by linoblack
имхо, когда относится только к переменной в функции, т.е. Функция Остаток1 = КонОст(Количество) КОГДА (Количество что то там);
#19
by live in sky dreams
Это противоречит выражению в , которое автор, по всей видимости, использует в продакшне и оно работает. Ну мне так показалось..
#21
by linoblack
оно не работает скорее всего. а так, как я написал - работает 100% я так обороты разделяю двумя функциями на, например, продажи и возвраты. без "когда" будет общее количество, т.к. возврат это тоже как бы продажа но с отрицательным количеством.
#23
by live in sky dreams
Формирование текста запроса: "ГруппыСкладов" - список значений, тип значения: текст. Содержит список наименований групп складов. Так же используется как условие отбора из таблицы значений ("ГрцппаСклада", "Склад"). Каждой группе соответствует 1 или более складов. функция ВернутьСписокСкладовГруппы(ИмяГруппыСклада) как раз и возвращает список значений со складами, соответствующими указанной группе. Отладчиком проверял - да, возвращает верно, в зависимости от указанной группы. Должно же С#КА работать!!!! :(
#24
by live in sky dreams
("ГрцппаСклада", "Склад") = ("ГруппаСклада", "Склад") В коде нет этой ошибки, просто сюда руками писал
#26
by aka AMIGO
Отличие есть у типовой и у ТС, такое: в типовой функции подсчитывают 3 разные суммы: расход, приход, КонОст в коде тс - дважды: КонОст ИМХО - видимо, в этом засада..
#28
by aka AMIGO
Внешняя функция для подсчета остатков по двум группам складов, вставленная в Запрос - может решить задачу. Запрос тупо подсчитывает конОст общий..
#29
by FIXXXL
семерошный язык запросов писал видимо чувак, который или не слышал про скуль или скуль ему чем-то насолил надо же такую хрень навертеть...
#30
by aka AMIGO
Ну, что делать.. приходится пользоваться тем, что есть, раз больше 7-ка не поддерживается
#34
by Ёпрст
Хотя не надо. У тя вся проблема в функции ВернутьСписокСкладовГруппы. в Тексте запроса всегда один и тот же список значений будет.
#36
by Ёпрст
>>>Содержит список наименований групп складов. Это тоже пять! Список должен, как минимум, содержать список Элементов справочника, а не наименований.
#44
by Builder
Не поленился, накидал запрос. Все работает, выдает разные остатки. Так что у ТС явно что то не то с запросом и с логикой построения групп складов.
#47
by Злопчинский
не факт. иногда ткань пространства-времени переклинивает и любого может выбросить в параллельную реальность с немного другими законами.. а у себя, здесь, мы отражаемся именно в таком качестве... ;-)
#50
by Злопчинский
Первый признак сумашсетвия - что сумашедший не видит своего сумашествия... так что ты это.. внимательнее ... к себе.. ;-)
#51
by Масянька
Это - если смотреть с одной стороны. А если смотреть в параллельной реальности - кто из вас псих? А вполне вероятно, что и оба нормальны. Просто параллельные реальности не пересекаются.
#52
by toypaul
"ГруппыСкладов" - список значений, тип значения: текст. Содержит список наименований групп складов. схрена ли тогда Склад, который элемент справочника должен быть в списке строк? это вопрос раз и два - коли такой охренительный запрос на 7ке пишешь - не удивляйся если что-то работать не будет.
#53
by live in sky dreams
Спасибо всем :) И тем, кто реально старался помочь и вангам :) Особенно улыбнули вангования про строки вместо элементов, хотя вроде текст запроса и логику работы функций расписал, хотя, это ж читать нужно..... Пятница, да ну нах еще читать что-то ))) А кроме шуток - админ по надобности ребутнул серв и циферки заиграли достоверностью. В запросе ошибок не было(кто не увидел в был текст запроса с описанием что там откуда куда). Вот я и думаю, а могли быть глюки из-за утечки памяти или чего-то в этом роде? P.S.: Аптайм серва виндового (терминал, базы локально файловые) 16 дней.
#56
by Ёпрст
сервант тут не причем, максимум, нужно было жуколов закрыть к едрени фени и табло в нём
#58
by пипец
+ ну как вариант запускался не тот отчет, который правился в конфигураторе , то есть его более ранняя версия, чудес не бывает (с) ЗЫ а то в продолжение темы анекдотов про выбор жены ))) - сколько дважды два ? * а сколько нужно (с)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: функция «ПробитьЧекНаККМ()
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
В этой группе 1С
- ЗУП 3.1 Расчетная ведомость
- Объект метаданных в запросе
- Покупатель - бюджетник, а платит МинФин. Как прикрепить платежку?
- УНФ 1.6 не заполняется табель
- УТ 11.1 - адресный склад - рабочее место работника склада (помогите разобраться)
- Не работает синхронизация между ЗУП и БП
- Покраска строк табличного поля в цвета пользователя
- Регистр накопления - отбор по нескольким значениям
- Конвертация данных УПП в Бух 3.0. Субконто "Подразделения
- Подскажите реализацию вывода справочника в виде иерархического дерева
- Отчет на СКД, сделать отбор по № п/п в группе
- УТ11.2 зависание по первым числам
- 2 макета с разным количеством колонок в 1 табДок!
- Публикация веб сервиса на апаче 2.4 через утилиту webinst
- УТ 11.3 ПКО Проблемы с предоплата идет по кассе как электронный платеж
- v7: Нужен ТСД под 1с 7.7
- Установить всем пользователям стандартные настройки формы и списка программно
- Конвертация. Как удалить товар с пустым артикулом?
- Помогите расшифровать тех. журнал
- Динамическое обновление и регламентное задание