|
маленький запрос | ☑ | ||
---|---|---|---|---|
0
dron4ikkk
07.06.13
✎
08:34
|
всем привет! проблема в том, что запрос в одном поле выводит пустоту..
это поле касячное - item.статус = Строка(Результат.Поле1); ДатаОтчета = ТекущаяДата(); dataType = ФабрикаXDTO.Тип("http://www.sample-package.org", "Getalldata"); rowType = ФабрикаXDTO.Тип("http://www.sample-package.org", "Getallrow"); data = ФабрикаXDTO.Создать(dataType); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО, | ВЫБОР | КОГДА СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения >= &ДатаОтчета | ИЛИ СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения = &НулеваяДата | ТОГДА СостояниеРаботниковОрганизацийСрезПоследних.Состояние | ИНАЧЕ СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения | КОНЕЦ КАК Поле1, | РаботникиОрганизацийСрезПоследних.Сотрудник |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета) КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ДатаОтчета) КАК СостояниеРаботниковОрганизацийСрезПоследних | ПО (СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник)"; Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета); Запрос.УстановитьПараметр("НулеваяДата", '00010101'); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл item = фабрикаXDTO.Создать(rowType); item.fio = Строка(Результат.ФИО); item.dolgnost = Строка(Результат.Долж); item.podrazdelenie = Строка(Результат.Подразд); item.статус = Строка(Результат.Поле1); data.items.Добавить(item); КонецЦикла; возврат data |
|||
1
vicof
07.06.13
✎
08:37
|
я угадаю, в каком поле, с 4 нот
|
|||
2
dron4ikkk
07.06.13
✎
08:37
|
вот тут пустота: Строка(Результат.Поле1);
|
|||
3
Defender aka LINN
07.06.13
✎
08:38
|
Это печально ©
|
|||
4
shuhard
07.06.13
✎
08:42
|
(0) OFF: можно ли написать игру типа дума 3 на 1c 8.3?
а как круто всё начиналось |
|||
5
dron4ikkk
07.06.13
✎
08:43
|
shuhard? это другая тема балбес
|
|||
6
andreymongol82
07.06.13
✎
08:48
|
(5) То есть они никак не взаимосвязаны? Даже косвенно?
|
|||
7
dron4ikkk
07.06.13
✎
08:55
|
ни как не связаны.
|
|||
8
Defender aka LINN
07.06.13
✎
08:59
|
(7) Даже аффтаром?
|
|||
9
shuhard
07.06.13
✎
09:04
|
(8) =)
|
|||
10
Серго62
07.06.13
✎
09:52
|
Попорбуй вместо:
ВЫБОР | КОГДА СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения >= &ДатаОтчета | ИЛИ СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения = &НулеваяДата | ТОГДА СостояниеРаботниковОрганизацийСрезПоследних.Состояние | ИНАЧЕ СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения | КОНЕЦ КАК Поле1, вывести по отдельности поля: СостояниеРаботниковОрганизацийСрезПоследних.Состояние и СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения и посмотри что возвращает запрос. |
|||
11
dron4ikkk
07.06.13
✎
10:04
|
это как мне модифицировать запрос? так чтоли:
ВЫБОР СостояниеРаботниковОрганизацийСрезПоследних.Состояние СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения |
|||
12
Серго62
07.06.13
✎
10:05
|
(11) да
|
|||
13
RomaH
naïve
07.06.13
✎
10:17
|
СостояниеРаботниковОрганизацийСрезПоследних не всегда есть, однако
|
|||
14
RomaH
naïve
07.06.13
✎
10:17
|
если состояния нет - то работает
|
|||
15
rs_trade
07.06.13
✎
10:18
|
Пустота, это новый тип в 8.3?
|
|||
16
salvator
07.06.13
✎
10:20
|
(11) И поле ПериодЗавершения еще выведи, так сказать, для полноты картины.
|
|||
17
dron4ikkk
07.06.13
✎
10:31
|
Запрос.Текст = "ВЫБРАТЬ
| | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО, | ВЫБОР | ТОГДА КОГДА СостояниеРаботниковОрганизацийСрезПоследних.Состояние, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения"; вот ошибка какая {Обработка.Обработка2.Форма.Отчет.Форма(151)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить().Выбрать(); по причине: {(7, 3)}: Синтаксическая ошибка "ТОГДА" <<?>>ТОГДА КОГДА СостояниеРаботниковОрганизацийСрезПосл |
|||
18
andreymongol82
07.06.13
✎
10:32
|
Такими темпами дум3 напишешь лет так через 50
|
|||
19
dron4ikkk
07.06.13
✎
10:34
|
еще один невтемщик
|
|||
20
piter3
07.06.13
✎
10:34
|
к (17) может конструктор использовать проще
|
|||
21
1Сергей
07.06.13
✎
10:35
|
(15) Неопределено, NULL, ПустаяСсылка. А теперь ещё и пустота. Афигеть! Спаси меня Чапай
|
|||
22
andreymongol82
07.06.13
✎
10:41
|
" ВЫБОР
| ТОГДА КОГДА СостояниеРаботниковОрганизацийСрезПоследних.Состояние, | Состояние" Вот здесь после выбора - выбор из чего? Какое условие? |
|||
23
dron4ikkk
07.06.13
✎
10:48
|
вот такой запрос у меня был..который ничего не возвращал:
ВЫБОР | КОГДА СостояниеРаботниковОрганизаций.СрезПоследних.ПериодЗавершения >= &ДатаОтчета | ИЛИ СостояниеРаботниковОрганизаций.СрезПоследних.ПериодЗавершения = &НулеваяДата | ТОГДА СостояниеРаботниковОрганизаций.СрезПоследних.Состояние | ИНАЧЕ СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения | КОНЕЦ КАК Поле1, | РаботникиОрганизацийСрезПоследних.Сотрудник |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета) КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ДатаОтчета) КАК СостояниеРаботниковОрганизацийСрезПоследних | ПО (СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник)"; предложили такой вариант: СостояниеРаботниковОрганизацийСрезПоследних.Состояние и СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения |
|||
24
salvator
07.06.13
✎
10:49
|
(23) И? В голове ПУСТОТА?
|
|||
25
Серго62
07.06.13
✎
10:50
|
вот это сотри:
| ВЫБОР | ТОГДА КОГДА тогда взлетит |
|||
26
dron4ikkk
07.06.13
✎
11:01
|
сделал так:
Запрос.Текст = "ВЫБРАТЬ | | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО, | ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние КАК ст, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения"; |
|||
27
dron4ikkk
07.06.13
✎
11:01
|
но ошибка:
{Обработка.Обработка2.Форма.Отчет.Форма(152)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить().Выбрать(); по причине: {(6, 6)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ |
|||
28
andreymongol82
07.06.13
✎
11:04
|
(27) КАК ФИО, запятую сотри
|
|||
29
ИсчадиеADO
07.06.13
✎
11:07
|
мухаха
в зупе стандартный оборот ВЫБОР КОГДА НЕ КадроваяИсторияСрезПоследних.ПериодЗавершения ЕСТЬ NULL И КадроваяИсторияСрезПоследних.ПериодЗавершения <= &ДатаОтчета ТОГДА КадроваяИсторияСрезПоследних.СостояниеЗавершения ИНАЧЕ КадроваяИсторияСрезПоследних.Состояние КОНЕЦ пора б уже запомнить |
|||
30
ИсчадиеADO
07.06.13
✎
11:12
|
тьфу пля, не null, а проверка на пустую дату, ес-но, чет меня заглючило
ВЫБОР КОГДА КадроваяИсторияСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1,1,1) И КадроваяИсторияСрезПоследних.ПериодЗавершения <= &ДатаОтчета ТОГДА КадроваяИсторияСрезПоследних.СостояниеЗавершения ИНАЧЕ КадроваяИсторияСрезПоследних.Состояние КОНЕЦ |
|||
31
dron4ikkk
07.06.13
✎
11:12
|
сделал так...но выдает ошибку:
{Обработка.Обработка2.Форма.Отчет.Форма(153)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить().Выбрать(); по причине: {(10, 6)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ "ВЫБРАТЬ | | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО | ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние КАК ст, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения | ИЗ | РегистрСведений.СостояниеРаботниковОрганизацийСрезПоследних КАК СостояниеРаботниковОрганизацийСрезПоследних"; |
|||
32
ИсчадиеADO
07.06.13
✎
11:15
|
(31) ты сам то читал, чаво написал? :)
|
|||
33
andreymongol82
07.06.13
✎
11:18
|
(31) так, вот тебе для начала
Книга знаний: v8: Язык запросов 8.0. Пока не прочтешь - не берись за запросы. |
|||
34
hhhh
07.06.13
✎
11:18
|
(31) пятничный вопрос: почему-то везде пишешь Наименование, Должность.Наименование, Сотрудник.Наименование и так далее, а Состояние просто по-лоховски лепишь, без наименования?
|
|||
35
ИсчадиеADO
07.06.13
✎
11:20
|
(34) не, там перечисление емнип, соображает немного :)
|
|||
36
Trainee
07.06.13
✎
11:23
|
Попробую прервать веселье, напиши ЕСТЬNULL(СостояниеРаботниковОрганизацийСрезПоследних.Состояние, "") и для второго в своем запросе.
|
|||
37
salvator
07.06.13
✎
11:24
|
(36) Не взлетит. Ему надо запрос целиком скидывать.
|
|||
38
dron4ikkk
07.06.13
✎
11:28
|
(37) да не взлетит мне нужен целиком запрос..
|
|||
39
salvator
07.06.13
✎
11:28
|
(38) 1000 руб
|
|||
40
ИсчадиеADO
07.06.13
✎
11:30
|
(39) 999 :)
|
|||
41
ИсчадиеADO
07.06.13
✎
11:30
|
каждому :)
|
|||
42
Серго62
07.06.13
✎
11:42
|
Запрос.Текст = "ВЫБРАТЬ
| | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО | ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние КАК ст, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения"; Если и так не взлетит, то все иди писать doom... |
|||
43
salvator
07.06.13
✎
11:44
|
(42) Вы одну траву курите с ТС?
|
|||
44
Серго62
07.06.13
✎
11:46
|
(43) Да не это я че-то погорячился, не дочитал до конца, думал там просто запятая лишняя после ФИО
|
|||
45
dron4ikkk
07.06.13
✎
11:46
|
(42), я же так делал писал тут (26)
|
|||
46
Серго62
07.06.13
✎
11:52
|
Попробуй вот так:
Запрос.Текст = "ВЫБРАТЬ | | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения, | РаботникиОрганизацийСрезПоследних.Сотрудник |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета) КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ДатаОтчета) КАК СостояниеРаботниковОрганизацийСрезПоследних | ПО (СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник)"; и посмотри что попадает в СостояниеРаботниковОрганизацийСрезПоследних.Состояние и СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения |
|||
47
dron4ikkk
07.06.13
✎
12:04
|
Запрос.Текст = "ВЫБРАТЬ
| | РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Долж, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК Подразд, | РаботникиОрганизацийСрезПоследних.Сотрудник.Наименование КАК ФИО, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние КАК Ст, | СостояниеРаботниковОрганизацийСрезПоследних.СостояниеЗавершения, | РаботникиОрганизацийСрезПоследних.Сотрудник |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета) КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ДатаОтчета) КАК СостояниеРаботниковОрганизацийСрезПоследних | ПО (СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник)"; Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета); Запрос.УстановитьПараметр("НулеваяДата", '00010101'); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл item = фабрикаXDTO.Создать(rowType); item.fio = Строка(Результат.ФИО); item.dolgnost = Строка(Результат.Долж); item.podrazdelenie = Строка(Результат.Подразд); item.status = Строка(Результат.Ст); data.items.Добавить(item); в цикле постави точку останова чтоб глянуть что возвращает..но там ничего не показывает..а в остальных вернее в этих item = фабрикаXDTO.Создать(rowType); item.fio = Строка(Результат.ФИО); item.dolgnost = Строка(Результат.Долж); item.podrazdelenie = Строка(Результат.Подразд); данные есть |
|||
48
salvator
07.06.13
✎
12:11
|
(47) Ну значит нет данных по состоянию.
|
|||
49
hhhh
07.06.13
✎
12:16
|
(47) покажи нам скрин регистра сведений, где это состояние
|
|||
50
Серго62
07.06.13
✎
12:17
|
(47) Ну тогда смотри в регистр СостояниеРаботниковОрганизаций, есть там вообще что-нибудь в "Состоянии" или нет. Если ничего нет - разбирайся почему нет и вообще должно ли там что-то быть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |