Что означает второй синтаксис оператора "новый"?

1. amiralnar 9 16.02.12 18:28 Сейчас в теме
Оператор "Новый" имеет два варианта синтаксиса. Для второго варианта дается пояснение:
Для прикладных объектов необходимо использовать функциональную форму оператора Новый (вариант 2), так как при проверке модулей в конфигураторе не определены типы для прикладных объектов.


И приводится пример. Кто может пояснить - в чем смысл?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. amiralnar 9 17.02.12 15:43 Сейчас в теме
Может, гуру какой знает?
4. fishca 1258 17.02.12 16:03 Сейчас в теме
(2)
Вариант 2 синтаксиса может использоваться и для некоторых типов, для которых не указано, что они могут создаваться с помощью оператора Новый (например, для ссылочных типов - СправочникСсылка.Номенклатура). Однако использование объектов, полученных таким образом, ограничено.

Пример1:
СписокСохранения = Новый Структура;
ХранилищеДанных = Новый ХранилищеЗначения(СписокСохранения);

Пример2:
ТипЗначения = Тип("КвалификаторыСтроки");
Параметры = Новый Массив(2);
Параметры[0] = 20;
Параметры[1] = ДопустимаяДлина.Переменная;
КвСтр = Новый(ТипЗначения, Параметры);
Показать

этого описания разве мало?
3. vasilykushnir 63 17.02.12 16:03 Сейчас в теме
Mov A, B
А кто из телепатов подскажет чему равнялось В, до вышепрведенной команды? Гуру есть на сайте?

Блин!, когда вы уже научитель правильно ставить вопроссы!
"Новый" - это откуда? 7-ка, 8-ка? Кто/что новый - объект, элемент справочника, документ...
ЖКК есть?
5. alex_bob 248 17.02.12 16:20 Сейчас в теме
1. Вторую форму оператора Новый нужно использовать, когда тип создаваемого объекта определяется динамически в самой программе (например строка имени типа конструируется по условиям).
2. Вторую форму оператора Новый необходимо использовать при работе с 1С через ComConnector (например из 1С77)
3. Предполагаю, что в форме Новый(<Тип>) оператор будет выполняться быстрее, чем Новый(<Строка>), поэтому конструкция:
ТипТЗ = Тип("ТаблицаЗначений");
Для ъ = 1 По 1000 Цикл
    Новый(ТипТЗ);
КонецЦикла;

будет выполняться быстрее, чем
Для ъ = 1 По 1000 Цикл
    Новый("ТаблицаЗначений");
КонецЦикла;

Понятно, что пример несколько натянут,но общий смысл наверно ясен.
amiralnar; +1 Ответить
6. alex_bob 248 17.02.12 16:38 Сейчас в теме
Если в конфигураторе написать в каком-либо модуле что-то типа
// Вариант 1
Спр = Новый СправочникСсылка.ФизическиеЛица;
// Вариант 2
Спр = Новый("СправочникСсылка.ФизическиеЛица");

при сохранении модуля с первым вариантом выскочит синтаксическая ошибка. Однако ошибки не будет, если строка по первому варианту будет внутри оператора Выполнить() или если ее набрать в табло 1С:Предприятие.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот