Related Posts
Получение логина и пароля техподдержки 1С из базы
Класс для вывода отчета в Excel
Счет-фактура для УПП
Библиотека классов для создания внешней компоненты 1С на C#
Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
Прайс-лист с артикулом в отдельной колонке
В тексте публикации эта фраза присутствует два раза. Я бы подредактировал. Плюс за идею.
(0) Прикольно. Старые технологии возвращаются. Я такую штуку сделал в 1995. Но у меня в таком режиме выполнялись не только операции чтения, но и операции записи.
я вот одного не пойму, не проще ли было использовать терминальные подключения?
Если есть отдельный компьютер на котором стоит база, то почему бы и не развернуть на нем и Sql сервер и сервер приложений? Он как раз для этого и нужен. Вы изобретаете, то, что 1С уже сразу сделало.
(4) про 42 тысячи на ключ для сервера 1с и про цену SQL сервера (ладно, пусть будет IBM бесплатный, не будем считать) вы забыли? Я изобретаю, потому что не все готовы платить 42 тысячи за удовольствие.
(3) терминальные подключения также стоят денюжок… Примерно тех же самых.
(5) а разве Linux уже отменили? 😉
(6) мдя, советнички…
А что, сервер 1С:Предприятия под линукс бесплатный? Те же 42 тыщ. А без сервера 1С:Предприятия 1С с SQL работать не умеет.
(7) насколько я в курсе — до 12 пользователей в Linux-версии серверный ключ не требуется. требуется только наличие клиентских лицензий. к сожалению, не могу никак найти инф.письмо на этот счёт. (( если кто знает где это прописано — подскажите, плз.
(8) q_i,
Это «недокументированная возможность» 🙂
Ключ не требует, но юридически это нельзя делать 🙂
(9) гыгыгы, о чем и рэчь.
(9) GreyJoJo, это 100%?
(11) q_i,
100%
Этот вариант был потенциально зарезервирован для более дешевых лицензий.
в 8.2, по-моему, уже не работает.
(12) GreyJoJo, работает.
(0)
Все гениальное — просто! 😉
P.S. Жаль, что так и не удалось посадить файловую версию «восьмерки» на простую клиент-серверную СУБД. 🙁
Было бы дешево и сердито… 😉
Поддерживаю разработку и автора. В регионах особенно не любят платить за клиент-серверный вариант. Думаю, в скором времени не пригодится, так как ухожу в крупную организацию, где такой проблемы стоять не будет. Но на заметку возьму.
(14) как то стремно, что между мелким и крупным нет среднего варианта и шаг между ними — 42 штуки…
(15) дык идея вознила из практики. не знал только, можно ли сериализовать РезультатЗапроса. Оказалось, можно, и это клево…
(16) деньги можно у автора поспрашивать, в отдельной специальной ветке для этого… 😉
(0)Как говорится — Все гениальное — Просто!
Взял на заметку. Мне как раз нужно что то подобное реализовать, только не с запросами.
По-моему задача средствами COM+ проще решается. Без обёртки не зарегистрируется, но обёртка это 5 мин, да и была вроде уже на инфостарте. Будет 1С запущенная на другом компьютере — по сути «сервер».. как в 8.0 если кто помнит…
(19) что вы подразумеваете под оберткой? тут болтается без ответа мой вопрос, как создать Ком-объект 1с на другом компьютере. Есть заморочка с правами доступа для этого. А так конечно, проще было бы через КОМ создавать, управлять и не городить менеджеров запросов. 😉
(17)
Сергей (fixin).
Думаю, на самом деле больше чем «42 штуки»(с). Учитывая железо, ОС-ы, квалификацию поддержки и т.д. А средний вариант «существует» по смыслу. Разработчикам 1С-а ОНО совсем не надо — и так успешно продаётся.
Я всё ношусь с идеей сделать двухуровневую схему. Для этого существует подходящая простая клиент-серверная СУБД под интерфейс взаимодействия 1С-а со своей файловой СУБД-ой. Но, я один уже не смогу эту задачу поднять… 🙁 А супер-спецы нашего сообщества не проявляют интереса к подобным задачам. Печально и странно… 🙁
(20) «на птичьем» обёртка это ещё одна компонента, которая просто возвращает «нашу» компоненту, нужна только для поддержки интерфейсов COM+… ну или проще .net.
COM+ собственно и нужен для создания объектов на удаленном компьютере.
Вот тут человек вроде всё сделал и описал даже как и что работает…
(21) че то не понимаю, как вы это хотите сделать? формат то 1с файловый закрытый и раскрывать они его не собираются… Да, жаль, что в 1с есть только бюджетно и плохо (файловый) или скульно и дорого (сервер 1с)
(22) ха, ничего себе проще, внешнюю компоненту написать. И ксати, насколько я понимаю у товарища речь о поддержании ком-соединения на одном и том же компьютере. А для ускорения нужно создавать ком-объект на компьютере с базой, а не на компьютере-клиенте. Возможно, но из-за идиотизма мелкомягких с правами нереально.
про 42 тысячи на ключ для сервера 1с и про цену SQL сервера (ладно, пусть будет IBM бесплатный, не будем считать) вы забыли? Я изобретаю, потому что не все готовы платить 42 тысячи за удовольствие.
(23)
😉 Вот так:
(23) Да не… там пул соединений COM+ о поддержании соединения сам позаботится. В статье просто общая методика описана, вцелом задачу создать и поддерживать COM соединение на одном компьютере это решит.
Там не совсем внешняя компонента — просто маленькая библиотечка со стандартным шаблоном. По факту — «3 строчки кода». С правами есть заморочки… но ещё когда сервер 8.0 настраивали все привыкли вроде…
(25) все равно не понял, что вы имеете ввиду, там про 1с77 как бе. а там был ДБФ а не 1СД.
(26) создавать ком-объект на текущем и удаленном компе — это две большие разницы как бе… гыгыгы…
Доброго дня. А разве вот эта публикация не описывает тот же функционал, но двумя годами ранее?
(28) Там возвращается только текст, а тут результат запроса. Две большие разницы.
(27)
Нет никакой разницы «ДБФ а не 1СД»(с).
Подмена «движка» полностью, а не доступ к существующему формату данных.
Кроме всего, еще и снимается ограничение на размер БД.
Да. Есть разница в 7.7 или 8.х в сложности «вскрытия» интерфейса. И только — в этом.
Но, после появления у меня прибавилось надежды на возможность такого решения. 😉
(28) там усложненная схема. нужно брандмауэр настраивать и прочее, из-ха ХТТП протокола. теоретически можно и результат запроса возвращать, сериализовав, но это надо докручивать. Хотя может и эффективнее выйдет, не знаю.
Я реализовал просто и дубово — бери и пользуйся.. ускоряйся.. 😉
(30) все эти препарирования с точки зрения закона незаконны и по сути выглядят аналогом использования эмулятора 1с.. так что не катит. Проще свою 1с написать.
(31)
По поводу законности — вопрос открытый. Я привел ссылку выше. Та разработка не нарушает никаких законов. Возможно она нарушает лицензионные соглашения. Которые как раз и нарушают законы. 😉
По поводу «эмулятора 1с»(с) и «Проще свою 1с написать»(с) теперь я ничего не понял. Ваше текущая разработка больше напоминает эмулятор, чем подмена «движка». Для подмены «движка» пользователь изменяет в своей системе ОДИН символ. 🙂
(26) comol, После настройки разница в 1 параметре функции 🙂
(29) dagroma, (31) fixin
Ммда, слона-то я и не заметил. Обвинения сняты ))
(31) Схема там может и усложненная, но более гибкая. Сериализацию ответа можно легко реализовать. Плюс не вешает сеанс 1C:Предприятия с процессором и дает возможность запускать «сервер» на компьютере, расположенном на другом конце света.
Хотя, конечно, согласен он более ориентирован на разработчиков, чем на… бери и пользуйся… 🙂
(35) у вас цель другая — моя цель ускорить выполнение запросов. Поэтому запрос должен выполняться на центральном сервере, там, где база данных находится. По сути это аналог терминального доступа. Ваша сентенция про «другой конец света» тут неуместна. Не для этой задачи.
Не спорю, вашу приблуду можно заюзать для ускорения. МОЖНО а у меня уже ГОТОВО. Сделаете ускорение, по аналогичной моей схеме — не вопрос, пусть пользователи выбирают. Пока же у вас ускорение еще не готово. Но потенциально может быть сделано, не спорю. Только смысл ковыряться с настройками брандмауэра, установкой чужих внешних компонент, если то же самое может быть сделано и нативными (встроенными) средствами, как это сделал я?
(36) Смысл есть, если задача стоит по другому. Про похожесть диспут вы начали, а не я 🙂
(37) ну тогда замнем, раз всё понятно.
(23)
Все реально. Com+ Он же DCom. Настраивается все очень просто. Если сеть доменная нужно только настроить доступ к компоненте для групп, в которых пользователи напиханы. если не домен, то просто продублировать пользователей, хотя скорее всего они и так продублированы. Ну или настроить доступ для гостевой учетки.
(39) у нас сеть не доменная, ничё? Было бы логично настроить доступ к созданию конкретного объекта по логину-паролю (не пользователя, а именно для этой операции), но мелкомягкие до этого не догнали…
(40) В том то и дело, что по логину и паролю не совсем удобно, по крайней мере мне,
Настроил один раз гостевой доступ и все — все работают (всё работает).
Я подобным образом использую автоматизацию с системой traffic inspector.
Кстати у них на сайте тоже есть информация как настроить Com+. Не рекламы ради — Настройка доступа по DCom можно почитать до 4 пункта включительно. Далее идет уже конкретика.
В своем коде просто пишем следующее
А если сделать для своего объекта инсталятор прокси, то адрес сервера можно не использовать.
Как сделать инсталятор написано в публикации
(41) почитаю, конечно. Идея использовать удаленный COM-сервер присутствовала изначально. Но в бездоменной сети до сих пор у меня не получилось создать COM-объект 1С удаленно. Это говорит не столько о моих кривых руках, сколько о том, что задача не тривиальна, т.е. нужно ковыряться в тонкостях доступа винды, а они могут быть в каждой версии ОС свои. Как-то так. Поэтому мне больше нравится моё нативное решение.
(21) это уже есть в УФ. Можно файловую базу поднять на вебсервере
(43) я в курсе про 82 (можно и через тонкого клиента быстро гонять), но не забудьте еще переписать все формы на управляемые, если чо…
Слишком велики затраты для случая базы 1с81. А тут дешево и сердито как бе.
(43)
Роман (MRAK).
Я не понял ЧТО есть в УФ? Или Вы ошиблись номером сообщения?
(45) в управляемых формах есть возможность выполнять весь код на сервере, оттого и название — тонкий клиент.
то бишь там задача ускорения выполнения для файловых баз данных не стоит — все выполняется на сервере и так.
(46)
Сергей (fixin).
Спасибо за разъяснения. Теперь я буду знать что такое тонкий клиент. Всегда хотел об этом узнать. Но боялся спросить… 🙂
Попробуйте вникнуть в то, что я выше написал. Мне интересно Ваше мнение и Ваше «понимание» моего предложения.
(47) а, вы всё буквоедствуете?
Просто товарищ мрак сказал, что вместо набора файловая база + терминальный доступ можно использовать файловая база + тонкие клиенты.
Конечно же, Мрак не имел ввиду, что есть двухуровневая система СУБД + клиенты, всегда есть СУБД + сервер 1С + клиенты, к сожалению.
(48)
Сергей (fixin).
О чем Вы? Какое «всё буквоедствуете» ?
Вопрос был поднят конкретный. Про возможность наличия двухуровневой архитектуры. Чтобы не писать: «к сожалению»(с).
А вообще возник вопрос — а нельзя ли сделать свертку базы?
Т.е. я сомневаюсь что им нужна развернутая история за последние 100лет 🙂
Ну и к тому же — лицензии на рдп не такие уж и дорогие…
Согласитесь, что и когда то ваш механизм им не поможет, и таким образом они просто один раз заплатили вам, и все равно через год или два — им нужен будет сервер 1С. Т.е. вы не решили проблему, а вылечили последствия.
+ никто не отменял распределенную базу, опять таки с выгруженными данными за последний период…
Решений много.
А менять во всех запросах структуру подключения и выполнения — ну уж очень стремно 🙂
(49) ну да, я несколько неточно ответил.
Ибо двухуровневка 1С — это просто фантастика. Вы хотите весь серверный код 1С переписать в хранимки DB/SQL/Oracle? Слишком уж трудозатратной поддержка окажется, не находите? На порядок, а то и в 100 раз трудозатратнее, чем на данный момент.
Поправьте, если ошибаюсь.
P.S. Сам пару лет поддерживал и дорабатывал учетные системы на Oracle/PL SQL…
(51)
Роман (MRAK).
В (25) и (30) сообщениях есть ссылки. Ничего переписывать не требуется. Есть такой термин — «подмена движка». Т.е. файловая версия «будет» работать с другой СУБД в клиент-серверном режиме. Два уровня…
(52) подменить движок еще нужно, этого счас нет. Это раз. Во-вторых это противоречит лицензии 1с, а следовательно нелегально. Это два. Безперспективно.
(50) вы хотите сказать, что я продлил их агонию? Возможно, возможно. Но это оперативное и быстрое лечение. Если у клиента нет 42 000, это означает, что ему нужны быстрые и дешевые решения. 😉
Подрастет — и базу обрежет и сервер купит и период закроет. 😉
(53)
Сергей (fixin).
Спасибо за Ваше мнение. Хотя, у меня складывается впечатление, что Вы на мои вопросы-интересы посмотрели в контексте «оперативное и быстрое лечение …. нужны быстрые и дешевые решения»(с). Т.е. слишком узко-конкретно… 🙁
(55) именно. свертка базы — процедура дорогая и длительная. А вот ускоритель запросов — если он уже написан — берешь и пользуешься. Ну даже если не написан, написать то было недолго…
Вот у меня грыжа, например. Можно лечить оперативно, но это долго, нудно, с неизвестными последствиями. А можно мануалкой и иголками периодически подлечивать. И ниче, терпимо. Так и здесь.
И все таки непонятно. Почему не использовать терминал-сервер, зачем изобретать велосипед? Какие деньги за терминальные подключения ? Если куплена система Windows 2003 сервер, я что, еще отдельно за терминальные лицензии должен платить ? Они же регистрируются бесплатно, с использованием ключа системы. Или я просто не в курсе ?
работа программиста по переписке отчетов на подобную схему дороже чем покупка сервера 1с по совокупной стоимости владения. этот факт.
но идея норм.
хотя и очень старая:
Соглашусь с предыдущим комментарием. Ладно, если самописные отчеты. А если типовая конфигурация нуждается в ускорении. Придется снимать с поддержки, на что не всегда пойдут клиенты, и куча работы, потом еще все переносить… Ой не знаю, хотя как выход в отдельных случаях может пригодиться.
(58) ничто не ново под лун(с)ой. Главное, заметить новое применение имеющимся старым вещам. Не смотрел вдумчиво обработку по ссылке, показалась не интересной, извини.
Ну почему дорого? берем готовый ускоритель, 2 часа на изучение, 2 часа на внедрение затычек во все места кода (обычно не очень много тяжелых запросов). 1 час на обучение.
5 часов * 1500 = 8500 рублей. Сравни в 42 тыщами. И то, это максимальная оценка, если через франчей, а не фрилансов.
(57) похоже ты все же не в курсе. К тому же с чего ты взял, что куплен MS Server? Конкретно в моем случае было 5 машин на Вынь-ХР и 5 пользователей соответственно. На одной из машин лежала база. Вот и все.
(59) бугога. Заменить вызов одного метода Выполнить на другой — офигенно тяжелая работа. Добавления модуля в конфу с поддержки не снимает…
(60) внимательно смотрим на фразу «совокупная стоимость владения»
помимо запросов есть еще и участки тяжелого кода (расчет себестоимости например, разузлование), а есть еще скд.
со временем конфигурации имеют свойство меняться.
так что, гораздо проще купить один раз софт который сведет на нет проблемы со скоростью.
тем более что очень часто в файловых тормоза из-за взаимоблокировок, а эту проблему обходными путями не решить.
(62) лунс не усложняй. в моем случае тормозило всего 2-3 запроса, но существенно. Это были запросы на чтение. Запись там была эпизодической и редкой.
Работы по написанию и отладке менеджера заняли часов пять, внедрение в код — меньше часа.
Эти шесть часов обошлись по абонентке клиенту намного дешевле, чем 42 тыщи.
Так что как говорится случай бывает разный. Не надо из пушки да по воробьям.
(8) q_i,
ОГО! Полезная инфа, я уже готовил бабло :)…
(64) пират! 😉
(64) с юридич. точки зрения не имеет значения используете вы вариант, описанный в 8, или поставили взломанный сервер, вы одинаково нарушаете закон
(64) gorodok11, мы отправляли по этому поводу запрос в 1С, но там нас послали … читать FAQ по лицензированию, в котором (конечно же) данный вопрос не рассмотрен. в общем на текущий момент у меня нет 100% инфы что использование сервера подобным образом легально. впрочем у меня также нет и 100% инфы что оно нелегально, хотя многие в этой ветке утверждают, что это так (причём утверждают с такой уверенностью, что я даже уже начинаю им немного верить).
(67) q_i, (66) cool.vlad4, (65) Вы меня окончательно запутали ;). Сейчас в базе работают 10 ю-зверей, но скоро будут около 30-и. «Пузо» стремительно растет, поэтому рассматриваю вариант установки сервера на DB2. Так что
лавэ, зелень, и прочая траваденьги будем наскребать на серверную лицензию по любому :).Друзья, прошу подсказать… «пробег» по комментариям ответа не дал. Поможет ли эта обработка в следующей ситуации…
Файловая база обьем под 16 гигов. Пользователей 10-15. Поползли взаимоблокировки при проведении Расходных/приходных накладных.
Конфигурашка УТ 10.3 с доп. Модулем Агент+ для выгрузки для торговых агентов.
Замер производительности показывает, что блокировки возникают при запросах при проведении вышеуказанных документов.
(70) вряд ли поможет. переключите конфу в режим управляемых блокировок и настраивайте блокировки. или создайте очередь проведения в центре..
а зачем? имел удовольствие наблюдать «надежность» работы файловой версии, скажу откровенно, ну ее в баню…
(73) потому что дешево и сердито
Честно сказать не понятно, если этот метод решает вопрос с самым узким местом в системе, почему я про него не слышал? Надо надо, срочно посмотреть.
А все понял, невнимательно читал, такой метод, нам не очень подходит, сразу читать надо было и про файлы и про пимменеджер