Имя: Пароль:
1C
1С v8
Добавить тип в ОписаниеТипов()
0 Slon747
 
18.07.18
16:08
ТипыДанных = Новый ОписаниеТипов("СправочникОбъект.Магазины,
|СправочникОбъект.Склады,
|СправочникОбъект.Кассы");

Как добавить в ТипыДанных еще какой-либо тип?
1 Малыш Джон
 
18.07.18
16:10
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("блаблабла1");
МассивТипов.Добавить(Тип("блаблабла2");
...

ОписаниеТиповДанных = Новый ОписаниеТипов(МассивТипов);
2 Slon747
 
18.07.18
16:11
(1) спасибо
3 Малыш Джон
 
18.07.18
16:12
а вообще Ctrl+F1 - наш рулевой
4 lodger
 
18.07.18
16:15
(1) не совсем корректный ответ конечно.
изменить существующий ТипыДанных нельзя, но можно подменить его новым, созданным через конструктор на его основании.
Синтаксис:

Новый ОписаниеТипов(<ИсходноеОписаниеТипов>, <ДобавляемыеТипы>, <ВычитаемыеТипы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
5 lodger
 
18.07.18
16:16
тогда ответ для (0) такой:
ТипыДанных = Новый ОписаниеТипов(ТипыДанных,"ЕщеОдинТип");
6 Малыш Джон
 
18.07.18
16:18
(4) не понял, почему нельзя?

есть код описывающий создание нового описания типов.
какая религия мешает добавить туда строку с ещё одним типом?
7 Вафель
 
18.07.18
16:19
(6) нельзя изменить описание типов, но задачу конечно же можно решить
8 Малыш Джон
 
18.07.18
16:24
(7) я не предлагаю его сначала создать, а потом менять.
я предлагаю, уже в момент создания просто добавить туда ещё один тип:

Не

ТипыДанных1 = Новый ОписаниеТипов(Тип1);
ТипыДанных2 = Новый ОписаниеТипов(ТипыДанных1,Тип2);

а

ТипыДанных1 = Новый ОписаниеТипов(Тип1, Тип2);
9 lodger
 
18.07.18
16:28
(8) а если ты его унаследовал из другого места?
10 Малыш Джон
 
18.07.18
16:31
(9) давненько я слово "унаследовал" применительно к языку не слышал) все-таки не хватает ООП в 1С)

ну в (0) нигде не написано, что унаследовал, просто написан код создания ОписанияТипов, почему бы не модифицировать его вместо того, чтобы дописывать что-то после?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс