|
Как это работает? | ☑ | ||
---|---|---|---|---|
0
John342
05.06.20
✎
23:27
|
Добрый вечер, товарищи!
Кто может мне объяснить, как работает следующий случай? В динамический список добавляю элементарный запрос, получающий данные из одного реквизита документа: ВЫБРАТЬ ДЗ.Номер ИЗ Документ.ЗаказКлиента КАК ДЗ Этот запрос в динамическом списке обрабатывается на ура. Все номера выводятся в динамическом списке. Пытаюсь этот же запрос обработать программно: Запрос = новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ДЗ.Номер |ИЗ | Документ.ЗаказКлиента КАК ДЗ"; Запрос.Выполнить(); Запрос возвращает null. Почему запрос обрабатывается не так, как в динамическом списке? |
|||
1
xoma1c
05.06.20
✎
23:36
|
(0) А вот чисто интересно, ты хочешь все номера документов получить? А сколько доков в базе? Если база рабочая и пухлая, то зачем все собирать-то, тормозить же начет?
|
|||
2
Надо работать
05.06.20
✎
23:37
|
(0) это магия
|
|||
3
John342
05.06.20
✎
23:39
|
(1) На самом деле, номеров немного. База тестовая. И задание тоже тестовое. Да и мне бы просто добиться того, чтоб хоть какие-то данные были получены.
|
|||
4
AlvlSpb
05.06.20
✎
23:45
|
(0) А если Запрос.Выполнить().Выгрузить();?
|
|||
5
AlvlSpb
05.06.20
✎
23:46
|
(0) Вернее и точнее Результат = Запрос.Выполнить().Выгрузить(); П
|
|||
6
xoma1c
05.06.20
✎
23:48
|
(3) Методика может быть такая - берешь и смотришь в консоли запрос. Если в консоли зафигачилось, то значит запрос хороший, а дальше код нехороший.
|
|||
7
John342
05.06.20
✎
23:50
|
(5) Без изменений.
|
|||
8
xoma1c
05.06.20
✎
23:52
|
(7) а дальше то что? Должен быть обход получившейся таблицы, дальше какой код?
//Запрос к регистру бухгалтерии Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетыОстатки.Субконто2 КАК Договор, | ХозрасчетыОстатки.Субконто3 КАК РасходнаяНакладная, | ЕСТЬNULL(ХозрасчетыОстатки.ОтгрузкаОстатокДт, 0) КАК ДолгКонтрагента, | ЕСТЬNULL(ХозрасчетыОстатки.ОплатаОстатокДт, 0) КАК ОплаченоКонтрагентом |ИЗ | РегистрБухгалтерии.Хозрасчеты.Остатки(&МоментВремени, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчеты.Покупатели), &ВидыСубконто, Субконто1 = &Контрагент) КАК ХозрасчетыОстатки | |УПОРЯДОЧИТЬ ПО | ХозрасчетыОстатки.Субконто2.ДатаОкончания, | ХозрасчетыОстатки.Субконто3.МоментВремени"; Запрос.УстановитьПараметр("ВидыСубконто", ПланыСчетов.Хозрасчеты.Покупатели.ВидыСубконто.ВыгрузитьКолонку("ВидСубконто")); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); //Какая то ошибка в запросе, во всех полях null Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); //Проверка не больше ли сумма оплаты, чем долг //Запрос возвращает null, поэтому я не уверен можно ли использовать Итог Если Сумма > (Выборка.ДолгКонтрагента.Итог - Выборка.ОплаченоКонтрагентом.Итог) Тогда Сообщить("Сумма оплаты " + Строка(Сумма)+ " превышает долг конрагента "+Строка(Выборка.ДолгКонтрагента.Итог - Выборка.ОплаченоКонтрагентом.Итог)); Отказ = Истина; КонецЕсли; траляля.... |
|||
9
xoma1c
05.06.20
✎
23:56
|
(7) Пока Выборка.Следующий() Цикл
|
|||
10
John342
05.06.20
✎
23:57
|
(8) У меня дальше кода никакого. Да, по консоли проверил запрос. Он корректен.
|
|||
11
AlvlSpb
05.06.20
✎
23:58
|
(0) Покажи всю процедуру с запросом
|
|||
12
John342
05.06.20
✎
23:59
|
процедура ЗаполнениеТаблицы()Экспорт
Запрос = Новый Запрос; Документы.ЗаказКлиента.ПолучитьСсылку(); Запрос.Текст = "ВЫБРАТЬ | ЗакКлнт.Номер |ИЗ | Документ.ЗаказКлиента КАК ЗакКлнт"; Рез = Запрос.Выполнить().Выгрузить(); конецпроцедуры |
|||
13
xoma1c
06.06.20
✎
00:00
|
(10) дальше надо фигачить обход таблицы, ибо получена она. Конструктором сделай, чтоб текст кода с обходом результата
|
|||
14
xoma1c
06.06.20
✎
00:04
|
(12) https://v8.1c.ru/platforma/konstruktor-zaprosa-s-obrabotkoy-rezultata/
правой кнопкой жамкай и конструируй https://studfile.net/preview/7285515/page:17/ |
|||
15
John342
06.06.20
✎
00:09
|
(14) Спасибо Вам огромное! Боже, оно заработало!
|
|||
16
mikecool
06.06.20
✎
00:22
|
(15) Аминь, сын мой
|
|||
17
Chameleon1980
06.06.20
✎
04:42
|
{0} на какой строке и как ты определил, что что-то возвращает нулл?
|
|||
18
John342
06.06.20
✎
18:29
|
(17) в табло поставил результирующую переменную, там тип значения null. Я ориентировался на это.
|
|||
19
Ненавижу 1С
гуру
06.06.20
✎
19:54
|
(18)null или неопределено?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |