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

Помощь с отбором в запросе. Help please !

Автор Алексей_1985_06, 29 фев 2020, 17:36

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

Алексей_1985_06

Всем привет! Знатоков прошу помочь с таким вопросом:
1. Есть документ в котором необходимо заполнить ТЧ "ДанныеНаКомандира"
2. В данном документе при выборе реквизита "ФИО" заполняется другой реквизит "Подразделение" из соответствующего справочника "Сотрудники"
2. ТЧ "ДанныеНаКомандира" должна заполниться тем сотрудником, который является командиром подразделения, указанного в реквизите "Подразделение" (это указывается в реквизите "КомандирПодразделения" с типом Булево, в справочнике "Сотрудники")
Помогите пожалуйста кто знает.... Никак дальше не могу сам....

&НаСервере
Процедура КомандирыНаСервере()

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

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
НовСтр = Объект.ДанныеНаКомандира.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
КонецЦикла;
КонецПроцедуры


antoneus

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

Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);

Алексей_1985_06

Цитата: antoneus от 02 мар 2020, 10:35
Запрос.Текст = "ВЫБРАТЬ
|ЛичныйСостав.ВоинскоеЗвание КАК ВоинскоеЗвание,
|ЛичныйСостав.Наименование КАК Наименование,
|ЛичныйСостав.Должность КАК Должность,
|ЛичныйСостав.Владелец КАК Владелец
|ИЗ
|Справочник.ЛичныйСостав КАК ЛичныйСостав
|ГДЕ
|ЛичныйСостав.КомандирПодразделения И
|ЛичныйСостав.Подразделение = &Подразделение";

Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);


Спасибо за помощь!
Подскажите в чем может быть дело, написал так, не работает... (ошибок не выдает) но ТЧ не заполняется
Поясню: при выборе ФИО, заполняется реквизит "ПодразделениеНарушителя" и "ПодразделениеПострадавшего",  необходимо чтобы при нажатии на кнопку "Командиры", заполнилась ТЧ "Данные на командиров" (по критерию что в справочнике "ЛичныйСостав" у командиров было такое же подразделение и реквизит "КомандирПодразделение" = Истина). Реквизит "Владелец" - это подразделение в справочнике "ЛичныйСостав"
Я дилетант в этом пока, прошу у профи помощи!!!
:kmtu::kmtu::kmtu:

&НаСервере
Процедура КомандирыНаСервере()

// Все названия после слова как, должны быть написаны как названия реквизитов ТЧ ДанныеНаКомандиров
Запрос = Новый  Запрос;
Запрос.Текст = "ВЫБРАТЬ
|ЛичныйСостав.ВоинскоеЗвание КАК ВоинскоеЗвание,
|ЛичныйСостав.Наименование КАК Наименование,
|ЛичныйСостав.Должность КАК Должность,
|ЛичныйСостав.Владелец КАК Владелец

|ИЗ
|Справочник.ЛичныйСостав КАК ЛичныйСостав
|ГДЕ
|ЛичныйСостав.КомандирПодразделения И
|ЛичныйСостав.Владелец = &Подразделение";

Запрос.УстановитьПараметр("Подразделение", Объект.ПодразделениеНарушителя);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
НовСтр = Объект.ДанныеНаКомандира.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
КонецЦикла;
КонецПроцедуры

antoneus

Элементарно :)

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

Запрос.УстановитьПараметр("ПодразделениеНарушителя", Объект.ПодразделениеНарушителя);
Запрос.УстановитьПараметр("ПодразделениеПострадавшего", Объект.ПодразделениеПострадавшего);

Алексей_1985_06

Цитата: antoneus от 03 мар 2020, 10:07
Элементарно :)

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

Запрос.УстановитьПараметр("ПодразделениеНарушителя", Объект.ПодразделениеНарушителя);
Запрос.УстановитьПараметр("ПодразделениеПострадавшего", Объект.ПодразделениеПострадавшего);


Извините что надоедаю Вам!
Что-то не работает, ошибок никаких нет, но ТЧ не заполняется....:dfbsdfbsdf::dfbsdfbsdf::dfbsdfbsdf:
В чем может быть проблема? Подскажите если не сложно!!!
Код такой:
&НаСервере
Процедура КомандирыНаСервере()

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

Запрос.УстановитьПараметр("ПодразделениеНарушителя", Объект.ПодразделениеНарушителя);
Запрос.УстановитьПараметр("ПодразделениеПострадавшего", Объект.ПодразделениеПострадавшего);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
НовСтр = Объект.ДанныеНаКомандира.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
КонецЦикла;
КонецПроцедуры

antoneus

Тут уже без отладчика сказать трудно. Есть ли данные в выборке? Совпадают ли имена полей в выборке и в ТЧ?

Алексей_1985_06

Цитата: antoneus от 04 мар 2020, 11:24
Тут уже без отладчика сказать трудно. Есть ли данные в выборке? Совпадают ли имена полей в выборке и в ТЧ?
Понял, буду пробовать...
Большое Вам спасибо за помощь!!!!

Теги:

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

Рейтинг@Mail.ru

Поиск