|
v7: Как запустить 1с обработку из Excel | ☑ | ||
---|---|---|---|---|
0
VBMADD
01.12.11
✎
09:05
|
Привет братьям по разуму.
Подскажите пож-ста кто знает Как запустить 1с обработку obrabotka.ert из Excel? Спасибо всем, кто откликнулся. |
|||
1
Гефест
01.12.11
✎
09:06
|
Даже страшно спросить зачем...
|
|||
2
Wobland
01.12.11
✎
09:07
|
обработка будет проводить документы в екселе?
|
|||
3
PuhUfa
01.12.11
✎
09:08
|
(0) скриптом?
|
|||
4
Rie
01.12.11
✎
09:09
|
(0) Запускаешь 1С из Excel - CreateObject("V77.Application"), затем Initialize (подробности - в ЖКК).
Ну и затем - ExecuteBatch("ОткрытьФорму(""Обработка.ТвояОбработка"")"); Что дальше - тут уж тебе виднее (если обработка не приспособлена к программному запуску - на этом всё и закончится). |
|||
5
ЧеловекДуши
01.12.11
✎
09:22
|
Люди извращаются :)
Обычно пишут, "Как из 1С выполнить ВБА", А тут от обратного :D |
|||
6
ЧеловекДуши
01.12.11
✎
09:23
|
(1)Наверное будет на прямую из 1С запущенной из екселя заполнять эту страницу :)
..."прогресс, мать её."... |
|||
7
VBMADD
01.12.11
✎
09:28
|
(2)(6) Просто сотруднику из 1с7 ЗиК регулярно нужна информация по сотрудникам предприятия, но ему не дан доступ к 1с в целях безопасности.
Поэтому у меня возникла идея запуска отдельного файла obrabotka.ert через Excel и формирование в уже в Excel'e нужного отчетика... |
|||
8
Wobland
01.12.11
✎
09:28
|
(7) то есть, сделать таким образом доступ. а права там поурезать и всё такое?
|
|||
9
VBMADD
01.12.11
✎
09:30
|
(8) Это требование руководства не давать доступа, объяснять руководству про ограничение прав - бесполезно, себе же дороже выйдет...
|
|||
10
Wobland
01.12.11
✎
09:32
|
(9) пускай руководство и делает отчёт сотруднику, не?
|
|||
11
Rie
01.12.11
✎
09:34
|
(7) Извращённая идея.
Excel через V77.Applicaiton прекрасно подконнектится к 1С - и получит доступ ко всем данным. При чём тут "запуск обработки" - сие тайна великая есть. Изучай ЖКК на предмет подключения по OLE. |
|||
12
VBMADD
01.12.11
✎
09:36
|
(10)Постановка каких то условий Руководству всегда чревата увольнением зарвавшегося сотрудника...
Обработка просто сбрасывает нужную инфу в файл.dbf, а Excel потом делает все что нужно с этой инфой!!! |
|||
13
VBMADD
01.12.11
✎
09:38
|
(11)Не всю информацию можно корректно передать по OLE
|
|||
14
Rie
01.12.11
✎
09:38
|
(12) А почему бы просто не скопипастить обработку в Excel - и затем чуток подредактировать её текст, вместо того, чтобы ещё и DBF сюда припутывать.
|
|||
15
Rie
01.12.11
✎
09:38
|
(13) Какую нельзя?
|
|||
16
ЧеловекДуши
01.12.11
✎
09:39
|
(12)Вот это изврат :D
...проще сделать урезанный набор прав с одним пунктом меню... "Отчет по сотрудникам..." в той форме, какой надо. Запретить запуск сторонних обработок. |
|||
17
Rie
01.12.11
✎
09:39
|
+(15) И в DBF, и в Excel ты можешь передать только простые типы - поэтому всё, что тебе нужно (раз через DBF работает) ты и по OLE передашь.
|
|||
18
ЧеловекДуши
01.12.11
✎
09:39
|
+(12)Зачем все делать через ДБФ, когда ты прямо из 1С можешь заполнить ексель :)
|
|||
19
VBMADD
01.12.11
✎
09:39
|
(15) Изучай ЖКК на предмет подключения по OLE.
|
|||
20
ЧеловекДуши
01.12.11
✎
09:40
|
+ т.е. получить уже нужную информацию и дез обработки, ну почти.
Остается только в 1С объявить глобальные переменные, которые и будут заполнены с условием из обработки. |
|||
21
ЧеловекДуши
01.12.11
✎
09:41
|
+(20)дез - без
|
|||
22
ЧеловекДуши
01.12.11
✎
09:41
|
(19)Как тебе вариант?
|
|||
23
Rie
01.12.11
✎
09:41
|
(19) То есть, ответить не можешь? Я своё "изучай ЖКК" расшифровал.
|
|||
24
VBMADD
01.12.11
✎
09:42
|
(23)Это к теме не имеет отношеня...
|
|||
25
VBMADD
01.12.11
✎
09:44
|
(20) Не в самой 1с ничего менять нельзя!!! поэтому и идея с dbf
|
|||
26
ЧеловекДуши
01.12.11
✎
09:44
|
+(24)Ты в курсе, что если БД DBF, то она может потребовать пере индексацию. И тебе пользователь высушит мозг по поводу невозможности получить данные.
|
|||
27
ЧеловекДуши
01.12.11
✎
09:45
|
(25)Причем тут менять?
О_О... понял... Пошли их лесом... пускай сами пишут. Нереально. И бестолково. Будут проблемы с ОЛЕ. |
|||
28
ЧеловекДуши
01.12.11
✎
09:46
|
+(25)Ты какую именно хочешь получить информацию из 1С?
Что за конфа? |
|||
29
ЧеловекДуши
01.12.11
✎
09:47
|
+ Почему именно через обработку?
Ведь по сути данные из справочников можно получать и так. |
|||
30
Fish
01.12.11
✎
09:50
|
(19) Мне тоже интересно услышать ответ на (15) - какие данные нельзя передать по ОЛЕ? Может вы "просто не умеете их готовить"? :)) У меня, во всяком случае, никогда не возникало проблем с передачей данных по ОЛЕ :)))
|
|||
31
Aprobator
01.12.11
✎
09:52
|
(14) ага - только для этого нужен как минимум логин и пароль.
|
|||
32
Aprobator
01.12.11
✎
09:52
|
(31) это к (11).
|
|||
33
VBMADD
01.12.11
✎
09:54
|
(26) не, в файле.dbf уже должна быть собрана вся информация и индексировать нечего не надо
(30) медленно это все и хлопотно работает в Excel, раньше пробовал - не понравилось, не хочу 2-ды на грабли... |
|||
34
Aprobator
01.12.11
✎
09:55
|
а вообще ADO рулит даже при работе с Excel.
|
|||
35
Rie
01.12.11
✎
09:56
|
(31) Так и в чём проблема? Создаётся практически бесправный пользователь - и имеем логин с паролем.
|
|||
36
VBMADD
01.12.11
✎
09:56
|
(17) согласен
|
|||
37
VBMADD
01.12.11
✎
09:58
|
Может кто даст основу для дальнейшей отладки, если не трудно...
|
|||
38
Aprobator
01.12.11
✎
09:59
|
(35) т.е. делаетс доступ в базу. А мало ли руководство вумное и подсмотрит наличие несанкционированного пользователя в базе. А вообще, коль речь о 7 и вариант дбф - то можно и напрямую данные считать без пользователя.
|
|||
39
Aprobator
01.12.11
✎
10:00
|
(38) со скулем посложнее - там нужен всяко пользователь, но к скулю. Тоже решаемо.
|
|||
40
ЧеловекДуши
01.12.11
✎
10:02
|
(37)Ты первопроходец... Такого изврата я еще на мисте не видел :)
|
|||
41
Aprobator
01.12.11
✎
10:03
|
(40) +100500 )))
|
|||
42
ЧеловекДуши
01.12.11
✎
10:03
|
(38)Тоже не вариант.
|
|||
43
Rie
01.12.11
✎
10:03
|
(38) Почему несанкционированного? Вот руководство, вот Конфигуратор - демонстрируется, что все "галочки" в правах убраны.
Но в принципе в 7.7 пользователи с их правами - это не защита данных, а всего лишь хранение настроек. (39) И к скулю - _легко_ решаемо. |
|||
44
Sj
01.12.11
✎
10:03
|
1c не нужна. Лезь в dbf или скуль напрямую. Зачем горы городить? И быстрее будет и без проблем, вроде бы.
|
|||
45
Fish
01.12.11
✎
10:03
|
(33) "Медленно" и "нельзя" - это две большие разницы :)))
(38) Доступ в базу по-любому придется дать, иначе из под кого обработка отработает? :) Только непонятно, почему нельзя ему сделать в 1С урезанные права и интерфейс с единственной кнопкой "Сделать отчет" |
|||
46
Rie
01.12.11
✎
10:04
|
(44) Писанины больше.
|
|||
47
Sj
01.12.11
✎
10:05
|
Не заморачивайся на олюшке.
|
|||
48
ЧеловекДуши
01.12.11
✎
10:05
|
(39)Странно, но со скулем куда проще. Начальник и не поймет, что ты дал полный доступ. Да можно и не полный, только повозиться с новым пользователем.
|
|||
49
Sj
01.12.11
✎
10:05
|
(46) да ты что?
|
|||
50
Aprobator
01.12.11
✎
10:05
|
(43) представь себе процесс демонстрации всего этого руководству, которое запретило делать доступ к базе )))).
(45) да ладно - доступ к дбф файлу пользователя требует? |
|||
51
Aprobator
01.12.11
✎
10:06
|
+(50) я вообще имел ввиду не обработку в данном случае, а тупо макрос из экселя, как вариант.
|
|||
52
Aprobator
01.12.11
✎
10:07
|
(48) там строка подключения будет немного другая )))
|
|||
53
ЧеловекДуши
01.12.11
✎
10:07
|
(46)Мне кажется проблема будет не в этом. А когда он будет считывать данные из ДБФ-ок БД и в этот же момент пользователь 1С начнет писать какую либо информацию в эти же таблицы.
|
|||
54
VBMADD
01.12.11
✎
10:07
|
Обработку я уже написал, она выкладывает нужную инфу в файл spssotr.dbf
Excel получает эту инфу и создает все нужные отчеты. Всего то нужно чтобы при старте Excel файл spssotr.dbf обновлялся по этой обработке пусть даже под моим именем и моим паролем в 1с Блин, братцы, столько слов уже написано из-за... Кто может дать канву для запуска обработки в Excel?... |
|||
55
Rie
01.12.11
✎
10:08
|
(54) То есть (4) ты не читал?
|
|||
56
Sj
01.12.11
✎
10:09
|
(56) не той дорогой вы пошли, извините. Копай адо. Все остальное не то.
|
|||
57
Aprobator
01.12.11
✎
10:10
|
(55) человек не знает куда это в экселе пихать. ТС видимо с макросами не работал ни разу.
|
|||
58
Rie
01.12.11
✎
10:10
|
+(55) А как отнесётся руководство к тому, что твой пароль будет _в открытом виде_ храниться в Excel-файле?
|
|||
59
VBMADD
01.12.11
✎
10:11
|
(55) Спасибо, читал, только хотел поподробнее...
(56) Дык уже пошлиЮ осталось ещё половину пройти! |
|||
60
VBMADD
01.12.11
✎
10:12
|
(58) он хранится в макросе, а туды доступа у пользователя и Руководства НЕТу
|
|||
61
ЧеловекДуши
01.12.11
✎
10:13
|
(58)Оно об этом не узнает. :)
|
|||
62
VBMADD
01.12.11
✎
10:14
|
Мне вариант(4) по душе, но разверните поподробней кто знает...
|
|||
63
Rie
01.12.11
✎
10:15
|
(59)
Set V7 = CreateObject("V77.Application") V7.Initialize V7.RMTrade,"/d""ТутПутьКБазе"" /nТутИмяПользователя /pТутПароль","NO_SPLASH_SHOW" V7.ExecuteBatch "ОткрытьФорму("Отчет",,"ТутПутьКТвоейОбработке"")" |
|||
64
ЧеловекДуши
01.12.11
✎
10:16
|
(60)По существу ты можешь еще их шокировать, что вся информация в 1С 7.7 хранится в незашифрованном виде.
При этом все пользователи имеют полный доступ к каталогу БД. Иначе 1С не работает. Так же необязательно запускать 1С, что бы получить нужную и понятную информацию из БД. Т.к. инфа по полям хранится в ДД файле "ДДС" - для сиквела. А дальше дело техники и других программных обеспечений, в плоть до адо. |
|||
65
Rie
01.12.11
✎
10:16
|
+(63) Только лучше, наверно, не ОткрытьФорму, а ОткрытьФормуМодально
Ну и пользователю большой плакат "Если Excel рассуждает об опасности макросов - не верь!" |
|||
66
ЧеловекДуши
01.12.11
✎
10:18
|
(65)Плакат будет к месту :D
Учитывая времени запуска 1С. |
|||
67
VBMADD
01.12.11
✎
10:19
|
(63)Сенкс, буду пробовать
(64) А вот это не надо, Руководство должно спать спокойно и платить зряплату исправно!!! |
|||
68
Sj
01.12.11
✎
10:21
|
(65) сертификат подключаешь к проекту, а в екселе ставишь уровень безопасности доверять только сертиф. Макросам. Но сама идея запуска 1c из екселя что-то как-то неудобоваримая.
|
|||
69
Rie
01.12.11
✎
10:24
|
(68) Человек не хочет разговаривать с руководством о проблемах безопасности. А тут как раз вопрос "А почему это Excel макросы без разрешения запускает?" - и длинная беседа о.
|
|||
70
Aprobator
01.12.11
✎
10:27
|
вот как то не нравится мне ОткрытьФорму при NO_SPLASH_SHOW.
|
|||
71
VBMADD
01.12.11
✎
10:39
|
'==================================
Sub Отчетик() '================================== Dim TekData As Variant Path = ThisWorkbook.Path & "\" Set V7 = CreateObject("V77.Application") V7.Initialize V7.RMTrade, "/d""F:\1Cv77\PRBudg\"" /nЕлена /p", "NO_SPLASH_SHOW" V7.ExecuteBatch ОткрытьФормуМодально("Отчет", , "C:\Список_Сотрудников_DBF.ert") ExitSub Сообщает, что ОткрытьФормуМодально Function not defined |
|||
72
Rie
01.12.11
✎
10:40
|
(70) А почему? Впрочем, если не нравится - можно обойтись без третьего параметра, пусть пользователь на заставку полюбуется.
|
|||
73
Rie
01.12.11
✎
10:41
|
(71) Закавычь параметр ExecuteBatch (внутренние кавычки - удвой).
|
|||
74
El_Duke
гуру
01.12.11
✎
10:46
|
Пипец просто !!!
Какие нереальные извращения для решения простой задачи.Руководство - мегаидиоты ... |
|||
75
VBMADD
01.12.11
✎
11:10
|
Братцы, Всем спасибо, "Rie" особое почтение!!!
Все работает пойду доложу Руководству... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |