Имя: Пароль:
1C
1C 7.7
v7: обработка для загрузки справочника в бдф
,
0 serg-lom89
 
14.03.13
17:50
Подскажите знатоки
обработка для загрузки справочника в бдф
Суть обработки
Выбираешь из поля со списком справочник и заношу его в дбф файлик
НО что бы она была универсальной эта обработка.Как получить все реквезиты справочника,которые имеються(т.е. в форме я их отображать не хочу)
вот кусок начало моей писанины
Процедура СоздатьДБФ()
   Данные = СоздатьОбъект("XBase");
НОм=Справ.ПолучитьЗначение(Справ.ТекущаяСтрока());
///ВОТ ТУТ НЕ МОГУ РАЗОБРАТЬСЯ
Ном.ВыбратьЭлементы();
Пока Ном.ПолучитьЭлемент()>0 Цикл
     Тек=Ном.ТекущийЭлемент();
   
   КонецЦиклА;






   Данные.СоздатьФайл(Путь);
   Данные.Записать();
   Данные.ЗакрытьФайл();
КонецПроцедуры    
Функция ВыборФайла()
   ИмяПути = "";
   ИмяФайла = "";
   ФС.ВыбратьФайл(1, ИмяФайла, ИмяПути, "Укажите файл выгрузки", "Все файлы (*.dbf)|*.dbf");
   Возврат ИмяПути + ИмяФайла;
КонецФункции
// Подбор файла
Процедура ПриНачалеВыбораЗначения(Элем, Фл)
   Если Элем = "Путь" Тогда
       Путь = ВыборФайла();
   КонецЕсли;
КонецПроцедуры
//________________________________________________________________________________
Процедура  ПриОткрытии()  
   //Для н=1 По Метаданные.Вид() Цикл
       //Если   Вд=Метаданные.Справочник() Тогда
           Для Номсправ=1 По метаданные.Справочник() Цикл
               Справ.ДобавитьЗначение(Метаданные.Справочник(Номсправ).ПолныйИдентификатор());  
           КонецЦиклА;    
           Справ.ТекущаяСтрока(Номсправ);
       //ИначеЕсли   Вд=Метаданные.Документ() Тогда
           //Для Номсправ=1 По метаданные.Документ() Цикл
           //    Справ.ДобавитьЗначение(Метаданные.Документ(Номсправ).ПолныйИдентификатор());  
           //КонецЦиклА;    
           //Справ.ТекущаяСтрока(Номсправ);
   //    Конецесли;
   //КонецЦикла;
КОнецПроцедуры
//________________________________________________________________________________
1 andrewalexk
 
14.03.13
17:52
бдф?
2 serg-lom89
 
14.03.13
17:52
(1) дбф)
3 ДенисЧ
 
14.03.13
17:53
(1) База Данных Файловая
4 NS
 
14.03.13
17:57
вид="Номенклатура";
   Для а=1 по метаданные.справочник(вид).реквизит() Цикл
       сообщить(метаданные.справочник(вид).реквизит(а).идентификатор);
   КонецЦикла;
5 Ork
 
14.03.13
18:01
(4) Исходя из :
"НОм=Справ.ПолучитьЗначение(Справ.ТекущаяСтрока());"

не поможет.
6 serg-lom89
 
14.03.13
18:17
Так а как потом выбрать все элементы спавочника и в дбф его?
через выбратьЭлементы() ?
7 КонецЦикла
 
14.03.13
18:23
Смотри "Торговля и Склад"
8 Mikeware
 
14.03.13
18:29
(6) читать документацию нынче "не принято"?
9 Эльниньо
 
14.03.13
20:36
*.fdb же есть. Почему нельзя *.bdf?
10 Cthulhu
 
14.03.13
20:57
просто интересно - и в какие же ты dbf-поля (какого типа) и как предполагаешь выгружать значения реквизитов агрегатных(не примитивных) типов?..
11 NS
 
14.03.13
22:50
Значениевстрокувнутр, для всех.
В дбф все поля - строка.
12 Cthulhu
 
15.03.13
00:02
(11): самтопонялчосказал? и что потом в другой базе с этой, простите, фигнёй делать? ну или даже в текущей после удаления, хы, некоторых объектов?
13 NS
 
15.03.13
00:08
(12) А зачем это в другой базе?!
В текущей после удаления каких объектов? Содержимого полей справочника?
Сам то понял чего сказал? :)
То что было когда-то содержимым, и было удалено - не восстановить в любом случае.
14 Cthulhu
 
15.03.13
01:01
(13):
1) не конкретизированное назначение вігрузки подразумевает, как минимум, в том числе и возможность интерпретации (и загрузки) ве контекста базы выгрузки.
2) после удаления любых объектов данных, ссылки на которые ты предлагаешь сохранить вот таким образом.
3) прекрасно понял
4) "не восстановить в любом случае" - брехня.
вот от кого-кого, но от тебя не ожидал такой тупости.
ну или у NS бананан аккаунт угнал?..
15 NS
 
15.03.13
01:23
О какой выгрузке/загрузке ты говоришь? Это твои домыслы.
При чем тут удаление объектов? в его "бдф" всё останется в целости и сохранности.
Остальное вообще не понял, о чем ты?
16 Cthulhu
 
15.03.13
02:00
ну точно бананан акк угнал...