|
При вводе на основание не отрабатывает запрос. Почему? | ☑ | ||
---|---|---|---|---|
0
AlexBor
naïve
24.08.15
✎
10:08
|
8.2 База самописная Документ обращение на его основание вводиться документ Предписание
Вот сама процедура: Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Акт") Тогда // Заполнение шапки Адрес = ДанныеЗаполнения.Адрес; АР1 = ДанныеЗаполнения.АР1; АР2 = ДанныеЗаполнения.АР2; Должностное_лицо = ДанныеЗаполнения.ДолжнЛицо; Основание_обращение = ДанныеЗаполнения.ОснованиеОбращение; Акт_проверки = ДанныеЗаполнения.Ссылка; Субъект_ю = ДанныеЗаполнения.Субъект; Субъект_ф = ДанныеЗаполнения.Физ_Лицо; Для Каждого ТекСтрокаТаблицаНарушений Из ДанныеЗаполнения.ТаблицаНарушений Цикл НоваяСтрока = ТаблицаНарушений.Добавить(); НоваяСтрока.Количество = ТекСтрокаТаблицаНарушений.Количество; НоваяСтрока.Нарушение = ТекСтрокаТаблицаНарушений.Нарушение; КонецЦикла; ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Обращение") Тогда // Заполнение шапки АР1 = ДанныеЗаполнения.АР1; АР2 = ДанныеЗаполнения.АР2; Должностное_лицо = ДанныеЗаполнения.Исполнитель; Основание_обращение = ДанныеЗаполнения.Ссылка; //Субъект_ю = ДанныеЗаполнения.Управляющая_компания; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Первые 1 | УправляющиеКомпании.Период КАК Период, | УправляющиеКомпании.УК КАК УК, | УправляющиеКомпании.Адрес |ИЗ | РегистрСведений.УправляющиеКомпании.СрезПоследних(, Адрес = &Адрес) КАК УправляющиеКомпании |ГДЕ | УправляющиеКомпании.Адрес = &Адрес | |СГРУППИРОВАТЬ ПО | УправляющиеКомпании.Адрес, | УправляющиеКомпании.Период, | УправляющиеКомпании.УК | |УПОРЯДОЧИТЬ ПО | Период УБЫВ, | УК УБЫВ"; Запрос.УстановитьПараметр("Адрес", ДанныеЗаполнения.Ссылка.Управляющая_компания); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Субъект_ю = ДанныеЗаполнения.Результат.УК; КонецЦикла ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Проверки_плановые") Тогда // Заполнение шапки ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Проверки_тематические") Тогда // Заполнение шапки ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ТСЖ") Тогда // Заполнение шапки ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.СтандартыРасскрытияИнформации") Тогда // Заполнение шапки ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Капремонт") Тогда // Заполнение шапки Должностное_лицо = ДанныеЗаполнения.Исполнитель; Основание_обращение = ДанныеЗаполнения.Ссылка; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры А вот интересущий запрос в ней: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Первые 1 | УправляющиеКомпании.Период КАК Период, | УправляющиеКомпании.УК КАК УК, | УправляющиеКомпании.Адрес |ИЗ | РегистрСведений.УправляющиеКомпании.СрезПоследних(, Адрес = &Адрес) КАК УправляющиеКомпании |ГДЕ | УправляющиеКомпании.Адрес = &Адрес | |СГРУППИРОВАТЬ ПО | УправляющиеКомпании.Адрес, | УправляющиеКомпании.Период, | УправляющиеКомпании.УК | |УПОРЯДОЧИТЬ ПО | Период УБЫВ, | УК УБЫВ"; Запрос.УстановитьПараметр("Адрес", ДанныеЗаполнения.Ссылка.Управляющая_компания); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Субъект_ю = ДанныеЗаполнения.Результат.УК; КонецЦикла |
|||
1
Господин ПЖ
24.08.15
✎
10:09
|
>Почему?
руки с ж.пы - ничего нового |
|||
2
Metman
24.08.15
✎
10:11
|
| РегистрСведений.УправляющиеКомпании.СрезПоследних(, Адрес = &Адрес) КАК УправляющиеКомпании
|ГДЕ | УправляющиеКомпании.Адрес = &Адрес Нахрена? |
|||
3
AlexBor
naïve
24.08.15
✎
10:18
|
(2) Не совсем понял?
|
|||
4
AlexBor
naïve
24.08.15
✎
10:20
|
(1) А по существу?
|
|||
5
Mankubus
24.08.15
✎
10:24
|
|ИЗ
| РегистрСведений.УправляющиеКомпании.СрезПоследних(, УК = &УК ) КАК УправляющиеКомпании Запрос.УстановитьПараметр("УК ", ДанныеЗаполнения.Ссылка.Управляющая_компания); может так? |
|||
6
Апош
24.08.15
✎
10:26
|
если не отрабатывает запрос, значит, исполнение до него не добралось. внезапно
|
|||
7
AlexBor
naïve
24.08.15
✎
10:27
|
(6) Я уже думал на эту тему
|
|||
8
Апош
24.08.15
✎
10:29
|
(7) и решил вместо отладчика запустить мисту?
|
|||
9
chelentano
24.08.15
✎
10:29
|
(7) Что значит "не отрабатывает"? О существовании отладки, конечно же, не в курсе?
|
|||
10
Metman
24.08.15
✎
10:30
|
(3) Одно и то же условие накладываешь
(7) Отладчик в запрос заходит? |
|||
11
AlexBor
naïve
24.08.15
✎
10:31
|
(10) Нет
|
|||
12
chelentano
24.08.15
✎
10:31
|
(11) Значит, ТипЗнч(ДанныеЗаполнения) <> Тип("ДокументСсылка.Обращение")
|
|||
13
Metman
24.08.15
✎
10:32
|
В отладчике ТипЗнч(ДанныеЗаполнения) что показывает?
|
|||
14
chelentano
24.08.15
✎
10:32
|
+(12) Это же очевидно, по моему
|
|||
15
Апош
24.08.15
✎
10:32
|
(11) условий нет в коде никаких?
|
|||
16
AlexBor
naïve
24.08.15
✎
10:34
|
(11) Нет
|
|||
17
Wirtuozzz
24.08.15
✎
10:35
|
Жесть. Смотри условие, по которому идет ветка, содержащая запрос, если запрос отрабатывает, но ничего не выводит, то смотри параметры запроса.
|
|||
18
Metman
24.08.15
✎
10:36
|
А в Процедура ОбработкаЗаполнения вообще заходит?
|
|||
19
AlexBor
naïve
24.08.15
✎
10:37
|
Вообще
|
|||
20
Metman
24.08.15
✎
10:37
|
(17) да у него (12). На (13) он ответа не дал.
|
|||
21
AlexBor
naïve
24.08.15
✎
10:38
|
(13) Вообще не попадает
|
|||
22
Апош
24.08.15
✎
10:39
|
как всё запущено
|
|||
23
Metman
24.08.15
✎
10:39
|
(21) Занятно. ТОгда (19) Вообще - что? Вообще заходит? Вообще не заходит?
|
|||
24
chelentano
24.08.15
✎
10:39
|
Это ппц... ТС даже внятно ответить на вопросы не может
|
|||
25
chelentano
24.08.15
✎
10:40
|
То у него запрос не отрабатывает, то в процедуру не заходит даже...
|
|||
26
Апош
24.08.15
✎
10:42
|
а кто придумал адрес сделать измерением:?
|
|||
27
AlexBor
naïve
24.08.15
✎
10:43
|
(26) Я в курсе про это до меня так было переделывать счас смысла не вижу
|
|||
28
Апош
24.08.15
✎
10:45
|
(27) правильно совсем конфигурацию поломаешь
|
|||
29
chelentano
24.08.15
✎
10:46
|
(27) Да ты и не сможешь корректно переделать
|
|||
30
Metman
24.08.15
✎
10:49
|
А зачем в цикле обходить результат, если у тебя выбирается первая запись?
|
|||
31
chelentano
24.08.15
✎
10:50
|
(30) Вопросов, зачем в запросе группировка и упорядочивание, у тебя нет? :)
|
|||
32
Metman
24.08.15
✎
10:51
|
(31) Мальчики, не все сразу! (с)анекдот
|
|||
33
Апош
24.08.15
✎
10:53
|
а двойной контроль адреса вызывает уважение
|
|||
34
Господин ПЖ
24.08.15
✎
10:54
|
не уверен - лучше переспросить базу
|
|||
35
AlexBor
naïve
24.08.15
✎
14:57
|
Вот так правильно
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Первые 1 | УправляющиеКомпании.Период КАК Период, | УправляющиеКомпании.УК КАК УК, | УправляющиеКомпании.Адрес |ИЗ | РегистрСведений.УправляющиеКомпании.СрезПоследних(, Адрес = &Адрес) КАК УправляющиеКомпании |ГДЕ | УправляющиеКомпании.Адрес = &Адрес и РАЗНОСТЬДАТ(УправляющиеКомпании.Период , &ТекущаяДата, ДЕНЬ) < 0 | |СГРУППИРОВАТЬ ПО | УправляющиеКомпании.Адрес, | УправляющиеКомпании.Период, | УправляющиеКомпании.УК | |УПОРЯДОЧИТЬ ПО | Период УБЫВ, | УК УБЫВ"; Запрос.УстановитьПараметр("Адрес", ДанныеЗаполнения.Ссылка.Адрес); Запрос.УстановитьПараметр("ТекущаяДата", ЭтотОбъект.Дата); Результат = Запрос.Выполнить().Выбрать(); // Пока Результат.Следующий() Цикл Субъект_ю = Результат.УК; КонецЦикла |
|||
36
Апош
24.08.15
✎
15:49
|
вот как выглядит правильный срез последних на дату
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |