Имя: Пароль:
1C
1С v8
Порционное получение данных?
,
0 FiftyStars
 
27.12.11
17:26
Можно ли как то в ТП получать данные порциями?
Допустим юзверь видит только к примеру 10 записей...
Можно ли в запросе как то указать что мне нужны записи с 10 по 20 или с 15 по 25 и т.д.?
1 Джинн
 
27.12.11
17:30
Насколько знаю нет. Запрос возвращает полный набор данных. Если ты не обрезал его условиями.
2 andrewks
 
27.12.11
17:31
демонический список. и то условно
3 FiftyStars
 
27.12.11
17:35
Предположение...ввести в справочниках документах идентификатор...И выбирать МЕЖДУ X и Y
Думаю мне по этому пути идти...Допустим юзверь щас видит с 1 по 10 запись, прорисовываем для него 20,затем когда он спускается до 20ой прорисовываем записи с 20 по 40...логика нормальная или камни есть?
4 Живой Ископаемый
 
27.12.11
17:37
дядька, ты по-прежнему упорствуешь в своей ереси...

что такое прорисовываем? что такое допустим видит с 1 по 10?
5 Живой Ископаемый
 
27.12.11
17:37
расскажи вцелом, что за задачу решаешь
6 FiftyStars
 
27.12.11
17:37
(2) демонический)))ага)на адском движке))Если бы я был в управляемой форме можно было бы)
7 FiftyStars
 
27.12.11
17:38
(4) ща скрин залью
8 H A D G E H O G s
 
27.12.11
17:39
ППЦ, запустите profiler, там все до вас реализовано
9 H A D G E H O G s
 
27.12.11
17:41
"ВЫБРАТЬ ПЕРВЫЕ 500
|    Номенклатура.Ссылка КАК Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|    Номенклатура.Ссылка > &ПоследняяИзВыбранногоРанее
|
|УПОРЯДОЧИТЬ ПО
|    Ссылка"
10 sda553
 
27.12.11
17:42
(3) Правильно.

Это будет что то типа
Запрос = Новый Запрос;
Выборка = Неопределено;
Ид = Неопределено;
Пока ЕстьДанные(Выборка) ЦИкл
Запрос.Текст =
"Выбрать первые "+РазмерПорции" Ид,* Из
|Блаблабла "+?(Ид=Неопределено,"", "Где Ид>"+ПоследнийИд)
Выборка = Запрос.Выполнить.Выбрать();
Пока выборка.Следующий() Цикл
 //обработка порции
  ПоследнийИд = Выборка.Ид
КонецЦикла;
КонецЦикла;

Как то так
11 andrewks
 
27.12.11
17:43
(9) идея хорошая. а как с регистром сведений, например? :)
12 sda553
 
27.12.11
17:45
(11) Выбираешь одно из измерений самое вменяемое и по его ссылке отбор записей. Тут никак точно не сделаешь потому что один набор записей может содержать всяко больше записей чем любой наперед заданный лимит
13 andrewks
 
27.12.11
17:46
(12) а если нету у измерений ссылок?

ну, там, например, дата + число
14 FiftyStars
 
27.12.11
17:47
Хз работают тут таги или нет но попробую
[img]http://imglink.ru/pictures/26-12-11/99984faed8266089f99143e969ffbc20.jpg[/img]
Вот...
Сейчас у меня сделано так:
При открытии формы берутся все(абсолютно) ссылки на заказы, даты, контрагенты(вобщем то что можно вытащить из документа ЗАКАЗЫПОКУПАТЕЛЕЙ)
А приполученииданных заполняются стадии(характеристики - счет,ссылка на счет, дата счета,реализации, корректировки,закрытия и т.д....на скрине не всё что должно быть) заказов.Вобщем меня сейчас смущает только то что я получаю сразу все заказы
15 andrewks
 
27.12.11
17:47
тогда берём дату... индивидуально решаем, так сказать
16 sda553
 
27.12.11
17:47
(13) Ну тогда по дате, или по числу
17 FiftyStars
 
27.12.11
17:47
18 H A D G E H O G s
 
27.12.11
17:47
(11) А это трансляция sql запроса 1С формы списка справочника.
19 sda553
 
27.12.11
17:48
(14) Неправильно, здесь тебе достаточно взять МоментВремени каждого документа, отличный идентификатор
20 Живой Ископаемый
 
27.12.11
17:48
2(14)  "Вобщем меня сейчас смущает только то что я получаю сразу все заказы" - почему?
21 Живой Ископаемый
 
27.12.11
17:49
2(19) отвратительный идентификатор, никуда не годный... :) всем известно почему
22 sda553
 
27.12.11
17:50
(21) Ничего что 1С этим никуда не годным идентификатором таблица документов индексирует?
23 Живой Ископаемый
 
27.12.11
17:52
2(22) пусть индексирует, то есть выстраивает по порядку, главное что не использует в качестве уникального идентификатора
24 FiftyStars
 
27.12.11
17:52
(20) а если их мега огромное количество? =)
(19) момент времени?как мне помнится точность до секунды?а если в одну и ту же секунду 2 менеджера сделают заказы?
25 sda553
 
27.12.11
17:53
(23) Не поверишь, она использует его в качестве уникального идентификатора
26 FiftyStars
 
27.12.11
17:53
а не сори)))вспомнил)
27 sda553
 
27.12.11
17:54
(24) Тем и хорош момент времени, что он дает разный ИД для заказов сделанных в одну секунду
28 Живой Ископаемый
 
27.12.11
17:54
2(25) каким образом? может мы о разном говорим?
29 Живой Ископаемый
 
27.12.11
17:57
Все, увидел, извините
30 FiftyStars
 
27.12.11
17:59
(27) ну зачем мне париться если у меня номер заказа уникален?
в конце концов номерзаказа будет не 1,2,3 а "2012Г0000000001" то есть нумерация будет вестись в пределах отдела, и года
31 sda553
 
27.12.11
18:01
(30) Как то narrow minded . Не комильфо полагаться на уникальность номера.
32 FiftyStars
 
27.12.11
18:02
(31)а что может случиться?я просто хз...нне сталкивался с этой проблемой
33 Живой Ископаемый
 
27.12.11
18:03
2(32) ну например ты выведешь данные не того заказа.. если с этим можно смириться, или сразу выявить - то может и ничего страшного
34 FiftyStars
 
27.12.11
18:05
(33) в смысле?как не того?
35 FiftyStars
 
27.12.11
18:06
(33) и как в этом поможет моментвремени?
36 Живой Ископаемый
 
27.12.11
18:07
ну, будут у тебя два заказа с одним номером, ты получишь для одного, а надо было для другого

2(35) так что в одной базе невозможно существование двух объектов одного вида с одним уидом
37 FiftyStars
 
27.12.11
18:10
(36)как это 2 заказа с одним номером?номерзаказа формируется автоматом)))
то есть на то она и уникальность чттобы быть уникальной))
38 Живой Ископаемый
 
27.12.11
18:12
2(37) как хочешь... твоя уникальность не контролируется движком.. Я напишу такой код:
ЗаказОбект.Номер = НомерУжесуществующегоЗаказа;
ЗаказОбект.ОбменДанными.Загрузка = Истина;
ЗаказОбект.Записать();


и выполню 100 раз.
39 FiftyStars
 
27.12.11
18:15
(38) а я тебя оштрафую так чтобы твоя зарплата в минус ушла чтобы отбить желание такие коды писать)))))))))
40 Живой Ископаемый
 
27.12.11
18:17
2(39) а я тебя загипнотизирую, чтобы ты сам написал и выполнил этот код.. и потом сам себя штрафовал...
41 FiftyStars
 
27.12.11
18:18
(40)за гипноз ты у меня как джумшут и равшан будешь работать))))))))
за 500 рублей))))в год)))
42 Живой Ископаемый
 
27.12.11
18:20
ну ты понял месидж... но если у тебя есть что противопоставить - то есть осознаешь риски и знаешь как будешь реагировать если они наступят - тогда все ок...
43 FiftyStars
 
27.12.11
18:34
ну так то понятно=)но у нас менеджеры в компах чайники, и не думаю что придет кто то способный такое написать))да и тем более можно поставить защиту на конфу