Имя: Пароль:
1C
1C 7.7
v7: Подскажите, можно ли СоздатьОбъект("XBase") в цикле в 1С 7.7?
,
0 shag008
 
30.11.14
19:28
Необходимо в цикле создать несколько одинаковых объектов.
Т.е. что-то вроде этого
Для i = 1 По 5 Цикл
   Товар + i = СоздатьОбъект("XBase");
   //здесь идет описание полей объекта
   //.........
КонецЦикла;

На выходе должно получиться 5 одинаковых по структуре объектов с именами
Товар1, Товар2, Товар3, Товар4, Товар5

Или надо каждый объект отдельно создавать?
1 ДенисЧ
 
30.11.14
19:31
Надо закусывать...
И вообще - воскресенье, пора трезветь...
Может, ты завтра ещё раз попробуешь?
2 Мигало
 
30.11.14
19:34
(0) Чегод добиться то хочешь в конечном итоге ? Поделись своей печалью ;DDD
3 shag008
 
30.11.14
19:35
(1) (2) ))) трезв к сожалению.
Мне надо сделать выгрузку в 15 файлов ДБФ. Файлы одинаковые по структуре, но данные в них разные. Вот надо создать 15 объектов xBase. Но завтра их может стать 20. Поэтому и хотелось бы делать это в цикле.
4 ДенисЧ
 
30.11.14
19:36
(3) не... Закуска тут уже не поможет...
Кто мешает последовательно писать файлы?
5 shag008
 
30.11.14
19:38
(4) есть таблица значений. 15 колонок. Придется 15 раз перебирать ТЗ. Просто хотел один раз пройти и создать 15 файлов
6 Мигало
 
30.11.14
19:40
Функция Файло()
    Результат = СоздатьОбъект("XBase");
    //здесь идет описание полей объекта
    
    Возврат Результат;
КонецФункции

..... всякий ховнокод

Для I = 1 По 20 Цикл
    Файл = Файло();
    .... тут тоже ховнокод
КонецЦикла;


З.Ы. Перебор ТЗ 15 раз буде былстрее чем генерация 15 объектов XBase
7 ДенисЧ
 
30.11.14
19:42
(5) Так создай. Что мешает?
Имена переменных? Так усатый тебе массив для этого дал...
Что ещё? Давай, обосновывай....
8 shag008
 
30.11.14
19:50
(6) файл будет объектом XBase. Мне надо чтоб имена объектов назывались Файл1,...,Файл15. Чтоб потом к ним обращаться
9 shag008
 
30.11.14
19:51
+(8) сейчас попробую подробнее объяснить.
10 ДенисЧ
 
30.11.14
19:55
для сч = 1 по 15 цикл
  база = новый XBase();
.....

   база.Записать("File" + сч);
КонецЦикла;
11 shag008
 
30.11.14
19:56
+(8) есть 15 магазинов. Со своим фронт-офисом на кассах. Мне из тис надо выгружать на фронты цены. В идеале, цены почти на все позиции в магазинах одинаковы. Но существует ряд наименований, на которые цены в магазинах разные. Вот и приходится создавать 15 файлов выгрузки. Формат файлов ДБФ. В обработке собираю все возможные цены в ТаблицуЗначений. Надо пройти по ней и создать 15 файлов и разложить их в свои папки. Вот как в цикле создать 15 объектов XBase с разными именами?
12 Мигало
 
30.11.14
19:57
(8)
Функция Файло()
    Результат = СоздатьОбъект("XBase");
    //здесь идет описание полей объекта

   Возврат Результат;
КонецФункции

А)
Перем Файл1, Файл2, файл3

..... какой то код ....
    Файл1 = Файло();
    Файл2 = Файло();
    Файл3 = Файло();
..... какой то код ....

Б)
..... какой то код ....
    спФайлы = СоздатьОбъект("СписокЗначений");
    спФайлы.ДобавитьЗначение(Файло());
    спФайлы.ДобавитьЗначение(Файло());
    спФайлы.ДобавитьЗначение(Файло());
    
    Для I = 1 По спФайлы.РазмерСписка() Цикл
        Файл = спФайлы.ПолучитьЗначение(I);
    КонецЦикла;
..... какой то код ....

(10) Клюшки это
13 shag008
 
30.11.14
19:59
(10) это уже выходной файл будет со своим уникальным именем. А я хотел бы 15 уникальных объектов создать. А потом их в файлы писать.
14 ДенисЧ
 
30.11.14
20:00
А зачем для этого 15 объектов создавать?
15 shag008
 
30.11.14
20:00
(12) при появлении 16-го магазина придется новые переменные плодить. Хотелось бы динамически объекты создавать, если можно так выразиться
16 shag008
 
30.11.14
20:01
(14) по количеству магазинов
17 shag008
 
30.11.14
20:03
+(16) стоит супермаг. Его конверторы забираю файлы с данными из определенных папок (для каждого магазина своя папка). Вот в эти папки и надо положить файлы с ценами
18 hhhh
 
30.11.14
20:04
(15) надо создать один объект xbase и с ним работать. записать 15 раз под разным именем.
19 ДенисЧ
 
30.11.14
20:05
(16) Создал объект, записал, повторил.
Зачем плодить, скажи на милость, такое множество объектов?
20 shag008
 
30.11.14
20:06
(18) в идеале так и есть. Но на некоторые товары розничные цены разные в магазинах. Вот и приходится формировать 15 уникальных файлов.
21 Мигало
 
30.11.14
20:06
(15) тогда в список значений загоняй
22 ДенисЧ
 
30.11.14
20:07
(20) Какой-то бред. И даже не Питт.
23 shag008
 
30.11.14
20:08
(19) похоже придется так и делать
24 shag008
 
30.11.14
20:08
(22) бред в чем? В том что разные цены в магазинах?
25 ДенисЧ
 
30.11.14
20:09
(24) В том что для разных цен нужно создавать разные объекты.
Одного хватит по уши.
26 shag008
 
30.11.14
20:11
(25) я хотел одним проходом по таблице значений создать сразу 15 файлов. Может и ошибаюсь
27 ДенисЧ
 
30.11.14
20:15
(26) Хорошо, создавай.
Я не буду больше возражать.
в чём проблемы-то?
28 hhhh
 
30.11.14
20:18
(26) создание файла в 100 раз медленнее, чем проход по таблице  значений. То есть если не будешь страдать фигней, просто сделаешь 15 проходов по таблице, то у тебя появится время махануть рюмочку коньячку.
29 shag008
 
30.11.14
20:20
(28) Наверное.
Спасибо что наставили на путь истинный