Имя: Пароль:
1C
1C 7.7
v7: Можно ли выгрузить записи справочника одной командой?
0 tmpnikl
 
16.01.13
07:48
Обычно для выгрузки данных из 1С в какой-нибудь файл(текстовый,XLS,DBf и т.д.)предлагают делать в цикле...Но это надо знать структуру(наименования полей) этого справочника..., можно ли эту операцию выполнить одной командой..., по аналогии например select * from xx TO FILE FileName, copy to xx type .., import и т.д... т.е. выгрузка "как есть"...
1 skunk
 
16.01.13
07:48
нет
2 Андрей_Андреич
 
naïve
16.01.13
07:49
Универсальные отчеты. RefPrint.ert
3 skunk
 
16.01.13
07:50
сосбтвенно структуру знать необязательно ...
4 vcv
 
16.01.13
07:52
А что считать выгрузкой? Для SQL базы вполне сработает "select", для DBF хватит обычного copy SC###.DBF ...
7 tmpnikl
 
16.01.13
08:07
например
   xl=СоздатьОбъект("Excel.Application");
   xl.Workbooks.Add(); //Добавляем новый документ
   xl.Visible=1; //Делаем его видимым

   row=1; //первая строка
   спр=СоздатьОбъект("Справочник.Контрагенты");
   спр.ВыбратьЭлементы();
   Пока спр.ПолучитьЭлемент() = 1 Цикл
       xl.Cells(row,1).Value=спр.Код;
       xl.Cells(row,2).Value=спр.Наименование;
       row=row+1;//переходим на следующую строку
   КонецЦикла;
и как  этот код можно переписать через сору(такой команды вроде в 1с нет...)
8 Андрей_Андреич
 
naïve
16.01.13
08:08
Смотри файли 1cv7.dd или 1cv7.dds
Там расписана структура таблиц
9 1Сергей
 
16.01.13
08:09
(7) имеется в виду:
1. Скопируй файл DBF средствами венды.
2. ...
3. PROFIT!
10 Андрей_Андреич
 
naïve
16.01.13
08:09
а вообще макивара и прочие правы - не надо мешать человеку фигней маяться
11 Mikeware
 
16.01.13
08:11
(8) А зачем тут структура?
перебераешь через Метаданные.Справочник()....
12 Privalov
 
16.01.13
08:12
(10) +100500
13 tmpnikl
 
16.01.13
08:12
Да, иосмотреть структуру можно, но есои полей 250, небудешь же писать все эти поля..., и скопировать тоже можно, но если на этот справочник наложен фильтр.., мне просто надо знать можно или нет..если нет, то будет использовать цикл...
14 Privalov
 
16.01.13
08:12
(13) Ты бы хоть русский что ли выучил ))))
15 cw014
 
16.01.13
08:14
(14) Русский язык людям, которые проблему 1С решают посредством ковыряния в DBF не нужен
16 cw014
 
16.01.13
08:14
(13) Метаданные тебе в помощь
17 Privalov
 
16.01.13
08:14
(15) +100 ))))
18 cw014
 
16.01.13
08:17
Просто представляю:

ВыгрузиМнеМойСправочникВXLSБлеать(<ИмяСправочника>)
19 tmpnikl
 
16.01.13
08:21
Ну если ты такой продвинутый и напиши эту фнкцию, класс или что там ... буду с удовольствием пользоваться. чем писать цикл..
фильтр
и твоя процедура...
ВыгрузиМнеМойСправочникВXLSБлеать(<ИмяСправочника>)
20 Privalov
 
16.01.13
08:23
(19) Хамишь? Сам пиши. Попрошайка.
21 cw014
 
16.01.13
08:30
(19) Напишу, на 1С, только сколько мне это стоить будет?
22 0xFFFFFF
 
16.01.13
08:32
(19) сказали же, смотри RefPrint.ert.
23 ЧеловекДуши
 
16.01.13
08:35
(22)Чукча в (0) не читатель, чукча писатель... даже не писатель, так попрошайка :)
24 skunk
 
16.01.13
08:36
25 tmpnikl
 
16.01.13
08:37
Спасибо за RefPrint.ert,
В этом и отличие, раньше программировали за интерес, а сейчас за деньги...
26 ЧеловекДуши
 
16.01.13
08:37
(19)Давай сам... мы оценим... выложи свой кОД на http://infostart.ru/
27 ЧеловекДуши
 
16.01.13
08:37
(25)Без проблем, тебе в (21) готов за разумные деньги все сделать :)
28 ЧеловекДуши
 
16.01.13
08:39
(24)Кстати, его не печать интересует, если шо :)
(25)Ты не осилишь эту обработку ;)
29 skunk
 
16.01.13
08:39
(28)а какая разница ... печать это тоже вывод
30 ЧеловекДуши
 
16.01.13
08:40
(29)Ну да, вывод. Только автор (0) интересует одна кнопка "Сделать все" :)
31 cw014
 
16.01.13
08:42
Порадовало вообще постановка вопроса...
"Но это надо знать структуру(наименования полей) этого справочника..."

Но для этого надо еще клавишами программировать, а это неохота
32 Mikeware
 
16.01.13
09:09
(31)
"я тут решила программировать поучиться... посоветуйте, как лучше программировать - в кодах, или в ascii?"© Учительница по информатике
33 monsterZE
 
16.01.13
09:09
а чем не устраивают метаданные? + код /наименование
34 monsterZE
 
16.01.13
09:15
Для Сч = 1 По Метаданные.Справочник() Цикл
       ВыбСпр.ДобавитьЗначение(Метаданные.Справочник(Сч).Идентификатор,Метаданные.Справочник(Сч));
   КонецЦикла;
---
   МетаСпр = Метаданные.Справочник(ВыбСпр.ТекущаяСтрока());
   ВыбРекв.УдалитьВсе();

   Для Сч = 1 По МетаСпр.Реквизит() Цикл
       ВыбРекв.ДобавитьЗначение(СокрЛП(МетаСпр.Реквизит(Сч).Идентификатор),СокрЛП(МетаСпр.Реквизит(Сч)));
   КонецЦикла;
35 Mikeware
 
16.01.13
09:17
(33) это ж писать надо...
36 cw014
 
16.01.13
09:18
(35) +1
Как в (19) написано:
напиши эту фнкцию, класс или что там ... буду с удовольствием пользоваться. чем писать цикл..
37 mikecool
 
16.01.13
09:18
все не читал, про процедуру ВыгрузитьЗаписиСправочникаОднойКомандой(Быстро) уже упоминали?
38 cw014
 
16.01.13
09:19
(37) см (18)
39 mikecool
 
16.01.13
09:25
(38) Не, там какая то хакерская команда, я таких не знаю
40 Повелитель
 
16.01.13
09:33
У меня директор не только справочник одной командой может выгрузить, но и конвертнуть целиком одну базу в другую.

Вот это волшебная команда:
"Ну как прогрер иди сюда! Если завтра не сделаешь перенос я тебя уволю".
41 monsterZE
 
16.01.13
09:36
=) просто тс надо ник сменить на как у (40) тогда все будет работать
42 Dolly_EV
 
16.01.13
09:39
Вот это точно поможет:
http://infostart.ru/public/16140/
43 Dolly_EV
 
16.01.13
09:39
+(42) правда ИС висит, или только у меня?
44 Повелитель
 
16.01.13
09:40
ага повис
45 1Сергей
 
16.01.13
09:47
(43) (44) безобразие! то ли дело миста...
46 Dolly_EV
 
16.01.13
09:51
(45) миста недавно 3 дня в дауне была, куча народу смогла поработать)))
47 AntiBuh
 
16.01.13
10:23
(43) это ты его своей ссылкой сломал