Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ОписаниеТипа: примитивный тип + Неопределено
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Dmitriy-CoDy
Помогите, плиз, немного по мат части(8.2, обычное приложение).

Есть необходимость заиметь таблицу значений, в которой колонки могут содержать даны одного из примитивных типов или Неопределенно. По ману вышел на задание при создании колонок ОпределениеТипов.

Создаю на основании типов и квалификаторов новое определение типов:
ОписаниеТипов("Строка,Неопределено")

указываю его для колонки таблицы значений, но все равно значение Неопределенно, при вставке в строку таблицы преобразовывается в пустую строку.
Что я неправильно делаю???

Можно, конечно, сделать так:
ОписаниеТипов("Строка, ПеречислениеМенеджер.Перечисление1")

но, как-то это кривовато выглядит.


Вот пример кода:
от1 = Новый ОписаниеТипов("Строка,ПеречислениеМенеджер.Перечисление1");
от2 = Новый ОписаниеТипов("Строка,Неопределено");


тз = Новый ТаблицаЗначений();
тз.Колонки.Добавить("к1", от1);
тз.Колонки.Добавить("к2", от2);

стз = тз.Добавить();

стз = тз.Добавить();
стз[0] = Неопределено;
стз[1] = Неопределено;

стз = тз.Добавить();
стз[0] = "";
стз[1] = "";

стз = тз.Добавить();
стз[0] = "фывфыв";
стз[1] = "фывфыв";

Посмотреть(тз);

Для Счетчик = 0 По тз.Количество() - 1 Цикл
Сообщить(Строка(ТипЗнч(тз[Счетчик][0])) +" | "+ Строка(ТипЗнч(тз[Счетчик][1])));
КонецЦикла;

Flexy
По моему колонки ТЗ и СЗ не могут иметь Тип - Неопределенно.
Они должны быть всегда типизированы.

З.Ы. На истину не претендую.
Vofka
Цитата(Flexy @ 10.04.12, 13:37) необходимо зарегистрироваться для просмотра ссылки
По моему колонки ТЗ и СЗ не могут иметь Тип - Неопределенно.
Они должны быть всегда типизированы.

Мне интересно, с чего такие выводы? Битва экстрасенсов? smile.gif



Vofka
Dmitriy-CoDy, а зачем вам явно указывать тип?
Dmitriy-CoDy
Цитата(Vofka @ 10.04.12, 15:35) необходимо зарегистрироваться для просмотра ссылки
Dmitriy-CoDy, а зачем вам явно указывать тип?


Содержимое таблицы значений будет сохраняться писа'ться в MySQL. Хочется при проходе по таблице быть уверенным, что там именно строка или строковое представление какого либо прикладного объекта. Наличие значения Неопределено нужно для возможности определить что данные небыли заданы или было явно указано на их отсутствие(аналог null в реляционных СУБД).
Vofka
Я выше привел скриншот того, как можно получить в ТЗ Неопределено. Т.е. если в 1С срабатывает какое-то условие, то соответесвующую колонку просто пропускаем и ничего туда не пишем. Почему так сделать нельзя?
Dmitriy-CoDy
Если не указывать тип содержимого колонки в таблице значений, то насколько я понимаю, в качестве значения в такой колонке может быть: и число, и строка, и ссылка на любой справочник или документ... - в общем что угодно. Я же хочу быть уверен в том, что в конкретной колонке содержаться данные исключительно того типа, который я указал при ее создании или Неопределено - просто привык я так работать(это исключительно мои "заморочки" smile.gif ).

Да, указанный Вами пример можно использовать, но просто я привык немного по другому работать(я не 1с кодер).

Буду юзать такое описание типов для колонки:
 ОписаниеТипов("НужныйМнеПримитивныйТип, ТипИскуственноСозданногоПрикладногоОбъекта")


Тему можно считать закрытой.
dmiter
Цитата(Dmitriy-CoDy @ 11.04.12, 10:52) необходимо зарегистрироваться для просмотра ссылки
Если не указывать тип содержимого колонки в таблице значений, то насколько я понимаю, в качестве значения в такой колонке может быть: и число, и строка, и ссылка на любой справочник или документ... - в общем что угодно. Я же хочу быть уверен в том, что в конкретной колонке содержаться данные исключительно того типа, который я указал при ее создании или Неопределено - просто привык я так работать(это исключительно мои "заморочки" smile.gif ).

Да, указанный Вами пример можно использовать, но просто я привык немного по другому работать(я не 1с кодер).

Буду юзать такое описание типов для колонки:
 ОписаниеТипов("НужныйМнеПримитивныйТип, ТипИскуственноСозданногоПрикладногоОбъекта")


Тему можно считать закрытой.

Нашел :
 ОписаниеТипов("НужныйМнеПримитивныйТип, NULL")
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.