Имя: Пароль:
1C
 
Запрос к регистру накопления не возвращает значение, если в ресурсе 0
0 kotofeich1
 
09.09.10
13:09
Поле PrekiuRegistrasBalance.KiekisBalance есть ресурс. Если оно равно нулю, то SelectedDetailRecords выходит пустым... Как можно исправить?    
QueryNegative = new Query;
   QueryNegative.Text =
   "SELECT
   |    PrekiuRegistrasBalance.KiekisBalance,
   |    PrekiuRegistrasBalance.Preke
   |FROM
   |    AccumulationRegister.PrekiuRegistras.Balance AS PrekiuRegistrasBalance
   |WHERE
   |    PrekiuRegistrasBalance.Preke = &Preke";
    QueryNegative.SetParameter("Preke", Record.Preke);
    Result = QueryNegative.Execute();
    SelectedDetailRecords = Result.Choose();
1 Aprobator
 
09.09.10
13:13
дык если 0 чего возвращать то? Тем более, что юзается виртуальная таблица.
2 Kashemir
 
09.09.10
13:13
Если это виртуальная таблица оборотов - то что там делать записям о 0 оборотах по всем ресурсам.
3 Fragster
 
гуру
09.09.10
13:14
это все от того что на английском написано
4 butterbean
 
09.09.10
13:15
(3) буквы английские, а язык непонятный какой-то
5 kotofeich1
 
09.09.10
13:18
Да, действительно) не подумал)
а на английском, ну я какбе не в России живу и это упростит понимание кода) а язык литовский)
6 73
 
09.09.10
13:18
(0) Проверить надо...
if Result.IsEmpty() Then
....

или так:
if SelectedDetailRecords.Next() Then
....
7 Gluk
 
09.09.10
13:22
Если связать РН и РС полным соединением, и если в РН в ресурсе 0 - также ничего не возвращает
8 YoungMan
 
09.09.10
13:24
(7) он тебе NULL возвращает. Обработай ЕСТЬNULL и получишь 0
9 Gluk
 
09.09.10
13:28
(8) как раз нет, может проблема с построителем, но должен же возвращаться данные с РС - они то есть
10 Gluk
 
09.09.10
13:29
должен = должны
11 Невский Александр
 
09.09.10
13:42
Может в Литву переехать? :) Интересно, как там живут 1Снеги? :)
12 kotofeich1
 
09.09.10
14:20
Да тут 1Сников чуть более, чем нет) тут больше влияние европы чувствуется в таких делах) я и сам только месяц работаю, опыта в 1С до того не имел)
13 Невский Александр
 
09.09.10
14:59
(12) ну так ее там развивать надо :)
14 and2
 
09.09.10
15:02
(0) если язык литовский - погоди немного.
он просто медленно возвращает - ждать надо.

а на эстонском - вообще беда :(
15 kotofeich1
 
09.09.10
15:08
Прибалтику обобщать не стоит, т.к. нихрена там общего нет практически, тот же латышский практически не похож на литовский, а эстонский - это вообще другое, он к финнам)))))
А развивать - развиваю лично, отчеты уже перевел с VS на 1С))))
16 gavlexx
 
10.09.10
00:59
*.Balance - таблица остатков регистра накопления. Таблицы остатков регистров накопления не хранят остатки для нулевых значений ресурсов. Поэтому при обращении запросом к таблице остатков если остатки нулевые - записей не будет вообще!

При соединении другой таблицы (например, таблицей товаров, остатки по которым получаем из регистра накопления) с полученной таблицей остатков, необходимо в запросе обрабатывать значение NULL, которое получится для товаров с нулевым остатком. Обрабатывать так: "ISNULL(<ПутьКРесурсуОстаток>, 0) AS QuantityRest" вместо "<ПутьКРесурсуОстаток> AS QuantityRest"
17 kotofeich1
 
10.09.10
10:09
Большое спасибо за развернутый ответ) но использовал "Result.IsEmpty()", только отписаться забыл)