Имя: Пароль:
1C
 
сохранение в xls по умолчанию
0 abmin
 
23.03.11
22:17
Подскажите кто знает как сделать чтоб печатная форма по умолчанию сохранялась в формат *xls Спасибо
1 FN
 
23.03.11
22:19
Вырезать с помощью ВК или редактора ресурсов пункт меню "Сохранить" и добавить "Сохранить в ексель"
2 abmin
 
23.03.11
22:21
Если можно поподробнее, а то я не особо понял о чем Вы
3 andrewks
 
23.03.11
22:22
повесить на макет или панельку кномпочку "сохранить", при нажатии на которую и реализовать искомый код сохранения таблицы в xls
4 Креатив
 
23.03.11
22:27
Если это одна конкретная форма, то можно сразу в эксел выводить.
5 abmin
 
23.03.11
22:33
а как должен выглядеть то самый искомый код сохранения таблицы в xls? я копаюсь-копаюсь, но пока нифига не могу понять...
6 FN
 
23.03.11
22:34
Таб.записать
7 Азазель
 
23.03.11
22:39
Печатные формы по "умолчанию" вообще не сохраняются.
Во всяком слуаче, в типовых конфигурациях.
Для их сохранения юзер должен интерактивно выбрать команду в меню "Файл".

Можно реализовать сохранение программно в процедуре печати каждого документа.
Но! Штатное сохранение работает криво- частенько в сложных формах много ошибок.
Чтобы сохранялось без ошибок и быстро, лучше использовать внешнюю компоненту (Йоксель).
8 Cthulhu
 
23.03.11
22:44
(7): на сайте йокселя есть обработка, позволяющая из мокселей (дефолт-формат 1с для сохранения таблиц) чудненько и без ошибок собирать EXCEL-книгу. Я как бухам и топам её подвесил (чуть допилив чтобы при сборке сразу за собой подметала - удаляла моксель-файлы, включенные в ексел-книгу) - пысают кипятком. насохраняли в папку чо в книге нужно, обработкой быстро собрали в ексель, сохранили куда надо - и алё. ))
9 abmin
 
23.03.11
22:58
Возможно я не правильно вопрос поставил. Мне всего лишь нужно чтоб при нажатии кнопки сохранить как, он не мхл формат предлагал для сохранения а ексель
10 DrZombi
 
гуру
23.03.11
23:00
(9)1С из мхл в ексель сохраняет криво. Лучше использовать мксель :)
11 Cthulhu
 
23.03.11
23:03
(9): тебе объяснили - сохранение программно можно сделать в любом формате. Выясняется что тебе сначала выбрать надо файл для сохранения - так и это можно сделать программно (перед сохранением, которое чем именно делать - тебе уже рассказали) причем с каким угодно расширением - с помощью ФС.ВыбратьФайл(..)
12 NikVars
 
23.03.11
23:05
(9) А ты свой пункт меню повесь и обработку при открытии замути и туда забабахай то, что в (6) указали.
13 abmin
 
23.03.11
23:12
спасибо,буду ковырять
14 NikVars
 
23.03.11
23:16
(13) Пожалуйста! Если забацаешь, то буду признателен, если покажешь как.
15 abmin
 
23.03.11
23:21
не вопрос- покажу, если забацаю)
16 Cthulhu
 
23.03.11
23:24
//(14): на тебе "в лоб":
Процедура ПриОткрытии() //предопределенная
   Перем тФайл,тКаталог;
   Если ТипЗначенияСтр(Форма.Параметр)<>"Таблица" Тогда СтатусВозврата(0); Возврат; КонецЕсли;
   Если ФС.ВыбратьФайл(1,тФайл,тКаталог,"Сохранение Таблицы 1с в EXCEL:","XLS-файлы|*.XLS","xls",177)
   <>1 Тогда СтатусВозврата(0); Возврат; КонецЕсли;
   Если ПустоеЗначение(тКаталог)=0 Тогда тФайл=тКаталог+?(Прав(тКаталог,1)="\","","\")+тФайл КонецЕсли;
   Форма.Параметр.Записать(тФайл,1);
КонецПроцедуры //ПриОткрытии
17 Cthulhu
 
23.03.11
23:25
// в (16) две последние строки, конечно же:
   Форма.Параметр.Записать(тФайл,1); СтатусВозврата(0);
КонецПроцедуры //ПриОткрытии
18 zak555
 
23.03.11
23:26
(16) очень длинный код - надо всё в одну строку =)
19 zak555
 
23.03.11
23:28
Процедура ПриОткрытии() //предопределенная
   Перем тФайл,тКаталог; Если ТипЗначенияСтр(Форма.Параметр)<>"Таблица" Тогда СтатусВозврата(0); Возврат; КонецЕсли; Если ФС.ВыбратьФайл(1,тФайл,тКаталог,"Сохранение Таблицы 1с в EXCEL:","XLS-файлы|*.XLS","xls",177) <>1 Тогда СтатусВозврата(0); Возврат; КонецЕсли; Если ПустоеЗначение(тКаталог)=0 Тогда тФайл=тКаталог+?(Прав(тКаталог,1)="\","","\")+тФайл КонецЕсли; Форма.Параметр.Записать(тФайл,1); СтатусВозврата(0); КонецПроцедуры
20 Cthulhu
 
23.03.11
23:28
(18): ну ты же сам знаешь как это сделать из (16)+(17)... тебе и карты в руки. )))
21 Cthulhu
 
23.03.11
23:29
(19): хаха! я то знал, что движок все равно сделает несколько строк, да ещё и не распознает как код. "учоные не дураки - на солнце полетим ночью!".
22 zak555
 
23.03.11
23:30
(16) (17) зачем два раза писать СтатусВозврата(0); ?
23 NikVars
 
23.03.11
23:30
(16) Гляка-ты!!!
Идея рабочая!!!
А я думал, что фигню брякул!!
:)))
24 Cthulhu
 
23.03.11
23:35
(23): только в качестве меню не покатит - штатно можно получить таблицу для сохранения только в параметре или их глобальной переменной, заведенной спецом для этого (тогда вместо параметра проверять и сохранять надо эту эту переменную - а в том месте, где выводится таблица, которую потом надо сохранять - специально озаботиться присвоением значения этой переменной... есть вариант - в глоб.переменной хранить список таблиц, туда их опять таки пихать при каждом формировании таблицы - и в обработке выбирать из списка нужную для сохранения, перед этим предварительно подчистив список от таблиц. которые уже "умерли"!)
Вариант со "сборкой" контекстов всех показанных таблиц - это уже ВК нужна, формекс в частности умеет это.
25 FN
 
23.03.11
23:37
(16)+ берем формекс, ловим активный контекст, проверям - таблица или нет, потом запись в файл.
Получим универсальную функцию, вызов которой удобно повесить на кнопочку тулбара.
26 FN
 
23.03.11
23:38
(24) :)
27 NikVars
 
23.03.11
23:40
(24) Номальный вариант - (0) перелапатит всю конфу, будет за обновление бабло драть. Можно даже без ВК обойтись.
:))
28 Cthulhu
 
23.03.11
23:43
(27): поиск по всей конфиге текста ".Показать(" (без кавычек) и копипаста - тупо механика. А можно у того же АЛьФ-а взять инсертер. Или gcomp + масс.правка по тому же принципу (можно скриптом же)))) + gcomp.
29 NikVars
 
23.03.11
23:47
(28) Но заказчик этого-то и не знает!!!
Ему показать сотню-другую расхождений для обоснования трудозатрат и наслаждаться результатом.
30 Cthulhu
 
23.03.11
23:53
(29): я так не делаю. ну, и не особо уважаю тех, кто делает.
вот такой вот лох.
:))
31 NikVars
 
23.03.11
23:58
(30) Не, вижу зря себя обзываешь.
:))