Имя: Пароль:
1C
1С v8
Почему в консоли запрос выполняется, а в 1С нет?
,
0 VID1234
 
09.09.21
10:20
Здравствуйте. Есть запрос:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
|    СоставГруппы.Сотрудник КАК Сотрудник1,
|    Планы.ПроектПроект - это задача, для выполнения которой оговорены объем работ, сроки, стоимость и качество. Как правило, проектом называют достаточно сложные задачи. Для проекта заранее ставится цель его ... КАК Проект
|ПОМЕСТИТЬ ВТКоличество
|ИЗ
|    Документ.Планы.Проекты КАК Планы
|        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.СоставГруппы.Сотрудники КАК СоставГруппы
|        ПО (ПланыПроекты.Проект = СоставГруппы.Ссылка.Проект)
|ГДЕ
|    СоставГруппы.Сотрудник <> ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка)
|    И Планы.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|    Начисления.Сотрудник КАК Сотрудник,
|    Начисления.Результат КАК Результат,
|    Начисления.ОтработаноДней КАК ОтработаноДней,
|    Начисления.ОтработаноЧасов КАК ОтработаноЧасов,
|    ЕСТЬNULL(КОЛИЧЕСТВО(ВТКоличество.Проект), ""не участвует в проектах"") КАК КоличествоВПроектах
|ИЗ
|    РегистрРасчета.Начисления КАК Начисления
|        ПОЛНОЕ СОЕДИНЕНИЕ ВТКоличество КАК ВТКоличество
|        ПО (ВТКоличество.Сотрудник1 = Начисления.Сотрудник)
|ГДЕ
|    Начисления.ПериодРегистрации МЕЖДУ &НачПериода И &КонПериода
|    И Начисления.ВидРасчета.ВклВРаспределениеПЭО
|    И НЕ Начисления.ВидРасчета.Наименование ПОДОБНО &ОХР
|    И НЕ Начисления.ВидРасчета.Наименование ПОДОБНО &ОПР
|СГРУППИРОВАТЬ ПО
|Начисления.Сотрудник,
|    Начисления.Результат,
|    Начисления.ОтработаноДней,
|    Начисления.ОтработаноЧасов
|";
В консоли запросов отрабатывает как нужно, а вот в проге " КоличествоВПроектах" всегда 0, если убираю это: "И ПланыПроекты.Ссылка = &Ссылка", то записи появляются но все со всех документов, а мне нужно только из этого документа!
Я задал параметр на Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка); он показывает в отладчике именно тот документ, который мне необходим, но при этом количество не выводит. Почему?
1 VID1234
 
09.09.21
10:22
(0) На это можете не обращать внимание, автоматически подставилось!
2 Ёпрст
 
09.09.21
10:22
(0) Неверные параметры запроса
3 VID1234
 
09.09.21
10:22
(1) Проект - это задача, для выполнения которой оговорены объем работ, сроки, стоимость и качество. Как правило, проектом называют достаточно сложные задачи. Для проекта заранее ставится цель его ...
4 DrShad
 
09.09.21
10:24
и опять запросы к документам и физ таблицам с параметрами на наименование ))))
5 Kassern
 
09.09.21
10:24
(2) ну или какие нить ФО
6 VID1234
 
09.09.21
10:25
(2) Блин, наверное точно, я ведь вызываю запрос с другого объекта, а как тогда вызвать именно тот документ "Документ.Планы"?? До меня сейчас только дошло, я же обращаюсь к объекту (4)
7 VID1234
 
09.09.21
10:25
(4) Здравствуйте. Регистра по этим документам нет, это самописный документ
8 Ёпрст
 
09.09.21
10:26
И нахрена писать вот так ?
ПОДОБНО &ОХР

чего, религия не позволяет сразу параметром задать нужный вид расчета ?
9 DrShad
 
09.09.21
10:28
(7) сделай
запрос к документу возможен например для формирования печатной формы
к тому же у тебя нет проверки, что документ проведен или хотя бы не помечен на удаление
10 VID1234
 
09.09.21
10:30
(8) Здравствуйте. Сделаю, пока другая задача, я правлю, то что есть! Получу нужный результат, а потом буду оптимизировать!
11 VID1234
 
09.09.21
10:35
(9) Что-то типа того можно? Запрос.УстановитьПараметр("Ссылка", Документы.Планы.Ссылка);?
12 1Сергей
 
09.09.21
10:41
(11) Нельзя
13 1Сергей
 
09.09.21
10:42
У тебя должна быть ссылка на необходимый документ.
14 VID1234
 
09.09.21
10:42
(12) Здравствуйте. Принято, ладно сейчас в этом же запросе запрошу ссылку на документ и в параметрах установлю Запрос.УстановитьПараметр("Ссылка", Выборка.Ссылка);
15 DrShad
 
09.09.21
10:48
(10) только нам тут заливать не нужно ибо пишешь говнокод, а его не оптимизировать - только выкинуть
16 VID1234
 
09.09.21
10:50
(15) Хорошо не буду, всем кто помогает, жму руку!
17 nodrama
 
09.09.21
10:55
СоставГруппы.Сотрудник КАК Сотрудник1  - facepalm
ПОДОБНО &ОХР -facepalm
ПОДОБНО &ОПР - facepalm

как минимум)
18 VID1234
 
09.09.21
11:01
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Планы.Ссылка КАК Ссылка
        |ИЗ
        |    Документ.Планы КАК Планы
        |ГДЕ
        |    Планы.Дата МЕЖДУ &НачДата И &КонДата";
    
    Запрос.УстановитьПараметр("КонДата", КонецМесяца(Объект.Дата));
    Запрос.УстановитьПараметр("НачДата", НачалоМесяца(Объект.Дата));
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
            
    Пока Выборка.Следующий() Цикл
        СсылкаНаПлан = Выборка.Ссылка;
    КонецЦикла;
Так сделал, норм! спасибо, вопрос закрыт!
19 1Сергей
 
09.09.21
11:05
(18) это можно было и в основном запросе сделать
20 VID1234
 
09.09.21
11:10
(19) а что-то не получилось, у меня параметры задаются раньше, чем происходит выгрузка ТЗ или можно было сначала выбрать ссылку, а затем выгрузить ТЗ?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший