Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

ТабличныйДокумент -> ТаблицаЗначений с некороткими строками в ячейках

ТабличныйДокумент -> ТаблицаЗначений с некороткими строками в ячейках
Я
   PiotrLoginov
 
12.05.18 - 17:08
Всем привет. Вопрос на засыпку:
Есть табличный документ. В нем таблица. Несколько колонок. В ячейках - строковые значения небольшой длины (до 20-и символов).
Как "превратить" в ТЗ с колонками, тип значений которых - строка в X символов (допустимая длина - переменная)? Например, 200 символов.

Заполнение в цикле таблицы с заранее добавленными колонками нужных типов не предлагать.
 
 
   hhhh
 
1 - 12.05.18 - 17:13
(0) говори уже ответ, не томи.
   PiotrLoginov
 
2 - 12.05.18 - 17:14
Код можно не подсказывать. Сам принцип интересует. На данный момент представляется, что это невозможно. Как ни крута СКД, использование в качестве источника данных табличного документа "забыли" прикрутить.
   PiotrLoginov
 
3 - 12.05.18 - 17:15
(1) да не знаю я.  А то бы не спрашивал

Вообще, всегда использовал ПостроительЗапроса. И всегда испытывал неудобство от того, что длинастроки в итоговой ТЗ была равна длине самого длинного значения в ТабДоке.
   PiotrLoginov
 
4 - 12.05.18 - 17:17
*длинастроки = длина у квалификатора строки в типе значения колонки
   aka MIK
 
5 - 12.05.18 - 17:38
(0) сохраняй как Эксель и через адо грузи сразу в тз
   aka MIK
 
6 - 12.05.18 - 17:40
(2) это помимо того что результат скд напрямую грузиться в тз
   Wern
 
7 - 12.05.18 - 17:41
Какая то патологическая нелюбовь к циклам? Сильно сомневаюсь что всякие извращения будут быстрее чем цикл.
   PiotrLoginov
 
8 - 12.05.18 - 17:50
(5) да, про ADO думал. Но - ну его... но спасибо.
(6) так этот результат еще надо "вынуть" из ТабДока

(7) ну зачем же нам извращения
   Chameleon1980
 
9 - 12.05.18 - 17:54
через построитель отлично
   PiotrLoginov
 
10 - 12.05.18 - 17:57
(9) ?
 
 Рекламное место пустует
   Chameleon1980
 
11 - 12.05.18 - 17:57
+к(9) не устраивает состряпанный построителем запрос - попробуй подсунуть свой с полями нужной длины
   PiotrLoginov
 
12 - 12.05.18 - 17:58
(11) какой еще запрос ?  если источник - табдок, текст запроса пуст.
   Chameleon1980
 
13 - 12.05.18 - 17:59
ммм. не смотрел
   Chameleon1980
 
14 - 12.05.18 - 18:00
да. твоя правда - не задумывался
   Chameleon1980
 
15 - 12.05.18 - 18:02
а на это мы не можем влиять?
   Chameleon1980
 
16 - 12.05.18 - 18:02
   Chameleon1980
 
17 - 12.05.18 - 18:06
доступные поля смогем поменять?
   PiotrLoginov
 
18 - 12.05.18 - 18:06
в данном случае Артикул - это что?  Доступное поле?  Да, можем, но при выполнении построителя результат имеет тип значения каждой колонки не тот, который мы указали, а тот, который он вычислил исходя из данных в ТабДоке
   PiotrLoginov
 
19 - 12.05.18 - 18:08
т.е. у меня было тестах такое:

Построитель.ДоступныеПоля.ИмяКолонки.ТипЗначения = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(128));

Но после Построитель.Выполнить() тип опять сбрасывался на строку небольшую длины
   Chameleon1980
 
20 - 12.05.18 - 18:09
http://prntscr.com/jgzdvs
было 9 стало 5

(19) а не переинициализируется опять где-то?
   PiotrLoginov
 
21 - 12.05.18 - 18:11
(20) см. (19)
   Chameleon1980
 
22 - 12.05.18 - 18:12
(21) см. сюда

http://prntscr.com/jgzet8
   Chameleon1980
 
23 - 12.05.18 - 18:12
ЧЯДНТ?
   Chameleon1980
 
24 - 12.05.18 - 18:13
хотя результату пока пофиг на эту длину
более 5ти символов получилось в результате.

А секрет расскажешь зачем?
   PiotrLoginov
 
25 - 12.05.18 - 18:16
(23) да все ты правильно делаешь.  Но выполни построитель - увидишь, что тип строки "сбросился".

(24) зачем выгружать данные из ТабДока в ТЗ ?  Для случаев, когда какая-то информация хранится в макете.
   PiotrLoginov
 
26 - 12.05.18 - 18:18
В итоге считаю задачу нерешаемой. В идеале хотелось бы вообще получить ТЗ с колонками неограниченной длины, а РезультатЗапроса в принципе такое не умеет. Так что будем заполнять ТЗ в цикле.

Всем спасибо.
   Chameleon1980
 
27 - 12.05.18 - 18:18
(25) 1. да - я уже понял и написал "...хотя результату пока пофиг на эту длину

более 5ти символов получилось в результате. ..."

2. скорее интересует почему именно определенная длина
   Chameleon1980
 
28 - 12.05.18 - 18:18
(26) ммм. ну ты заходи, если что :) я к тому, что может приснится решение.
   mistеr
 
29 - 12.05.18 - 20:44
Решение — добавить в табдок строку со значениями нужной длины.

Но проблемы я так и не понял. К чему все эти извращения и причем здесь СКД?
   Franchiser
 
30 - 13.05.18 - 10:06
Можно сделать ТЩ колонкой не ограниченной длины, для этого определи тип колонки 
Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0));
Но в запросе ты не сможешь не сортировать ни группировать по ней. Если определишь 1000 символов то в запросе будет работать все.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует