Имя: Пароль:
1C
1С v8
Загрузка DBF
0 Sem0709
 
27.11.12
05:46
Всем привет!

Нашел в инете кусок кода выгрузки\загрузки DBF.
Спр.Отдел \\ПеречислениеСсылка.Отдел
Значения не подставляются, т.е. это реквизит в форме остается пустым. Что не так делаю и как правильно ? Выгрузка проходит корректно, значения в таблице DBF-файла есть.

И ещё мелочь, но хочется знать на будущее. Почему в пути указаны два слеша, вместо одно бэк-слеша - работает оба варианта.

Процедура ОсновныеДействияФормыЗагрузить(Кнопка)
   
   БД = Новый XBase;
   
   БД.ОткрытьФайл("C://1.dbf"); \\?
   
   Если БД.Открыта() тогда
   БД.Первая();
   Пока НЕ БД.ВКонце() Цикл
       Спр=Справочники.Сотрудники.СоздатьЭлемент();
       Спр.Наименование = СокрЛП(БД.Name);
       Спр.Отдел = СокрЛП(БД.Local); \\?
       Спр.Записать();
       БД.Следующая();
   КонецЦикла;
КонецЕсли;

   БД.ЗакрытьФайл();
   
КонецПроцедуры
1 Гефест
 
27.11.12
05:50
Потому что ты пихаешь туда не элемент перечисления, а строку
2 Sem0709
 
27.11.12
06:10
Нуда, это мне в голову приходило. Как правильно сделать ?
3 Cube
 
27.11.12
06:18
(2) Если ДБФ для переноса данных, то используй ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр() для выгрузки и загрузки значения перечисления соответственно.
Если ДБФ для чтения юзерам, то при загрузке ищи перечисление по наименованию.
4 Cube
 
27.11.12
06:19
+(3) Кстати, можно выгружать имя перечисления, как оно задано в конфигураторе, а не его синоним, тогда можно будет загружать по именам.
5 Sem0709
 
27.11.12
08:38
Вроде сделал, только пришлось увеличить длину выгружаемого поля с 50 на 100. Спасибо!

А если бы это были разные конфигурации ? ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр() строковые представления этих функций справедливы только для одной конфигурации!?

Про слеши в пути объяснение есть?
6 Cube
 
27.11.12
08:41
(5) "строковые представления этих функций справедливы только для одной конфигурации!?"
Ещё строже - для одной ИБ (или РИБ), т.к. в эту строку выгружается уникальный идентификатор объекта, который, сам понимаешь, никогда не повторяется.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан