Как настроить 1с 7

Обновлено: 06.07.2024

Настраиваем 1С Предприятие 7.7 для работы с SQL Server 2000

Одним из способов повысить быстродействие 1С Предприятия 7.7, особенно при работе с большими базами, является переход от файлового режима 1С к использованию SQL сервера. Несмотря на то, что оба продукта уже заканчивают свой жизненный цикл, данная тема остается довольно актуальной. В данной статье мы рассмотрим практическую настройку сервера для работы 1С Предприятия совместно с SQL Server 2000.

Немного теории, или что нам дает SQL?

Перед тем как браться за реализацию проекта, необходимо усвоить базовый объем знаний и твердо знать ответы на следующие вопросы: в чем основное отличие файлового и SQL вариантов работы 1С Предприятия, от чего зависит быстродействие в обоих случаях и какие требования предъявляются к оборудованию и сети. Непонимание этих, в общем то простых, вещей приводит к тому, что переход на SQL версию 1С не приносит желаемых результатов или вообще, результат противоположный ожидаемому.

Рассмотрим работу 1С в режиме разделения файлов. Вся обработка информации производится на рабочей станции, сервер играет роль общего файлового хранилища. Основные требования к такому серверу: быстрый жесткий диск и отказоустойчивость дисковой системы (обычно реализуется RAID 1, реже RAID 10). Обычно такой "сервер" представляет из себя обычную бюджетную машину с RAID контроллером и гигабитным сетевым адаптером.

При выполнении операции (отчета, обработки и т.п.) часть базы или даже вся база закачивается по сети на рабочую станцию, где уже и выполняется вся необходимая обработка данных. От чего зависит быстродействие в данном случае? В первую очередь от мощности рабочей станции и пропускной способности сети, более мощная машина будет более быстро строить отчеты и выполнять проводки.

Еще одним важным параметром является размер базы данных, с ее ростом выше некоторых пределов быстродействие начинает падать в геометрической прогрессии. Основным узким местом становится пропускная способность сети, а основным фактором влияющим на быстродействие и определяющий критический размер базы является количество активных пользователей.

Наш практический опыт показывает: для небольших рабочих групп (5-10 пользователей) критический размер базы начинается от 200-300 Мб. Бороться с этим можно увеличением быстродействия сети и оптимизацией потоков трафика в организации или ежегодной (ежеквартальной) сверткой БД.

Однако свертка это не выход, для нормальной работы торгового предприятия необходимы данные как минимум за текущий год, да и данные прошлых периодов также бывают частенько нужны. Вложения в расширение пропускной способности сети себя как правило не окупают, размеры БД и объемы трафика в сети растут намного быстрее, особенно если руководство решит "немного" расшириться, на 1-2 рабочих места.

Теперь посмотрим как обстоят дела в SQL варианте. Вместо таблиц все данные хранятся в одной SQL базе данных. Теперь рабочая станция передает на сервер короткие запросы, которые полностью обрабатываются на стороне сервера и рабочей станции возвращается конечный результат запроса. Это позволяет снизить трафик в разы и во столько же раз повышает нагрузку на сервер. К быстродействию рабочих станций особых требований не предъявляется, также будет вполне достаточно обычной 100 Мб сети.

Хотя следует помнить, что 1С Предприятие 7.7 для SQL довольно неоптимально и не использует многие возможности SQL сервера, поэтому часть данных обрабатываются не сервером, а рабочей станцией и в случае работы с емкими отчетами и обработками быстродействие рабочей станции тоже будет играть не последнюю роль. Основная же нагрузка ложится на сервер.

Распространенная ошибка - использование в качестве SQL сервера того же железа, что использовалось в качестве файлового сервера. Можно с уверенностью сказать, что результат будет противоположен ожидаемому. Если сразу пять пользователей запустят формирование отчетов, все эти пять отчетов будут формироваться сервером, следовательно вычислительных ресурсов сервера должно хватать для одновременной обработки запросов сразу от всех пользователей. Объем оперативной памяти должен быть достаточным для того, чтобы в нем полностью помещались SQL базы, также базы желательно вынести на отдельный от системы и других данных жесткий диск (дисковый массив), чтобы избежать конкуренции за доступ к головкам жесткого диска.

В случае совмещения SQL сервера с сервером терминалов на одной физической машине следует удостовериться, что ее ресуров достаточно для одновременной обработки запросов SQL сервера и клиентских приложений 1С, а оперативной памяти достаточно как для SQL сервера, так и для пользовательских приложений. В любом случае желательно ограничится выносом в терминал только 1С, прочие приложения желательно оставить на рабочих станциях, либо разнести сервер терминалов и SQL сервер по отдельным машинам. Также нежелательно совмещать на одном SQL сервере несколько объемных 1С баз. Как показывает практика, бывает дешевле купить под вторую базу отдельный сервер, чем покупать мощный сервер сразу под все базы.

Подведем краткие итоги. Основные преимущества SQL сервера раскрываются при работе с базами большого объема, в тоже время нет никакого смысла переводить на SQL небольшие базы с малым количеством пользователей.

От теории к практике. Установка SQL сервера.

Установка MS SQL Server 2000 проста и незамысловата, однако уже на стадии установки необходимо указать несколько отличных от установки по умолчанию параметров, необходимых для нормальной работы 1С. Платформой для установки сервера будет Windows Server 2003 SP2. Если вы устанавливаете версию SQL сервера с пакетом обновления ниже чем SP3, то система выведет вам грозное предупреждение, что устанавливаемая версия несовместима с системой, которое можно смело проигнорировать, практика показала - все работает прекрасно.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-17-30.jpg

Далее, в процессе установке принимаем все значения по умолчанию пока не дойдем до экрана Services Accounts, здесь устанавливаем переключатель в положение Use the Local System account

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-21-07-19.jpg

На следующем экране выбираем вариант Mixed Mode и вводим пароль для пользователя sa, от имени которого мы будем подключаться к БД.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-34-20.jpg

Остальные параметры оставляем по умолчанию. По завершению установки желательно обновить SQL сервер до последней версии, установив SP4 (скачать). Установка SP4 производится со значениями по умолчанию, кроме параметров соединения с сервером, здесь переводим переключатель в верхнее положение и вводим пароль для sa.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-22-33-41.jpg

Настройка 1С Предприятие

Теперь, когда SQL сервер установлен и готов к использованию необходимо настроить 1С Предприятие. Напомним, что для работы с SQL сервером необходима отдельная версия 1С для SQL. Для успешной работы с SQL сервером в базе 1С должен быть заведен хотя бы один пользователь. Далее загружаем целевую базу в конфигуратор и производим выгрузку данных через Администрирование - Выгрузить данные.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-45-42.jpg

После чего создаем заготовку будущей БД, для этого в отдельную папку копируем все папки из рабочей базы данных и все файлы кроме файлов конфигурации и таблиц (V7Plus, библиотеки для работы с торговым оборудованием и т.п.)

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-47-57.jpg

Следующим шагом необходимо создать новую SQL базу для хранени наших данных. Для этого запускаем Enterprise Manager.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-49-43.jpg

На первой закладке открывшегося окна вводим имя создаваемой базы, вторая и третья закладка определяют пути хранения файла БД и файла лога транзакций. По умолчанию предполагается их хранение в папке установки SQL сервера, однако желательно хранить их в отдельной папке рядом с базой 1С (желательно на отдельном жестком диске или на отдельном разделе).

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-50-46.jpg

Создав базу, подключаем папку с заготовкой в качестве базы 1С и загружаем Конфигуратор. На вопрос выбора формата хранения данных указываем MS SQL Server, в Конфигураторе выбираем Администрирование - Параметры базы данных SQL и заполняем поля.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-51-25.jpg

В качестве сервера указываем сетевое имя машины, его можно подсмотреть в SQL Server Service Manager, щелкнув на значке в трее рядом с часами. В поле База Данных вводим название базы, которое мы указали при ее создании в Enterprise Manager. Пользователь sa, ниже вводим его пароль.

Windows-Server-2003-Standard-Edition-(2)-2009-09-11-20-54-14.jpg

Как видим ничего сложного нет, и при наличии должных навыков весь процесс занимает не более часа, при этом большая часть времени уходит на загрузку - выгрузку базы.

До сих пор работает и ещё будет долго работать множество конфигураций написанных на платформе (на самом деле до сих пор хватает даже работающих систем написаных на клиппере и ФоксПро для дос).

Всё-бы было ничего, но при попытке установить платформу 1С7.7 на ОС Windows-7 возникает ряд проблемм особенно на Windows-7/64bit. Которые удается в тривиальных случаях решать простым копированием папки из "Program Files", но если нужная конфигурация обменивается данными с другими конфигурациями 1С как с объектами OleAutomation (что встречается не так уж и редко) то выполнение кода вида:

глV77 = СоздатьОбъект( "V77.Application" );
Если глV77 . Initialize ( глV77.RMTrade , СокрЛП( глСтрокаКоннекта ), "NO_SPLASH_SHOW" ) <> 0 Тогда
глФлаг_V77Init = 1 ;
Иначе
глФлаг_V77Init = 0 ;
Сообщить( "Нет возможности организовать связь с бухгалтерией. ");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;

ни когда не будет успешным.

Итак разберёмся в чём-же проблемма. Что делает инсталятор: копирует всякие файлы куда надо (инсталятор платформы 1С7.7 копирует по дефолту всё что необходимо в каталог "C:\Program Files\1Cv77" и в подкаталоги этого каталога (прежде в сего в BIN ), так-же инсталятор регистрирует компоненты и пишет справочные сведения в реестр). Как-бы первую часть этого действа (копировать) мы вполне можем выполнить и сами, а вот со второй частью есть небольшая загвоздка .

Решение проблемы: на самом деле проблема решается легко, нужен только комп донор с установленой платформой 1С7.7 (оптимально будет если: 1.exeшник пропатчен и не требует хаспа и 2.установлены все 3 компоненты).

шаг1 . Копируем каталог "C:\Program Files\1Cv77" с донора на реципиента (на котором стоит Windows-7).

шаг2 . На доноре запускаем regedit и ищем все вхождения 1С, все найденые веточки реестра экспортируем (у меня их получилось около 80).

шаг3. На реципиенте под админом подгружаем все эти веточки в реестр. таким ленивым как я можно написать пакетный файл и тупо давить одну и ту-же кнопку N раз. У меня не подгрузилось штуки 4 ветки, видимо из-за того, что нет искомых разделов в Windows-7, но как показала дальнейшая практика это не критично.

Работоспосо бность этого метода проверил почти на десятке компов - везде норм! Ну на самом деле не всё норм, есть некоторые п роблемы с тем, что не всегда ткнув по ошибке попадёшь на нужную строку в конфигураторе и ещё кое что совсем по мелочи - но это не так принципиально, хотя конечно есть некоторые неудобства.

Когда-то давно, в свободное от безделия время, собрал конфигурацию со всяческими "удобствами":

  • настраиваемая панель кнопок;
  • кнопочное меню в форме журнала;
  • настраиваемые "гарячие" кнопки (вызов по сочетанию клавиш "shift+ctrl+alt+F1(. F12)");
  • обработка создания файла пакетного запуска;
  • быстрое открытие внешних отчетов.

Такой вот набор идей

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Отличная наработка, а скажите возможно изменять добавлять кнопки в полосе кнопок открывшегося окна (там где новый, изменить справка и пр.) (1) Это системная панель. В версии 7.7 изменение её не возможно. а скажите возможно изменять добавлять кнопки в полосе кнопок открывшегося окна
А сколько кнопок МАКСИМАЛЬНО бы хотелось?
Вопрос на два чиха ;) +(8) Вот так примерно будет. Хоть на отчет, хоть на журнал, хоть на документ
А с помощью какого нибудь api или написать свою dll ?
Есть хоть какой-нибудь способ решения данного вопроса ? (3) Из известных мне внешних компонент, ни одна этого не умеет.
Знаю, что эту панель можно скрыть вообще.
С помощью какой внешней компоненты? Не помню. Сам никогда этого не использовал. замного кнопок в журнале доков как для моих юзеров, ИМХО
Раньше на дисках ИТС лежала "Методическая конфигурация". В ней на основе таблиц в режиме ввода данных реализован чудный настраиваемый рабочий стол для 7.7. Судя по скриншотам, это жалкое подобие. :( Да сколько сделаете 5-10 иконочек. И картинки можно ставить, круто ! А можно стандартное меню по правой кнопке мыши менять ? А можно стандартное меню по правой кнопке мыши менять ?
Используй formex и меняй там что хошь;)
У него есть обработчики и на левое нажатие, и на правое, и на кнопки клавиатуры.

Просмотры 19971

Загрузки 157

Рейтинг 17

Создание 19.02.10 01:46

Обновление 01.03.10 00:00

№ Публикации 66040

Конфигурация Конфигурации 1cv7

Операционная система Не имеет значения

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано

Модуль 1С-ЕГАИС: опт, производство, импорт. Техподдержка и сопровождение.

См. также

Класс 1С++ для программного добавления изображений/текста/ШК в таблицу Промо

Необходимо добавить в сформированную таблицу изображения/текста/ШК (81 тип ШК) с прозрачным фоном? Вставить фирменный логотип? Быстро организовать оформление документов в корпоративном стиле? Данная разработка поможет в этом!

1 стартмани

03.06.2012 246223 230 zarius 113

Мышонок в лабиринте бегает за сыром (игрушка)

Краткая игра про мышонка на языке 1С.

1 стартмани

24.05.2021 1673 1 user1479164 8

Выбор цвета для 1С 7.7

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020 3819 2 vap_pig 5

Диалоги выбора периода для 1С версий 8.3 и 7.7

Представлены два диалога для выбора интервала дат по календарю в составе демонстрационных конфигураций 1С8.3 и 1С7.7

1 стартмани

24.01.2017 20770 18 romasna 7

Сравнение и объединение диалогов форм МД файла Промо

1 стартмани

09.09.2008 29012 1287 WiseSnake 27

Как создать индикатор в 1С:Предприятии 7.7

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016 15222 2 HAMMER_59 6

Полноценное использование Drag&Drop в 1С 7.7

Несмотря на то, что кое-какие функции Drag&Drop были заложены авторами 1cpp, моё дополнение позволяет сделать этот функционал законченным. Дело в том, что средствами 1cpp можно было таскать файлы ТОЛЬКО в 1С, а из 1С - невозможно. Теперь Вы можете сделать работу с файлами на порядок удобнее и эффективнее.

1 стартмани

19.09.2016 17032 15 DasIsFantastich 4

Пилотный проект ФСС. Заявление, реестр, опись, выгрузка в формате xml версия 1.7.2.

Типовые объекты конфигурации не изменены, поэтому подходит для любого релиза ЗиК.

1 стартмани

29.07.2016 14145 21 Cvetic 1

Вывод и перенумерация отчета с заранее неизвестным количеством группировок. Промо

1 стартмани

21.03.2012 30595 21 unichkin 11

"Магический батон" или еще одна попытка сделать "волшебную кнопку"

В начале далекого уже сегодня 2007 года у меня возник проект, в котором стояла задача разработки системы контроля прав для конфигурации на платформе 1С:Предприятие 7.7. Стоял выбор - полностью перерабатывать конфигурацию заказчика или сделать что-то универсальное.

"Универсальное решение для любой конфигурации 7.7 ? Без подписок на события и т.п.? Не смешите меня - такое невозможно сделать!" - именно эти слова коллеги пробудили во мне спортивный интерес и практически "на спор" была разработана Система управления правами для 1С:Предприятие 7.7

Система построена на базе небезызвестного компонента 1С++, который в то время как раз "обзавелся" функциями перехвата событий. И по сегодняшний день в платформе 1С:Предприятие 8 нет подписок на события формы - а в 1С++ они работали уже тогда!

История разработки

Как и положено универсальному инструменту главным условием при разработке системы стало не трогать саму конфигурацию, в которой предполагалось управлять правами. Нужно было обойтись минимальными изменениями, скажем, одной строкой кода в глобальном модуле. И это получилось!

Конечно же, разработка не была простой. Потребовалось "разобрать на запчасти" все возможные события платформы, побороться с особенностями не только модальных, но и весьма специфических (как оказалось) окон. Таких как, например, выбор периода для журнала.

Желающим ознакомиться с ходом разработки можно заглянуть в файл whatsnew.txt - там описано много нетривиальных проблем, которые пришлось решать прямо по ходу проекта. Был задействован целый ряд инструментов - и DynamicWrapper для вызова WinAPI процедур, и компонента UsersDef.dll для управления пользователями прямо из пользовательского режима.

Возможности Системы

Достоинства этой Системы управления правами по сравнению с типовым механизмом такие.

Помимо "фич" есть и просто полезные инструменты, облегчающие труд по работе с правами.

Порядок установки и запуска

Чтобы попробовать Систему самому, достаточно выполнить лишь несколько несложных действий. Работу можно производить на любой конфигурации. Перед тем, как выкладывать эту Систему сюда я проверял ее на первой попавшейся конфигурации - типовом "Бухучете для Украины" (релиз 281). На всякий случай уточню, что все действия по настройке производятся в Windows от имени администратора - я не проверял, как поведет себя Система при работе с ограниченными правами.

Итак по порядку.

Шаг 1. Подготовка файлов

Берем любую конфигурацию для платформы 7.7. Скачанный архив разворачиваем в папку ИБ с сохранением иерархии архива.

Файл dynwrap.dll из каталога ИБ переносим в папку \Windows\System32 и регистрируем в системе командой

Шаг 3. Доработка конфигурации

Доработка конфигурации выполняется за 1 минуту. Если у вас в конфигурации уже используется FormEx и 1C++, тогда действительно понадобится добавить всего одну строку в глобальный модуль. Если нет, то полный текст "вставки" будет выглядеть так:

Еще одна микродоработка связана с тем, что у некоторых объектов при проверке права открытия формы окно все же "мелькает" на экране. Во избежание этого был доработан механизм "подмены" формы на свою. Ему требуется, чтобы в метаданных была пустая обработка с именем "ОшибкаДоступа_Тихо" и модулем из 3-х строк:

Благодаря подмене "проблемных" форм объектов на эту форму окна даже не мелькают (если нельзя открывать форму объекта).

Вот и все доработки. Теперь можно запускать 1С:Предприятие.

Шаг 4. Загрузка прав из существующих наборов

Вместе с предприятием сразу откроется обработка "Управление доступами". Она откроется только один раз - при первом запуске - и сформирует файл для хранения прав (файл \Security\mdsec.mdb в каталоге ИБ). Если что-то пойдет не так - можно просто удалить этот файл - при следующем запуске Система создаст его снова и откроет форму обработки. Безусловно, открыть обработку можно и вручную.

В форме обработки "Управление доступами" нажмите кнопку [Импорт объектов и прав]. При этом

  • будет загружена структура метаданных вплоть до форм и именованных реквизитов на них
  • проанализированы права доступа текущего пользователя к объектам и такие же права будут загружены в Систему
  • набор прав будет превращен в группу пользователей, а текущий пользователь помещен в эту группу

С этого момента можно уже полноценно работать в системе.

Учтите, что права доступа к новым объектам по умолчанию не выдаются! Для реквизитов формы придется давать права вручную, ведь в классической платформе 7.7 не существует прав на формы и их реквизиты.

Заключение

Если запустить Систему не получится - попробуйте еще раз детально изучая каждый шаг, описанный выше. Если неполучится и после этого - пишите в комментариях, будет разбираться.

Просьба не "бежать" устанавливать Систему сразу на боевой базе. Да, она уже достаточно отлажена, но падения платформы еще возможны.

Чтобы "проникнуться" результатами работы Системы сразу после установки сделайте вот что. Откройте любой документ/элемент справочника, найдите там какое-то поле ввода или кнопку (только обязательно с установленным идентификатором!). В обработке управления правами доступа попробуйте установить право и, не закрывая "подопытную" форму, нажать на объект для которого изменили права. Работает? Таки неправ был коллега - бывает и такое! ;)

Читайте также: