Имя: Пароль:
1C
1С v8
Использование ТаблицаЗначений - анахронизм ?
, ,
0 булочник
 
21.02.15
09:37
Насколько верно утверждение из рекламного ролика по курсам "запросы 1с8" от Гилева утверждение о нецелесообразности применения ТаблицыЗначений при получении данных из ИБ и замены их использования одним большим запросом с применением временных таблиц ?
1 булочник
 
21.02.15
09:40
2 vlandev
 
21.02.15
09:41
Если речь про SQL то тут главное переложить на SQL по максимуму выборки и обработку данных , а не делать двадцать запросов с вытягиванием промежуточных результатов в ТЗ.
3 Ненавижу 1С
 
гуру
21.02.15
09:41
ну лучше конечно делать пакет запросов, это верно
но в конце концов что-то надо получить?
либо выборку либо таблицу/дерево значений
4 булочник
 
21.02.15
09:44
(3)
один большой запрос и ТЗ=Результат.Выгрузить() ?
5 ДенисЧ
 
21.02.15
09:46
Что в результате нужно получиь то*
6 Ненавижу 1С
 
гуру
21.02.15
09:49
(4) примерно так
или
Результат.Выбрать();
7 Фокусник
 
21.02.15
09:54
(0) Если учесть, что "временные таблицы" хранятся на жестком диске, а "таблицы значений" в оперативке, то в заголовке темы спорное или как минимум не однозначное утверждение...
ИМХО.
8 Ненавижу 1С
 
гуру
21.02.15
09:56
(7) никто не может знать точно где хранит сервер БД временные таблицы
9 булочник
 
21.02.15
09:57
а если в техзадании руководитель требует разработать партионный учет путем манипуляций с ТаблицаЗначений, он-заскорузлый семерочник ?
10 ДенисЧ
 
21.02.15
09:57
(9) Тебе кто деньги платит?
11 Ненавижу 1С
 
гуру
21.02.15
09:58
(9) скажи, что это скучно, хотя...
Волновое перепроведение партий - реализовано.
12 булочник
 
21.02.15
09:59
(8) кроме дизассемблера
13 Ненавижу 1С
 
гуру
21.02.15
10:02
(12) ты его запускаешь при тестах 1С? да ты точно из Челябинска
14 hhhh
 
21.02.15
10:03
(9) вы не так читаете Гилева. Ведь написано:

о нецелесообразности применения ТаблицыЗначений при получении данных

а в разработке партионного учета совсем другое. все данные уже получены. Идет обработка этих полученных данных.
15 DmitrO
 
21.02.15
10:06
таблицы значений - память сервера 1С
временные таблицы - память сервера БД
вот и вся разница
(14)+1
16 Ненавижу 1С
 
гуру
21.02.15
10:07
(15) ну если толстый клиент, то ТЗ может и на клиенте быть
17 vlandev
 
21.02.15
10:09
Посмотрел видео , мысль Гилева не о том , что нельзя использовать ТЗ , а о том что не надо разводить г@внокод с выборками в разные ТЗ и потом их в цикле как то обходить и перелиньковывать. Надо стремиться делать так , что бы из SQL на выходе получить всего одну выборку - а дальше ее уже можно  в единственную ТЗ выгрузить.
18 DmitrO
 
21.02.15
10:10
(16)да, это верно, просто толстый уже не рассматриваю как предмет для разработки
19 DmitrO
 
21.02.15
10:13
надо просто понимать что такой код:
ТЗ=Результат.Выгрузить()

приводит к тому что в данный момент у вас у вас весь набор полученных данных лежит в памяти в двух экземплярах:
1й - в виде результата запроса
2й - в виде таблицы значений
20 DmitrO
 
21.02.15
10:21
а вот например такой код (часто используемый в УФ) приводит к тому что данные оказываются в памяти вообще в 3х экземплярах
Объект.ТЧДокумента.Загрузить(Запрос.Выполнить().Выгрузить());
21 Ненавижу 1С
 
гуру
21.02.15
10:42
(19) а точно ли?
после Выполнить возможно FetchAll не происходит
надо как нить проверить

Результат = Запрос.Выполнить();
ТЗ1 = Результат.Выгрузить();
...
//что-то меняем в таблицах
...
ТЗ2 = Результат.Выгрузить();
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший