Имя: Пароль:
1C
1С v8
Выгрузить документы в xls
0 dns-omsk
 
07.06.13
08:13
Доброго утра.

Есть код:
----------
   ТЗ.Очистить();
   Запрос = Новый Запрос("ВЫБРАТЬ
                    |    РеализацияТоваровУслуг.Ссылка,
                    |ИЗ
                    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг);
   Результат = Запрос.Выполнить().Выбрать();
   Пока Результат.Следующий() Цикл
           Стр = ТЗ.Добавить();
           Стр.Документ = Результат.Ссылка;
   КонецЦикла
   Для каждого Стр из ТЗ Цикл
       СохранитьКак(Стр.Документ, Стр.Номер + "_" + Стр.Дата)
   КонецЦикла;

Процедура СохранитьКак(ТабДокумент, ИмяФайла) Экспорт
  ИмяФайла = Строка(ИмяФайла) + ".xls";
  Каталог = "c:/tmp/out/";
  ПолныйПутьКФайлу = Каталог + ИмяФайла;    
  Попытка
      ТабДокумент.Записать(ПолныйПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
      Сообщить("Записан новый файл " + ПолныйПутьКФайлу);
  Исключение
      Сообщить(ОписаниеОшибки());
  КонецПопытки;    
КонецПроцедуры
----------

Процедура "СохранитьКак" найдена в интернете, но не пашет и ругается вот так вот "Метод объекта не обнаружен (Записать)
Как сохранить в XLS если он не установлен и соответственно не получается сохранить через COM-объект?

Заранее благодарю.
1 Wobland
 
07.06.13
08:17
передавать туда ТабДокумент, а не ссылку
2 Wobland
 
07.06.13
08:18
это же Торг-12 сохраняется, правда?
3 Галахад
 
гуру
07.06.13
08:21
Пятница продолжается.
4 dns-omsk
 
07.06.13
08:25
(2) Правда
5 dns-omsk
 
07.06.13
08:25
Мужики, я не программист 1с, поэтому задаю такие вопросы.
Не серчайте.
6 Wobland
 
07.06.13
08:26
(4) а где ты об этом сказал?
7 dns-omsk
 
07.06.13
08:26
Сейчас буду минут 30 думать как ТабДокумент выковырять. )
8 Wobland
 
07.06.13
08:26
(5) позови программиста
9 Wobland
 
07.06.13
08:27
(7) его обычно формируют
10 dns-omsk
 
07.06.13
08:29
(8) Незачем людей напрягать ради мелочей.

Не везет с программистами, то делают работу по 2 недели, то говорят, что мол невозможно выполнить задачу.

3 шт уже сменил.

Решил сам. Нужно по окончании каждого месяца выгружать реализации. Все делал руками раньше, устал.
11 Галахад
 
гуру
07.06.13
08:32
(10) Заплати (1) и не напрягайся.
12 Sammo
 
07.06.13
08:33
(7) См. модуль документа.
А если скажешь конфигурацию, может даже кто-нибудь подскажет конкретный вызов.
13 Wobland
 
07.06.13
08:33
(10) есть такая работа - родину автоматизировать. могу сделать за недорого
14 dns-omsk
 
07.06.13
08:34
(11) Не в деньгах дело, а в неграмотных спецах, а так же в саморазвитии я окромя 1с на других языках кодил.
15 Cashtane
 
07.06.13
08:39
(14) Действительно хочешь потратить время на то что бы разобраться в том что тебе в будущем не пригодится?
16 dns-omsk
 
07.06.13
08:43
Ага, именно. Хобби такое. )
17 Cashtane
 
07.06.13
08:53
(16) Ну тогда ты гон делаешь в (0). Задача то в чем заключается? Выгружать реализации в каком виде?
18 sttt
 
07.06.13
08:57
(10) 1000р и сделаю быстро
19 dns-omsk
 
07.06.13
08:59
Все получилось. Спасибо всем.
20 Cashtane
 
07.06.13
08:59
(19) Показывай.
21 Wobland
 
07.06.13
09:01
+(20) какаш.. тьфу, на промахи укажем
22 sttt
 
07.06.13
09:02
(20) зачем тебе этот бред
23 Cashtane
 
07.06.13
09:05
(22) Мне кажется это будет фурор.
24 Галахад
 
гуру
07.06.13
09:06
Жадным одинэсникам не дали подзаработать. :-)
25 Wobland
 
07.06.13
09:06
интересно, сколько будет работать генерация форм и сохранение в ексель на десятке тысяч документов?
26 sttt
 
07.06.13
09:11
(23) совсем забыл, что сегодня пятница
(24) ага, обиду затаил..))
27 dns-omsk
 
07.06.13
09:14
Конечно я чуток слукавил, мне не ТОРГ12 нужен был, а своя собственная накладушка. Я сделал тестовый образец с парой тройкой полей и все сохранилось, сейчас допиливаю до конца, позже покажу, просто ради вам поржать.

Выгрузка каждый месяц только реализаций определенной организации, а это (в моем случае) не более 100 документов.

На обед, потом допилка, и покажу, если вам правда будет интересно. Вижу же что любите стебаться над простыми людьми.
28 andreymongol82
 
07.06.13
09:16
(27) Ну почему же, не только стебаться. Иногда просто поржать.
29 Wobland
 
07.06.13
09:18
(27) про месяц в (0) ни слова
30 Wobland
 
07.06.13
09:18
+(29) как и про организацию
31 dns-omsk
 
07.06.13
09:19
(29) (30) Думаете я вам полный текст выкладывал?
Все пучком. )))
32 sttt
 
07.06.13
09:20
(27) поржем )) а то комерсов грамотных мало
33 dns-omsk
 
07.06.13
09:21
Обед.
34 Галахад
 
гуру
07.06.13
09:24
Чорд, вот и выяснилось, что программировать на одинэс могут даже рядовые коммерсанты. :-)
35 Cashtane
 
07.06.13
09:28
(34) Тсс, тока никому.
36 ptiz
 
07.06.13
09:38
Мы пропали! По миру пойдем :(
37 dns-omsk
 
07.06.13
11:38
Идевайтесь http://rghost.ru/46572060

Одного не могу понять, если дату в обоих поля выставить одинаковую, то не находиться ни один документ.
38 Галахад
 
гуру
07.06.13
11:41
(37) По-секрету. Есть метод "КонецДня(Твоя дата)"
39 dns-omsk
 
07.06.13
11:41
(38) Поклон
40 dns-omsk
 
07.06.13
12:00
И тишинаааа...
41 Галахад
 
гуру
07.06.13
12:05
(40) А чо болтать-то? Где-то на 3 с минусом написано.

Тут многие так пишут. :-)
42 dns-omsk
 
07.06.13
12:15
Да я собственно не на что и не претендую, просто думал мож совет кто даст какой-нибудь.
43 Галахад
 
гуру
07.06.13
12:20
Насколько я понял. Это стандартная печатная форма.
Можно было сделать примерно так:

Изменение конструкции в (0)
 
Для каждого Стр из ТЗ Цикл
  Объект = Стр.Ссылка.ПолучитьОбъект();
  ТабДок = Объект.ПечатьДокумента();
  СохранитьКак(ТабДок, Стр.Номер + "_" + Стр.Дата)
КонецЦикла;
44 andreymongol82
 
07.06.13
12:22
(43) Печать(ИмяМакета) или какой-то там есть параметр у док.объекта. Так будет круче.
45 Галахад
 
гуру
07.06.13
12:29
(44) Не. Печать это процедура, а ПечатьДокумента - функция.
46 Старик Юзергад
 
07.06.13
12:30
(19) стартманей подкинуть?
47 andreymongol82
 
07.06.13
12:34
(45) Точно. Только она не в объекте, а в менеджере кажись
48 dns-omsk
 
07.06.13
12:35
(43) Чет не проканало, даже если заменить на "Объект = Стр.Документ.Ссылка.ПолучитьОбъект();"
(46) Не участвовали, а маней кидать вам? Я же написал спасибо.
49 Галахад
 
гуру
07.06.13
12:43
(48) Ну и хорошо, значит работа не зря сделана.

P.S. Объект = Стр.Документ.ПолучитьОбъект();
50 salvator
 
07.06.13
12:46
(48) Найди в модуле документа функцию, которая формирует нужный тебе табличный документ и вызывай её через точку:
ТабДок = Объект.ИмяФункции();
51 dns-omsk
 
07.06.13
12:46
(46) Я походу чего то недоперепонял. )
52 salvator
 
07.06.13
12:48
Конфа-то какая?
53 dns-omsk
 
07.06.13
12:49
1с 8.1.15.14
Управление торговлей 10.3.7.8
54 andreymongol82
 
07.06.13
12:51
(53) Едрит-мадрит, а я тут про модуль менеджера понаписать хотел...
55 salvator
 
07.06.13
12:54
У тебя эта печатная форма где формируется?
56 dns-omsk
 
07.06.13
12:56
В обработке отдельной.
57 salvator
 
07.06.13
12:59
(56) Какой обработке? Внешней? Внутренней?
58 dns-omsk
 
07.06.13
13:01
Внешней
59 ptiz
 
07.06.13
13:01
Виден почерк новичка, но сам разобрался - молодец.
Мог бы далеко пойти, если бы был 1Сником.
60 salvator
 
07.06.13
13:03
(58) Внешняя печатная форма, ты имел в виду?
61 dns-omsk
 
07.06.13
13:08
(60) http://rghost.ru/46572060 Внешняя обработка со своим макетом формами и пр. Используется у нас 12 раз в год.
(59) Если бы 1с-язык был красивый, может бы и стал изучать.
62 andreymongol82
 
07.06.13
13:10
(61) Что входит в понятие "красивый"? Что это значит? Почему некрасивый?
63 dns-omsk
 
07.06.13
13:15
Отпечаток накладывает то, чем человек владел до того, правда же?
Дык вот если сравнить с моим любимым javascript...
64 dns-omsk
 
07.06.13
13:18
OFF Вот скажите, юзеры у нас терминальную сессию вырубают а 1с висеть остается. Я делаю logoff тем самым грубо выключая 1с. Но ведь так не правильно же.
Как извне сказать 1с, что бы она сама закрылась? Почему 1с-ники не сделали ключик командной строки, что бы вырубить 1с? А?
65 andreymongol82
 
07.06.13
13:20
(63) Вот не стал бы это называть красивым :).
Хотя, кому-то и функциональные ЯП не языки.
(64) Они прям сеанс завершают или просто отключаются? Сюдя по "Я делаю logoff" - отключаются
66 ptiz
 
07.06.13
13:22
(64) Возможно, 1С повисает с вопросом "Вы хотите закрыть программу?". Убрать эту галку в настройках юзеров.
67 dns-omsk
 
07.06.13
13:24
(65) Закрывают сессию "крестиком" окна терминала.
А 1с-ка висит в сессии юзверя.
С сервера делаю "logoff user"
68 andreymongol82
 
07.06.13
13:27
(67) Крепко наказывать пользователй за "крестик". Так как это обычно просто отключение от сеанса и все программы остаются работать. А выходить - закрыть 1С-сину, потом Пуск-завершить сеанс... Ну или админа толкового позвать, чтобы что надо запретил и что надо разрешил.
Закон Брукера: Даже маленькая практика стоит большой теории.