|
не те данные попадают попадают в результат запроса | ☑ | ||
---|---|---|---|---|
0
dron4ikkk
15.07.14
✎
18:12
|
Есть запрос, который ищет путевой лист по номеру. Дело в том что есть путевки прошлого года и нынешнего год(естественно номера путевок прошлого и нынешнего совпадают)проблема в том что необходимо чтоб в результат запрос попалась путевка нынешнего года. (т.е. в списке есть путевки 001 2013 И 001 2014) запрос зараза получает ту которая 2013 а мне надо 2014 Как это сделать?
запрос = новый запрос(); запрос.Текст = "ВЫБРАТЬ | уатПутевойЛист.Ссылка, | уатПутевойЛист.ВидПЛ.Ссылка КАК ВидПЛ |ИЗ | Документ.уатПутевойЛист КАК уатПутевойЛист |ГДЕ | уатПутевойЛист.ПометкаУдаления = ЛОЖЬ | И уатПутевойЛист.Номер = &Номер"; Запрос.УстановитьПараметр("Номер",Номер); Результат = Запрос.Выполнить().Выбрать(); если Результат.Следующий() тогда ВидПЛ = Результат.ВидПЛ; если ВидПЛ =Перечисления.уатВидыПЛ._3 тогда возврат 74; иначеесли ВидПЛ =Перечисления.уатВидыПЛ._3спец тогда возврат 100; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._4П тогда возврат 95; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._6С тогда возврат 95; иначе возврат 95; конецесли; иначе возврат("не найден путевой лист"); конецесли; |
|||
1
dj_serega
15.07.14
✎
18:13
|
так он 2 получает. Первая просто идет 2013, вторая будет 2014.
|
|||
2
dron4ikkk
15.07.14
✎
18:14
|
(1) мне надо чтоб именно 2014 получал он, не понимаю как откорректрировать это
|
|||
3
ale-sarin
15.07.14
✎
18:15
|
Т.е. условие на уатПутевойЛист.Номер Вы поставить можете, а на уатПутевойЛист.Дата не можете?
|
|||
4
dron4ikkk
15.07.14
✎
18:15
|
(1) как тогда извлекать постоянно вторую?
|
|||
5
tixis
15.07.14
✎
18:16
|
(4) Условие на дату путевого листа
|
|||
6
tixis
15.07.14
✎
18:17
|
ДатаПутевоголиста>= 20140101
|
|||
7
dron4ikkk
15.07.14
✎
18:17
|
(5) тоже выход.
|
|||
8
dron4ikkk
15.07.14
✎
18:19
|
(3) можно ведь еще по УБЫВ сделать да? тогда 2014 можно будет путевки получать
|
|||
9
ale-sarin
15.07.14
✎
18:19
|
Например
НачалоПериода(уатПутевойЛист.Дата, Год) = ДатаВремя(2014,1,1) Ну год, конечно, лучше через параметр устанавливать. |
|||
10
Wobland
15.07.14
✎
18:22
|
а зачем нужен первый попавшийся вид путевого листа?
|
|||
11
dj_serega
15.07.14
✎
18:25
|
(9) так еще можно
|УПОРЯДОЧИТЬ ПО | ГОД(АктСверкиОборудования.Дата) УБЫВ" |
|||
12
Enders
15.07.14
✎
18:29
|
(0) а ещё можно найтиПоНомеру(Номер,ТекущаяДата());
Если у вас нумерация в пределах года, то будет искать только доки этого года. В общем курить СП найтиПоНомеру(). |
|||
13
dron4ikkk
15.07.14
✎
18:33
|
(12) имеешь ввиду :
Результат= Документы.ПутевойЛист.НайтиПоНомеру(Номер,ТекущаяДата()); так чтоли? без запроса? |
|||
14
Enders
15.07.14
✎
18:37
|
(13) Как пример да, вместо ТекущаяДата() подставляешь твою, если такова имеется.
И вообще предлагаю почитать СП по поводу НайтиПоНомеру(). |
|||
15
dron4ikkk
15.07.14
✎
18:42
|
(14) такой не имеется к сожалению
|
|||
16
dron4ikkk
15.07.14
✎
18:42
|
мне изветсен только номер путевки и все.
|
|||
17
Enders
15.07.14
✎
18:46
|
(16) ну вы же знаете что она должна быть текущего года. Тогда текущаяДата() вам подходит. (если нумерация в пределах года)
|
|||
18
dron4ikkk
15.07.14
✎
18:52
|
(17) да нумерация в пределах года.
Блин жаль щас под рукой нету УАТ(и вообще 1с нету)попробую руками тут написать код: Результат = Документы.ПутевойЛист.НайтиПоНомеру(Номер, ТекущаяДата()); если Результат.Следующий() тогда ВидПЛ = Результат.ВидПЛ; если ВидПЛ =Перечисления.уатВидыПЛ._3 тогда возврат 74; иначеесли ВидПЛ =Перечисления.уатВидыПЛ._3спец тогда возврат 100; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._4П тогда возврат 95; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._6С тогда возврат 95; иначе возврат 95; конецесли; иначе возврат("не найден путевой лист"); конецесли; |
|||
19
dron4ikkk
15.07.14
✎
18:52
|
все верно да?
|
|||
20
Wobland
15.07.14
✎
18:56
|
держи, болезный
Возвращаемое значение: Тип: ДокументСсылка.<Имя документа>; Неопределено. Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ. Если номер не задан (длина = 0), то будет возвращено Неопределено. |
|||
21
dron4ikkk
15.07.14
✎
19:01
|
(20) Если Результат.Пустая() Тогда
Сообщить("Документ не найден"); Иначе ДокументОбъект = Результат.ПолучитьОбъект(); ВидПЛ = ДокументОбъект.ВидПЛ; если ВидПЛ =Перечисления.уатВидыПЛ._3 тогда возврат 74; иначеесли ВидПЛ =Перечисления.уатВидыПЛ._3спец тогда возврат 100; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._4П тогда возврат 95; иначеесли ВидПЛ = Перечисления.уатВидыПЛ._6С тогда возврат 95; иначе возврат 95; КонецЕсли; |
|||
22
dron4ikkk
15.07.14
✎
19:02
|
выходит так тогда
|
|||
23
Wobland
15.07.14
✎
19:02
|
>ДокументОбъект = Результат.ПолучитьОбъект();
на зачем? |
|||
24
dron4ikkk
15.07.14
✎
19:03
|
а как правильно?
|
|||
25
Wobland
15.07.14
✎
19:05
|
(24) //ДокументОбъект = Результат.ПолучитьОбъект();
|
|||
26
Wobland
15.07.14
✎
19:05
|
и всё-таки. на кой нужен первый попавшийся вид?
|
|||
27
dron4ikkk
15.07.14
✎
19:09
|
(26) что значит первый попавшийся?
|
|||
28
dron4ikkk
15.07.14
✎
19:10
|
смотрит ккой вид путевого листа у петвки указан
|
|||
29
Мимохожий Однако
15.07.14
✎
19:24
|
(15)Ctrl-F1,Shift-F1
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |