Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 сен 2021, 17:25

Передача параметров булевых выражений по запросу

Автор Енот_Полоскун_2017, 27 июл 2017, 13:54

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

Енот_Полоскун_2017

Есть функция проверки графика работы, нужно чтобы она меняла булев реквизит на форме
Функция ПроверкаГрафика(Дата,Сотрудник)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПредварительныйГрафикРаботы.ЗапланированныеОтгулыСотрудников.(
| ДатаОтгула,
| Сотрудник.Наименование
| ),
| Отгул.Отгулы.(
| ДатаОтгула,
| Сотрудник.Наименование
| )
|ИЗ
| Документ.Отгул КАК Отгул
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПредварительныйГрафикРаботы КАК ПредварительныйГрафикРаботы
| ПО Отгул.Отгулы.ДатаОтгула = ПредварительныйГрафикРаботы.ЗапланированныеОтгулыСотрудников.ДатаОтгула
| И Отгул.Отгулы.Сотрудник.Наименование = ПредварительныйГрафикРаботы.ЗапланированныеОтгулыСотрудников.Сотрудник.Наименование
|ГДЕ
| Отгул.Отгулы.ДатаОтгула = &ДатаОтгула
| И Отгул.Отгулы.Сотрудник.Наименование = &Сотрудник";

Запрос.УстановитьПараметр("ДатаОтгула",Дата);
Запрос.УстановитьПараметр("Сотрудник",Сотрудник);

Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
График = истина;
Иначе
График = ложь;
КонецЕсли;

КонецФункции

но она не только не меняет, но похоже и запрос не выполняет

Kironten

Залейте запрос в консоль и посмотрите, что вы получаете при таких параметрах.

temrmal

Цитата: Енот_Полоскун_2017 от 27 июл 2017, 13:54
И Отгул.Отгулы.Сотрудник.Наименование = ПредварительныйГрафикРаботы.ЗапланированныеОтгулыСотрудников.Сотрудник.Наименование

Цитата: Енот_Полоскун_2017 от 27 июл 2017, 13:54
И Отгул.Отгулы.Сотрудник.Наименование = &Сотрудник";

Это что такое? Кто же к наименованию привязывает? Сотрудник это ссылка, соединяй по ней

Енот_Полоскун_2017

Цитата: Kironten от 27 июл 2017, 14:49
Залейте запрос в консоль и посмотрите, что вы получаете при таких параметрах.
этот запрос не могу проверить, пишет что индекс находится за границами массива
Добавлено: 28 июл 2017, 09:09


Цитата: temrmal от 28 июл 2017, 01:33
Это что такое? Кто же к наименованию привязывает? Сотрудник это ссылка, соединяй по ней
Благодарю
Добавлено: 28 июл 2017, 09:57


Цитата: Kironten от 27 июл 2017, 14:49
Залейте запрос в консоль и посмотрите, что вы получаете при таких параметрах.
проверил на сотрудниках, выводит всех, а надо одного
как же так, стоит же соединение

Golickoff

Внутреннее соединение поменяйте на левое.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Енот_Полоскун_2017

Цитата: Golickoff от 28 июл 2017, 10:43
Внутреннее соединение поменяйте на левое.
я пробовал, это не помогло
но уже исправил: поставил сортировку по сотруднику

alex0402

Цитата: Енот_Полоскун_2017 от 27 июл 2017, 13:54| Документ.Отгул КАК Отгул | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПредварительныйГрафикРаботы

запрос нужно построить не от документов, а от табличных частей.
Запрос будет проще и будет работать.

| Документ.Отгул.Отгулы КАК Отгул
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПредварительныйГрафикРаботы.ЗапланированныеОтгулыСотрудников
Спасибо за Сказать спасибо

Теги: Запрос 1с8.2 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск