|
Строковое представление списка значений | ☑ | ||
---|---|---|---|---|
0
Гипервизор
12.08.15
✎
23:35
|
Дано: ТЗ как входной параметр, какие колонки-заранее не знаем, в строках возможны дубли. Пробуем от них избавиться:
лМойСписок = Новый СписокЗначений;
Однако это работает когда СтрДлина(лКолонка.Имя) < 26
И тогда может получиться, например, такое: "Номенклатура, ХарактеристикаНоменклатур..., ЕдиницаИзмерения" Собственно, добрался до вопроса: это такое ограничение платформы в 25 символов для представления? 26-й символ не осилить, но "..." - вполне. Где-то это документировано? |
|||
1
RomanYS
13.08.15
✎
00:16
|
задокументировано:
"Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения." |
|||
2
Провинциальный 1сник
13.08.15
✎
04:04
|
Завязываться на представление - плохой стиль программирования.
|
|||
3
Гипервизор
13.08.15
✎
21:10
|
(2) ОК, рыдаю по своему плохому стилю..
Но может вами здесь был предложен образчик решения задачи высоким штилем? Надо же, нет. Тогда может вами был дан ответ по существу вопроса? И снова нет. Понятно, ответ ваш из серии "пришло в голову и распирало". |
|||
4
ДенисЧ
13.08.15
✎
21:11
|
ПРишло в голову и распёрло (как по заказу)
А занафейхоа вообще список значений представлять в строковом виде? |
|||
5
Defender aka LINN
13.08.15
✎
21:14
|
(3) А может где-то была озвучена острая необходимость такого представления?
|
|||
6
Dен
13.08.15
✎
22:20
|
(0) Вот, не Ваше?:
https://partners.v8.1c.ru/forum/topic/1391438 Господа, Вы когда нибудь задумываетесь нафига придумали типы данных? Нафига их компилятары по максимуму потыются отслеживать, проверять, выдавать предупреждения, ошибки? Что использовать неяное преобразование типов - это поиск проблем на свою голову. |
|||
7
mistеr
13.08.15
✎
22:36
|
(0) Условия задачи сразу выдают быдлокодера. В консерватории править нужно. То есть подавать на вход нормальные данные.
|
|||
8
Dен
13.08.15
✎
22:46
|
Все документировано, выдержка из синтакс-помощника:
Строка (String) Синтаксис: Строка(<Значение>) Параметры: <Значение> (обязательный) Тип: Произвольный. Исходное значение. Возвращаемое значение: Тип: Строка. Полученное значение. Описание: Преобразует полученный параметр в значение типа Строка. При преобразовании к строке числа формируется его полное представление в стандартном виде, соответствующем национальным установкам. Преобразование значений типа Булево зависит от национальных установок и содержит строковое представление этих значений. При преобразовании к строке даты формируется ее полное представление в стандартном читабельном виде, соответствующем национальным установкам. Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Пример: Сообщить(Строка(Количество) + " единиц товара на складе не обнаружено"); "Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения." |
|||
9
Гипервизор
18.08.15
✎
20:12
|
(7) Уважаемый НЕбыдлокодер!
Я рад за вас, если вы всегда можете отфутболить задачу с пометкой "Как челобитную царю подаете? Подать мне кошерные данные!". Увы, мне часто приходится работать с тем, что есть. |
|||
10
Ненавижу 1С
гуру
18.08.15
✎
20:22
|
а если так:
лПредставлениеСписка = ""; Для Каждого лКолонка Из лВходнаяТЗ.Колонки Цикл лПредставлениеСписка = ?(ЗначениеЗаполнено(лПредставлениеСписка,",","")); КонецЦикла; лВходнаяТЗ.Свернуть(лПредставлениеСписка); |
|||
11
Ненавижу 1С
гуру
18.08.15
✎
20:23
|
+(10) точнее так:
лПредставлениеСписка = лПредставлениеСписка+?(ЗначениеЗаполнено(лПредставлениеСписка,",","")); |
|||
12
Ненавижу 1С
гуру
18.08.15
✎
20:24
|
+(11) окончательно пьян:
лПредставлениеСписка = лПредставлениеСписка+?(ЗначениеЗаполнено(лПредставлениеСписка,",",""))+лКолонка.Имя; |
|||
13
Провинциальный 1сник
19.08.15
✎
08:04
|
(3) Создание строки перебором элементов списка. Очевидное решение.
А использовать недокументированные методы рискованно. Завтра в очередном релизе 1с поменяет разделитель в строковом представлении с точки на запятую - и всё, ваш алгоритм не работает. |
|||
14
ЧеловекДуши
19.08.15
✎
08:50
|
(0) У ТЗ, нет дублей в колонках :)
в 1С 7.7 можно было не указывать название колонки, что и могло вызвать дублирование. Но в 8-ке уже каждая колонка должна содержать уникальное имя :) |
|||
15
ЧеловекДуши
19.08.15
✎
08:52
|
+ (14) Если подходить к делу грамотно. То в Список нужно помещать не только колонки, но и Представление из набора метаданных. А не как вы, поместили названия реквизитов, и довольны :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |