Имя: Пароль:
1C
1C 7.7
v7: получить все документы определенного типа
,
0 Kirich1983
 
07.09.11
13:44
Как в запросе получить все документы определенного типа за весь период работы с ИБ.
1 shuhard
 
07.09.11
13:45
(0) Ссылка
2 Kirich1983
 
07.09.11
13:45
Для 1с 7.7
3 Maxus43
 
07.09.11
13:48
(2) Переходите на 8.х и (1)
4 Kirich1983
 
07.09.11
13:49
Какой период указывать? Можно выбрать все документы без указания периода?
   
|Период с НачДата по КонДата;
5 Darych
 
07.09.11
13:50
можно
6 Ёпрст
 
07.09.11
13:50
(0)
select iddocdef+iddoc [Док $Документ] from _1sjourn(nolock)
7 Black Dragon
 
07.09.11
13:51
можно, поробуй сам )
8 Black Dragon
 
07.09.11
13:52
(2,3) а в чем суть то? в 7.7 есть ТекущийДокумент либо ТекущийЭлемент
9 Kirich1983
 
07.09.11
14:01
Подскажите не пойму. Нужно получить последний документ определенного вида за весь период?
10 Darych
 
07.09.11
14:02
хз что тебе нужно
11 Kirich1983
 
07.09.11
14:07
Запросом хочу выбрать все документы. Запрос пустой.

ТекстЗапроса =  
   "//{{ЗАПРОС(ПравоНаСтрахование)
   |Обрабатывать НеПомеченныеНаУдаление;
   |Сотрудник = Документ.СведенияДляРасчетаСтраховыхВзносов.Сотрудник;
   |НеВзиматьВзносыПФРиФСС = Документ.СведенияДляРасчетаСтраховыхВзносов.НеВзиматьВзносыПФРиФСС;
   |НеВзиматьВзносыФОМС = Документ.СведенияДляРасчетаСтраховыхВзносов.НеВзиматьВзносыФОМС;
   |ДатаДок = Документ.СведенияДляРасчетаСтраховыхВзносов.ДатаДок;
   |НомерДок = Документ.СведенияДляРасчетаСтраховыхВзносов.НомерДок;
   |ТекущийДокумент = Документ.СведенияДляРасчетаСтраховыхВзносов.ТекущийДокумент;
   |Группировка Документ;
   |Группировка ДатаДок;
   |Условие(Сотрудник = Сотрудник);
   |"//}}ЗАПРОС
12 filh
 
07.09.11
14:07
(6) :)

|SELECT
|  IDDoc as [Док $Документ]
|  ,IDDocDef as Док_вид
|FROM
|  1SJourn
|WHERE
|  IDDocDef =...
13 Ёпрст
 
07.09.11
14:19
(12) лучше так, тогда уж:

|SELECT
|  IDDoc as [Док $Документ.НужныйВид]
|FROM
| _1SJourn (nolock)
|WHERE
|  IDDocDef =$ВидДокумента36.НужныйВид

ЗЫ: я думал, ему вообще все доки нужны..
14 FN
 
07.09.11
14:22
(9) а последний это какой? у которого самый большой номер?
или самая большая дата? или самый большой внутренний идентификатор?
15 Kirich1983
 
07.09.11
14:23
(14) По дате
16 FN
 
07.09.11
14:24
(15)
док=СоздатьОбъект("документ.нужноговида");
док.ОбратныйПорядок(1);
док.ВыбратьДокументы();
17 Black Dragon
 
07.09.11
14:31
(11) у тебя группировка в запросе по несуществующему параметру! не смущает?

А если нужен только один документ - то (16) что надо!
18 1Сергей
 
07.09.11
14:31
(17) >>у тебя группировка в запросе по несуществующему параметру! не смущает?

где это?
19 Black Dragon
 
07.09.11
14:32
Группировка Документ
20 1Сергей
 
07.09.11
14:33
(19) Иди в ЖКК
21 Black Dragon
 
07.09.11
14:33
где Документ? естьТекущийДокумент, а Документ нету
22 FN
 
07.09.11
14:33
(17) Документ - предопределенная группировка. ее не обязательно описывать в запросе.

так же как День,СтрокаДокумента и тп
23 Black Dragon
 
07.09.11
14:34
(17) что страшно? )
24 1Сергей
 
07.09.11
14:36
(23) тихо сам с собою?
25 filh
 
07.09.11
14:37
(23) это ты уже сам с собой?
26 Black Dragon
 
07.09.11
14:38
Угу! :))))))))))))))
27 Kirich1983
 
07.09.11
14:40
Как в запросе указать, чтобы сортировка записей по дате была по убыванию? Это нужно, что-бы выбрать сразу последний документ


Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =  
   "//{{ЗАПРОС(ПравоНаСтрахование)
   |Период с Дат по (ТекущаяДата());
   |Обрабатывать НеПомеченныеНаУдаление;
   |Сотрудник = Документ.СведенияДляРасчетаСтраховыхВзносов.Сотрудник;
   |НеВзиматьВзносыПФРиФСС = Документ.СведенияДляРасчетаСтраховыхВзносов.НеВзиматьВзносыПФРиФСС;
   |НеВзиматьВзносыФОМС = Документ.СведенияДляРасчетаСтраховыхВзносов.НеВзиматьВзносыФОМС;
   |ДатаДок = Документ.СведенияДляРасчетаСтраховыхВзносов.ДатаДок;
   |НомерДок = Документ.СведенияДляРасчетаСтраховыхВзносов.НомерДок;
   |ТекущийДокумент = Документ.СведенияДляРасчетаСтраховыхВзносов.ТекущийДокумент;
   |Группировка ТекущийДокумент упорядочить по ТекущийДокумент.ДатаДок, ТекущийДокумент.ВремяДок;
   |Условие(Сотрудник = Сотрудник);
   |"//}}ЗАПРОС
28 1Сергей
 
07.09.11
14:41
(26) Ты уже достал ЖКК? начинай листать её, пока не дойдешь до главы Язык запросов. Потом найди Операторы языка запросов. Найди там "Группировка" и читай, читай до посинения
29 Рэйв
 
07.09.11
14:41
|Группировка ТекущийДокумент;
30 1Сергей
 
07.09.11
14:42
(27) это не в запросе, а при обходе группировок задаётся:

Группировка(<?>,)
Синтаксис:
Группировка(<Группировка>,<Направление>)
Назначение:
Получить следующее значение выборки Запроса
Возвращает: 1 - если получено следующее значение выборки запроса, 0 - иначе.
Параметры:
<Группировка> - выражение, содержащее номер или имя группировки.
<Направление> -  необязательный параметр. Число: 1 - выборка значений группировки по возрастанию; -1 (минус единица) - выборка значений группировки по убыванию. Значение по умолчанию: 1.
31 Ёпрст
 
07.09.11
14:44
Можно и в запросе упорядочить сразу.
32 Kirich1983
 
07.09.11
14:45
(30) Спасибо. В 8 можно указывать в запросе.
33 1Сергей
 
07.09.11
14:46
(31) в чёрном?
34 filh
 
07.09.11
14:46
(33) ты не веришь Ёпрст3 ?
35 FN
 
07.09.11
14:50
(27) ох уж эти восьмерочники...
для получения последнего дока запрос тут не нужен
смотри (16)+
СсылкаНаПоследнийДок=док.ТекущийДокумент();
36 Ёпрст
 
07.09.11
14:51
(33) да.
упорядочить по результату функции.
37 1Сергей
 
07.09.11
14:53
(36) ну, изврат же... тормозить будет
38 Ёпрст
 
07.09.11
14:58
(37) на таком запросе не заметишь.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn