29.10.2011 г.
Исправлены баги с формой,
Добавил кнопку "Ctrl+Z ПЕРЕОТКРЫТЬ ОБРАБОТКУ" (СПАСИБО ShantinTD http://infostart.ru/public/96548/)
Не протестировал соединение с базой в клиент-серверном варианте, нет времени. Сделаю чуть позже или может кто протестит, буду благодарен (напишу СПАСИБО большими буквами :-))
12.10.2011 г. — Добавил подключение к v.7.7
08.10.2011 г. — Добавил выбор баз и авторизацию + улучшения по мелочи
Наконец-то дошли руки доделать эту обработку. Ничего нового, просто небольшое удобство в работе.
Обычно, когда нужно было подключиться к другой БД (v.8) и функционал подключения и функционал собственно необходимых действий я писал в одной обработке. Алгоритм действий в этом случае был такой:
- создать обработку, написать необходимые функции/процедуры,
- запустить обработку (в пользовательском режиме),
- подключиться к нужной БД,
- запустить на выполнение нужную мне процедуру/функцию
- если ошибок нет, то все хорошо. Если есть ошибки или нужно что-то доделать, то п. 6
- отключиться от БД
- записать изменения в конфигураторе, сохранить и снова с п. 2 по п. 5
Но, так как отладка чаще всего состоит из большего количества итераций, чем мне хочется,то рутинные действия ПОДКЛЮЧИТЬ БД-ОТКЛЮЧИТЬ БД просто задолбали. В результатеродилось такое маленькое решение разделить одну обработку на две.
-
Обработка №1 (это та, которую Вы можете скачать) подключается к нужной БД,сохраняя ссылку на БД в переменной База.
-
Обработка №2 (эту обработку Вы создаете сами, пишите в ней чего Вам нужно) запускается из обработки № 1.В обработке №2 должен быть реквизит База (реквизит обработки или реквизит формы).
Алгоритм действий в этом случае был такой:
- создать обработку №2, написать необходимые функции/процедуры,
- запустить обработку №1 (в пользовательском режиме),
- подключиться к нужной БД,
- запустить обработку №2 из обработки №1
- если ошибок нет, то все хорошо. Если есть ошибки или нужно что-то доделать, то п. 6
- закрыть обработку №2
- сделать изменения в обработке №2, сохранить и снова с п. 4
Т.е. обработка №1 все время остается открытой с постоянным подключением к БД
Протестировал. Работает. Только убери пользователя «Гл бух» — вылезает вне зависимости от того какого пользователя набираешь. Закомментируй строчки в коде.
Как насчёт режима отладки при com-подключении, им можно рулить и в нём работать?
(2) да
(1) спасибо, исправил
спасибо, воспользуюсь данной обработкой, плохо что здесь сделали ограничение на скачивание через 1$, совсем не удобно! верните обратно плиз, раз в день, очень прошу.
Клевая вещь, огромное спасибо!
Хорошая вещь, только долго будет бесполезная для меня и многих, нет у меня ваших денег. 🙂 Придется 10 раз выражать одобрение или негодование тому, что в глаза не видел. Интерес к сайту сразу упал.
Спасибо за идею лежало на поверхности а сам не допер
Спасибо автору, воспользуемся.
(6) ребята, у меня тоже нет Ваших денег, а хотелось бы … 🙂
пишите в личку (andrey_k65@mail.ru), отправлю
Автору огромное спасибо очень помогло
Плюсану, и безпонтовый пост оставлю. Ох, уж эти инфорублики (((
(11) инфорублики — это что, Инфостарт за скачивание бабки берет?
если да, то прикольно… а сколько?
Идея безусловно интересная. Но я лично подключаюсь в таких случаях прямо из обработки по параметрам введенным на форме (сохраняются в настройках). Вроде не сильно напрягает такой вариант. Разве что дольше на 5-10 секунд
(13) до какого-то времени и меня не напрягало, но последнее время что-то у меня переносов и корректировок через OLE стало больше и не всегда ПОДКЛ-ОТКЛ это 5-10 сек. Иногда и 20-40, а когда это по 40 раз во время отладки, то достает немного.
(12)http://infostart.ru/profile/purse/ раньше было бесплатно раз в день, или с рейтингом больше 30. Теперь же на скачивание опубликованного кем-то чего-то требуется 1 стартденьга. Накапливается за счет сообщений и публикаций. Где-то здесь видел информацию по этой теме, но не помню. А искать недосуг сейчас.
(9) За идею «+». Думаю очень пригодится в работе.А за открытость автора к диалогу «+++».
(12)(15)http://forum.infostart.ru/forum17/topic41628/
(17) Очень хорошо все там написано, особенно:
<<…Поэтому будьте вежливы и уважительны в общении, вне зависимости от уровня знаний и специализации
собеседника …>>
Помню еще год-полтора назад всё было несколько не так, некоторым (близким к императору) позволялось
многое… Искренне рад, что теперь всё по другому.
(18) Посмотри на посты Поручика. Уж очень он любит
сначала сказать, потом исправиться 😀Идея хорошая. Надо бы такое-же применить для Предприятия 7.7. Хотя раньше в 7.0 и 7.5 использовал загрузить текстовый файл программы в модуле. Сейчас и компьютеры мощные появились и загрузка Предприятие 7.7 быстро происходить и кеш используется при повторной загрузки. А для Предприятия 8 — это актуально (примерно 5-10 сек), особенно для отладки.
Недавно как раз боролся с V8comConnector. А тут готовая обработка.
Спасибо, помогает в повседневной работе программиста!
Да автор молодец — я до аналогичного удобного интерфейса тоже дошел, но т.к. не часто юзаю ОЛЕ то и потребности в буфферизации не было, но будем иметь ввиду.
Часто работаю с СОМ, хорошая идея, спасибо.
еще приделать выбор баз (как тут:http://infostart.ru/public/16628/ ) — было бы еще лучше
Спасибо! классная вещь!
гут, полезная штука
(24) — добавил выбор баз и авторизацию
http://infostart.ru/public/16628/
Большое спасибо Rebelx за
Спасибо за Труд! Сам думал, что-нить в этом роде сделать — руки не дошли!
Спасибо за Труд! Сам думал, что-нить в этом роде сделать — руки не дошли!
Все замечательно! А зачем указал в каких конфах может использоваться?
Попытался соедениться с Альфа-Авто (8.1) по V81.Application, пишет ошибку:
{Форма.ОсновнаяФорма.Форма(340)}: Ошибка при вызове метода контекста (ПолучитьПользователей)
МассивПользователей = База.ПользователиИнформационнойБазы.ПолучитьПользователей();
по причине:
Произошла исключительная ситуация: Пользователю недостаточно прав для выполнения операции.
И сделал бы запуск побработки 2 интуитивным, чтобы догадаться пришлось лезть в код
Да и кнопка открытия маленькая, нервирует
(30) Спасибо.
Убрал ссылки на конфигурации
Добавил кнопку «ОТКРЫТЬ».
А нельзя ли простенький какой нибудь пример обработки для подключения из v8 в v77 ? Например перебор документа какого нибудь вида? Язык будет 7.7 или 8 ?
спасибо большое!!! наконец-то нашел обработку нужную для 8.2!!! очень помогло в начинаниях разбирания внешних обработок 1С:)
спасибо большое!!! наконец-то нашел обработку нужную для 8.2!!! очень помогло в начинаниях разбирания внешних обработок 1С:))
Хорошая вещь!
Отличный пример! Спасибо!
Спасибо!
Tnk!
Спасибо! 8,2 работает!!!
Автор давай ликбез! Чем подключение через СОМ отличается от Application?
У меня на рабочем ПК не работает СОМ соединаени, не знаю почему, комп уже такой был когда я за него сел, где что смотреть х.з., а про Аpplication что-то вобще не вспомнил кода понадобилось. Так что давай кратко и о главном 🙂
(40) Misanets,
http://v8.1c.ru/overview/Term_000000633.htm#1
http://v8.1c.ru/overview/Term_000000632.htm
http://ru.wikipedia.org/wiki/Component_Object_Model
1)
2)
3)
Вообще че попало обработка. Попробовал COM-соединение к 8.2 подключится, ни черта не работает. Формы плавают. Интерфейс ниже плинтуса. Ошибки при нажатии на любую кнопку, надо же их отрабатывать.
(42) Kyrales, Ну с одной стороны, спасибо за критику, какой бы она ни была.
Разберусь.Исправлю.На выходных.
С другой стороны, приятно порадовал Ваш дружелюбный тон, очень выдержанный,
сразу видно воспитанного человека. С ним хочется конструктивно сесть за стол переговоров и в
доброжелательной атмосфере решать вопросы. Заодно набраться опыта, общаясь с человеком, не допускающим
ошибок. 🙂
For all! Эта обработка — всего лишь пример для всех, кому это может пригодиться.
Не коммерческая. Выкладывается «как есть». Посмотрите. Нужно — подправьте под себя.
Причем, КАК ХОЧЕТСЯ.
Интересная обработка!
Спасибо автору, воспользуемся.
(43) Я фиксирую факт, который есть на текущий момент. Если она у тебя тестовая, не надо её никуда выкладывать и лучше держать при себе.
Если Вы фиксируете факты, то с одной стороны, спасибо Вам за это.
С другой стороны, и фиксируйте себе дальше.
И позвольте мне решать, что выкладывать и где держать, и Вам того же желаю. Это называется свобода. Если ребята выкладывают здесь что-то, а другие им подсказывают об ошибках или неточностях, то это как-бы «один воин поправляет другому доспехи» и с такими ребятами и в разведку можно.
Ваш менторский тон вызывает только аналогичные Вашему тону чувства.
Сильный (например, в программировании) — это не обязательно человек, который разговаривает так, как Вы.
Я просмотрел Ваши обработки и Вы не найдете ни одного моего высказывания о них в том тоне, в котором это позволяете себе Вы. И не потому что сказать нечего. Но я уважаю Ваше право творить, программировать и т.д.,
и мне трудно будет уважать себя, если бы мои высказывания были подобны Вашим. Извините.
(0) Незнайка, у Вас в заголовке публикации есть строка: «( СПАСИБО alexk-ishttp://infostart.ru/public/96548/ )».
Вообще-то автором публикации «Кнопка переоткрытия внешней обработки для 8.2» является ShantinTD. За что спасибо alexk-is — не понятно… 🙂
(49) mtv:), Спасибо, исправил. Приношу извинения ShantinTD
Идея интересная, но я думаю что для полного набора не хватает еще добавить коннект с 7.7 получился бы такой швейцарский набор… Пожалуй сделаю чтото подобно для себя. Спасибо!!!
(51) nitr02k, да вроде есть коннект с 7.7….
справа вверху переключатель 5 (V77.Application)
Отличный пример! Спасибо!
Хорошая вещь главное удобная и простая!
огромное спасибо!
Огромное спасибо автору. Как пример, данная обработка мне очень пригодилась. Интерфейс понятен и удобен.
СУпер! особенно когда понять не можешь с чего начать и как пользоваться, а созданные кем либо примеры всегда облегчают работу!
Скачал как пример..
Надо написать обмен по ОЛЕ между базами 8.2
Т.ч. плюсую авансом 🙂
Отличная обработка, удобно красиво наглядно. Есть небольшое предложение добавить массовый перебор из папок: указываем папку с базами, и обработка поочередно подключается к каждой.
Пытаюсь подключиться к базе методом COMCOnnector, не подключается и пишет «БД НЕ ПОДКЛЮЧЕНА!»
Что делаю не так?
Скачал, посмотрел «+» отправил. Общее замечание для тех, кто(как и я) ставит платформу в «свои каталоги» — обработка работать не будет — библиотека не регистрируется = выход: переставляйте платформу в каталоги с АНГЛИЦКИМИ буквами. «проверено — мин нет». Переделал обработку под 8.2 управляемые — проблема = после подключения рвет соединение — если ссылку на подключение «Ваза» хранить на сервере, то после выполнения подключения форма удаляет серверные переменные и ссылки, а если на клиенте — не будет работать такое подключение дальше….. Я решил — все работает, как надо (хвастаюсь). Не понятно = 77 и 81 работают правильно, а 82 открывает подключаемую базу — (я один такой, или еще есть «особо одаренные») — вернее всего проблема в строке подключения… Кстати, в Вашей обработке для 77 немного неточно — выводится окно авторизации = добавьте в строке подключения «/M /N» + Пользователь,». Не стоит пытаться при подключении к базе «выдирать» пароли пользователей обычным способом — их там нет = выход — «тырить» их когда пользователь вводит пароль в поле «Пароль» или искать где они хранятся в файлах базы. Если надо обработку — пишите С уважением, дата, подпись
PS да и еще: по команде отключения от базы (если в программе стоит защита от выключения) обработка вешается напрочь = решение= добавить в процедуру отключения: Если Объект.ТипПодключения <> 5 Тогда
База.ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;
Уважаемые коллеги, вижу тут знатоки OLE собрались.
Возникает в последнее время такая проблема.
Подключаюсь по OLE из 8.2 к 7.7, либо из 7.7 к 7.7
Могу с обычного компьютера, могу на сервере.
И бывает, вывалится обработка с ошибкой, к примеру какой-либо код не отработал.
После этого закрываю открытую базу OLE в диспетчере задач.
И снова к ней подключиться уже не могу до перезагрузки сервера (или компьютера)
Выгрузки за день производятся по многу раз. Код уже отлажен, и ошибок 1С нет.
Но иногда приключаются форс мажоры в виде транзакций на SQL и подобные.
И тогда спасает только перезагрузка.
Может кто-то в курсе, где что нужно проверять?
Заранее спасибо за помощь.
(63) OrsoBear, OLE-служба сервера 1С глючит.