Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 05:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Можно ли задать такое Условие в Запросе!  (Прочитано 3559 раз)

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

Оффлайн jul

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
Добрый день! Прошу помочь мне советом в работе с запросом. Есть запрос, хотелось бы знать, возможно ли в запросе задать такое условие, если свиноматка с таким кодом уже существует, то не бери ее больше. Т.е. сейчас свинка у меня выбирается столько раз , сколько она встретиться в выбраковке, абортах, падеже и т.д по датам. А мне надо чтобы она в конце концов показалась всего один раз за самую раннюю дату. И это надо сделать в запросе. Можно ли так или нет. Вот текст запроса:
Запрос.Текст    =             "ВЫБРАТЬ
                                                |             НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения) КАК НеделяОсеменения,
                                                |             ВЫБОР
                                               |                             КОГДА НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) < НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения)
                                                |                                             ТОГДА НЕДЕЛЯ(КОНЕЦПЕРИОДА(ВТ_Выбывшие.ПериодОсеменения, ГОД)) + НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) - НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения)
                                                |                             ИНАЧЕ НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) - НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения) + 1
                                                |             КОНЕЦ КАК НеделяВыбытия,
                                                |             ВТ_Выбывшие.Свиноматка КАК Свиноматка,
                                                |             СУММА(0) КАК Повтор,
                                                |             СУММА(ВЫБОР
                                                |                                             КОГДА ВТ_Выбывшие.Маркер = 2
                                                |                                                            ТОГДА 1
                                                |                                             ИНАЧЕ 0
                                                |                             КОНЕЦ) КАК Тест,
                                                |             СУММА(ВЫБОР
                                                |                                             КОГДА ВТ_Выбывшие.Маркер = 3
                                                |                                                            ТОГДА 1
                                                |                                             ИНАЧЕ 0
                                                |                             КОНЕЦ) КАК Выбрак,
                                                |             СУММА(ВЫБОР
                                                |                                             КОГДА ВТ_Выбывшие.Маркер = 4
                                                |                                                            ТОГДА 1
                                                |                                             ИНАЧЕ 0
                                                |                             КОНЕЦ) КАК Падеж,
                                                |             СУММА(ВЫБОР
                                                |                                             КОГДА ВТ_Выбывшие.Маркер = 5
                                                |                                                            ТОГДА 1
                                                |                                             ИНАЧЕ 0
                                                |                             КОНЕЦ) КАК Аборт
                                                |ИЗ
                                                |             ВТ_Выбывшие КАК ВТ_Выбывшие
                                                |
                                                |СГРУППИРОВАТЬ ПО
                                                |             НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения),
                                                |             ВЫБОР
                                                |                             КОГДА НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) < НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения)
                                                |                                             ТОГДА НЕДЕЛЯ(КОНЕЦПЕРИОДА(ВТ_Выбывшие.ПериодОсеменения, ГОД)) + НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) - НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения)
                                                |                             ИНАЧЕ НЕДЕЛЯ(ВТ_Выбывшие.ПериодВыбытия) - НЕДЕЛЯ(ВТ_Выбывшие.ПериодОсеменения) + 1
                                                |             КОНЕЦ,
                                                |             ВТ_Выбывшие.Свиноматка
                                                |ИТОГИ
                                                |             КОЛИЧЕСТВО(Свиноматка),
                                                |             СУММА(Повтор),
                                                |             СУММА(Тест),
                                                |             СУММА(Выбрак),
                                                |             СУММА(Падеж),
                                                |             СУММА(Аборт)
                                                |ПО
                                                |             НеделяОсеменения,
                                                |             НеделяВыбытия";
                ДеревоВыбывшие       =                Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

Последний раз редактировалось: MuI_I_Ika; 13 Дек 2013, 10:18


Оффлайн БезПонтов

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 2
  • КПД: 8%
  • Регистрация: 2011-06-27
  • Сайт: 
  • Профессия: Программист 1С
попробуй функцию Минимум(ВТ_Выбывшие.ПериодОсеменения)
Ответ на вопрос - бесплатно!
Ответ на дурацкий вопрос - 5$
Ответ на дурацкий вопрос с обдумыванием - 100$

Оффлайн jul

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
А вы куда предлагаете поставить эту функцию в условиях или в переменных?
Если в условиях, то пишет, что операция не разрешена в предложении.

Оффлайн БезПонтов

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 2
  • КПД: 8%
  • Регистрация: 2011-06-27
  • Сайт: 
  • Профессия: Программист 1С
В Переменных
Добавлено: 13 Дек 2013, 17:02

вот пример

http://forum-1c.ru/index.php?topic=33698.0
Ответ на вопрос - бесплатно!
Ответ на дурацкий вопрос - 5$
Ответ на дурацкий вопрос с обдумыванием - 100$

Оффлайн jul

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
Поставила Минимум в переменных, не хочет ни в какую ее ставить. Нажимаю "ОК" и Минимум пропадает из выражения!


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4293
Последний ответ 24 Дек 2015, 15:34
от дфтын
Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 4143
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
УНФ планировщик выдает на план-графике вместо контрагентов <Точка 1>, <Точка 2> и т.д. Как можно отобразить наименования контрагентов вместо точек?

Автор olesya9393Раздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 491
Последний ответ 09 Янв 2017, 12:55
от olesya9393
РС "СостояниеОСОрганизаций" в запросе

Автор ILLUMIРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1118
Последний ответ 07 Янв 2015, 05:33
от ILLUMI
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2119
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
39 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 287
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal