1с77 на Windows 10 64

Запуск исполняемого файла системы 1С:Предприятие

Помимо запуска путем выбора соответствующей пиктограммы из меню Пуск › Программы операционной системы Windows 95 (Windows 98 или Windows NT 4.0), запуск системы 1С:Предприятие может быть выполнен путем запуска исполняемого файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE). Такой запуск может быть произведен, например, при помощи пункта Выполнить меню Пуск операционной системы Windows 95 (Windows 98 или Windows NT 4.0), или двойным щелчком мыши на имени файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE) в программе Проводник (Explorer).

Возможны два способа запуска.

В первом случае в командной строке запуска файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE) указываются все необходимые параметры: режим запуска, имя каталога с информационной базой, имя пользовательского каталога и другие. Если параметры командной строки указаны верно, файл 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE) будет запущен в одном из режимов запуска: 1С:Предприятие, Конфигуратор, Отладчик или Монитор – в зависимости от указанных параметров.

Если при запуске файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE) обнаружена ошибка в параметрах командной строки, или параметры отсутствуют, то после запуска на экран будет выдан диалог Запуск 1С:Предприятия. В этом диалоге пользователь может выбрать режим запуска файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE), имя информационной базы и другие параметры запуска.

Параметры командной строки. При запуске файла 1CV7.EXE (1CV7L.EXE, 1CV7S.EXE) в командной строке могут быть указаны следующие параметры:

  • CONFIG запуск системы 1С:Предприятие в режиме Конфигуратор;
  • ENTERPRISE запуск системы 1С:Предприятие в режиме 1С:Предприятие;
  • DEBUG запуск системы 1С:Предприятие в режиме Отладчик;
  • MONITOR запуск системы 1С:Предприятие в режиме Монитор;

    Параметры CONFIG, ENTERPRISE, DEBUG и MONITOR нельзя смешивать между собой – в командной строке должен быть указан только один из этих параметров.

  • /D<Путь> каталог информационной базы;
  • /U<Путь> рабочий каталог пользователя. Использование этого параметра отменяет установку рабочего каталога пользователя, выполненную в процессе создания списка пользователей;
  • /N<Имя> имя пользователя. Должно быть указано также, как в списке пользователей, создаваемом в Конфигураторе;
  • /Р<Пароль> пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить;

    Наличие в командной строке параметров /N и /Р (если пароль у пользователя существует) подавляет выдачу диалога Авторизация доступа.

  • /М запуск системы в монопольном режиме. Параметр используется только при запуске в режиме 1С:Предприятие и только для сетевой версии системы.

Запуск сетевой версии системы 1С:Предприятие в монопольном режиме требуется в следующих случаях:

  • восстановление индексных файлов после аварийного завершения программы;
  • работа в режимах Управление бухгалтерскими итогами, Управление оперативными итогами компонент Бухгалтерский учет и Оперативный учет;
  • удаление помеченных объектов данных.

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

/@<ИмяФайла> – запуск системы 1С:Предприятие в режиме Конфигуратор в пакетном режиме, где <ИмяФайла> – имя файла, содержащего параметры пакетного запуска.

Параметр /@ используется только при запуске в режиме Конфигуратор.

Ниже приведен пример командной строки для запуска системы 1С:Предприятие:

С увеличением объема оперативной памяти все более популярными на клиентских рабочих местах становятся 64-х разрядные ОС семейства MS Windows, 7-рка и 8-рка существенно потеснили XP особенно после прекращения Microsoft’ом её поддержки.Однако, вместе с тем многие предприятия продолжают эксплуатировать 1С версии 7.7, и если с файловым вариантом особых проблем не возникает, то совершенно другая ситуация в случае с SQL-сервером.

При попытке штатно установить на 64-х разрядной ОС и подключить 1С 7.7 к SQL-серверу пользователя ждет несколько проблем. Во-первых, банально может не запуститься 16-ти битный инсталлятор 1С 7.7 (хотя само приложение 32-х разрядное). Эта проблема решается как установкой из сборки, так и банальным копированием из каталога C:\Program Files\1Cv77 в C:\Program Files (x86)\1Cv77. Далее нас ждет более серьезная задача под названием ODBC. Дело в том, что из коробки 7-рка поддерживает MS SQL только до версии 2000, который в свою очередь, не поддерживается новыми Windows. Решением является замена драйверов ODBC на старые, взятые например с Windows XP. Такое решение хотя и является самым простым, но может заложить мину замедленного действия на будущее, ведь не исключено, что на данном ПК не появится софт, требующий оригинальных версий библиотек (как вариант та же 1С более новых версий) и что тогда? Предлагаемый ниже вариант позволяет сохранить системные библиотеки, а старые версии использовать исключительно для работы 1С 7.7.

Итак, рассмотрим установку по шагам:

  1. Установка 1С 7.7 релиз 77027 из сборки.
  2. Замена библиотеки BkEnd.dll в каталоге C:\Program Files (x86)\1Cv77\BIN на исправленную для работы с новыми версиями MS SQL.
  3. Копируем на диск C каталог 1Cv7_SQLDriver, содержащий файлы:
    • odbcbcp.dll
    • sqlsrv32.dll
    • sqlsrv32.rll
    • 1cfix.sdb
  4. Запускаем командный интерпретатор CMD.EXE (должен выполняться от имени Администратора) и выполняем команду:

    sdbinst C:\1Cv7_SQLDriver\1sfix.sdb

  5. Вносим изменения в системный реестр: запускаем файл 1C_SQL_ODBC.reg и подтверждаем запись.
  6. Проверяем запуск 1С.
  7. Если при запуске получаем сообщение о неверном порядке сортировки, помещаем в каталог C:\Program Files (x86)\1Cv77\BIN пустой файл с именем OrdNoChk.prm

Важно! Для корректной работы конфигурации требуется порядок сортировки 1251 Русский, белорусский, болгарский и сербский языки либо последний пункт + Текущая системная установка (появился в релизе 77027) и в Панель управления/Региональные настройки указываем Формат — Русский (Россия). Иначе рискуете получать сообщения об ошибках конфигуратора.

Весь необходимый инструментарий можно скачать по данной .

Успехов в установке и использовании!

Вопросы:

  1. Краткая справка по использованию OLE в 1С-Предприятии.
  2. Методы: Initialize() — открыть базу.
  3. Методы: CreateObject() — создать объект агрегатного типа.
  4. Методы: EvalExpr() — вычислить выражение.
  5. Методы: ExecuteBatch() — выполнить последовательность операторов.
  6. Пример: создание документа в другой базе, открытой через OLE.
  7. Сравнение в базе OLE. Константы, перечисления, элементы справочников.
  8. Как узнать, что дата, полученная через OLE — пустая?

Ответы:

  1. Краткая справка по использованию OLE в 1С-Предприятии.

Для запуска системы 1С-Предприятия в качесте OLE Automation сервера из внешнего приложения выполняется следующая последовательность действий:

  • Создается объект с OLE идентификатором (регистр символов непринципиален):
  • V1CEnterprise.Application — версия независимый ключ;
  • V77.Application — версия зависимый ключ;
  • V77S.Application — версия зависимый ключ, SQL версия;
  • V77L.Application — версия зависимый ключ, локальная версия;
  • V77M.Application — версия зависимый ключ, сетевая версия.
  • Выполняется инициализация системы 1С-Предприятие методом Initialize().
  • Вызываются атрибуты и методы системы 1с-Предприятия как OLE Automation сервера.

1С-Предприятие в качестве OLE Automation сервера имеет 4 метода:

  • Initialize() — выполнить инициализацию системы 1С-Предприятие.
  • CreateObject() — Создает объект агрегатного типа данных 1С-Предприятия и возвращает ссылку на него.
  • EvalExpr() — Вычислить выражение системы 1С-Предприятие.
  • ExecuteBatch() — Выполнить последовательность операторов системы 1С-Предприятие.

2. Методы: Initialize() — открыть базу.

Синтаксис метода такой: Initialize(.RMTrade, , ), где:
.RMTrade — имя переменной и ключевое слово RMTrade.
— командная строка, в которой можно прописать путь к базе, имф пользователя и пароль.
) — либо пустая строка, либо «NO_SPLASH_SHOW» — чтобы не показывать заставку при загрузке.
Для того, чтобы открыть базу через OLE — необходимо создать объект с идентификатором OLE, выполнить инициализацию базы и проверить успешность выполнения инициализации. В своем примере я не указываю никаких дополнительных параметров, поэтому открывается квадратное окошко выбора базы, предлагается выбрать пользователя и ввести пароль.
ДругаяБаза=СоздатьОбъект(«V77.Application»);
Открыта=ДругаяБаза.Initialize(ДругаяБаза.RMTrade,,);
Если Открыта=0 Тогда
// True=-1, False=0. Для всех OLE команд.
Сообщить(«База не была открыта.»);
Возврат;
КонецЕсли;

3. Методы: CreateObject() — создать объект агрегатного типа.

Этот метод создает объект агрегатного типа данных системы 1С-Предприятия и возвращает ссылку на него.

Синтаксис метода такой: CreateObject(), где:
— строковое выражение, значение которого содержит имя агрегатного типа данных, заданного в конфигураторе. Например: «Справочник.Номенклатура», «Документ.ПриходнаяНакладная».

4. Методы: EvalExpr() — вычислить выражение.

Синтаксис метода такой: EvalExpr(), где:
— строковое выражение, записанное на встроенном языке 1С-Предприятия.

Результатом выражения может быть число, строка, дата или значение любого агрегатного типа данных. Результат с неопределенным типом преобразуется к строковому типу.

5. Методы: ExecuteBatch() — выполнить последовательность операторов.

Синтаксис метода такой: ExecuteBatch(), где:
— строковое выражение, текст программы на встроенном языке 1С-предприятия. Возвращает значение логического типа: TRUE, если последовательность операторов выполнена успешно, FALSE, если нет. В OLE Automation TRUE и FALSE имеют соответственно значения -1 (минус единица) и 0.

6. Пример: создание документа в другой базе, открытой через OLE.

Этот пример на 100% рабочий. Используется у меня для выгрузки документов из одной конфигурации в другую.

7. Сравнение в базе OLE. Константы, перечисления, элементы справочников.

Для сравнения значений агрегатных типов данных в базе, открытой через Оле, использовать стандартный алгоритм с использование знаков равно и неравно (=,) не получается. Выход простой. Необходимо перейти от сравнения агрегатных типов данных к простым типам данных — дата, строка и число.

Отсюда вывод: мы сравниваем не сами элементы, а их уникальные атрибуты. Например, для элементов справочника — это код (если он есть), либо наименование. Для перечисления используется метод Идентификатор(). Вот два примера:
//Сравнение реквизита номенклатуры с Константой БазоваяВалюта
Если дТовар.ВалютаУчета.КодДругая.Константа.БазоваяВалюта.Код Тогда
дТовар.ВалютаУчета=Другая.Константа.БазоваяВалюта;
КонецЕсли;
//Сравнение реквизита номенклатуры с перечислением
Если дТовар.ТипТовара.Идентификатор()Другая.Перечисление.ТипыТоваров.Штучный.Идентификатор() Тогда
дТовар.ТипТовара=Другая.Перечисление.ТипыТоваров.Штучный;
КонецЕсли;