Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола
Иногда в процессе работы с удаленными рабочими столами на клиентских машинах встречается проблема - при подключении к серверу высвечивается сообщение "Для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола".
К сожалению, это является достаточно частой проблемой Microsoft.
Для ее решения нужно будет выполнить следующие шаги:
В этом случае необходимо удалить текущую лицензию из кэша, и получить новую.
Для удаления лицензии RDP с клиентского компьютера, откройте ветку реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
и удалите все подразделы.
После этого повторите подключение к серверу RDP. При первом подключении запустите клиент «от имени Администратора».
Ветка будет пересоздана и ошибка будет устранена. Ошибка RDP: Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования
Обычно эта ошибка появляется после удаления ветки реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
Делается это с целью очистить кэш лицензий.
Клиент RDP во время подключения пытается восстановить недостающие разделы, и для этого ему нужны права администратора.
Для решения проблемы необходимо:
Запускать rdp-клиент из под учетной записи с правами администратора.
Если включен UAC.
Вариант 1. Отключить его (требуется перезагрузка).
Вариант 2. Запустить rdp-клиент из командной строки, открытой «от имени администратора».
Программные лицензии представляют собой файл, который в зашифрованном виде содержит параметры лицензии и характеристики компьютера, для которого данная лицензия получена. Доступ к этому файлу определяется правами доступа файловой системы. Если файл лицензии находится в каталоге, к которому нет доступа у пользователя, от имени которого работает экземпляр 1С:Предприятия, пытающегося получить лицензию - значит лицензия не будет получена!
2. Как работает программная лицензия?
Приложение 1С:Предприятия (клиентское или серверное) при необходимости получения лицензии выполняет поиск файлов по всем доступным путям. Далее из файлов получаются параметры самой лицензии и характеристики компьютера, для которого лицензия получена. Если параметры текущего компьютера не совпадают с полученными - файл лицензии отвергается. В противном случае выполняются проверки, связанные с количеством пользователей и типом лицензии (клиентская или серверная).
3. Что есть что в диалоге получения лицензии.
В диалоге получения лицензии есть два момента, которые вызывают наибольшие трудности - такое ощущение складывается по этому форуму.
Это страницы помощника с выбором компьютера, для которого должна быть установлена лицензия и выбор доступности лицензии (текущему пользователю или всем пользователям).
При получении программных лицензий необходимо выбрать, характеристики какого компьютера будут использоваться при привязке лицензии. От вида лицензии и компьютера, на котором запущен Конфигуратор, зависит, какой пункт следует выбирать при получении лицензии.
"На компьютер сервера 1С:Предприятия" имеет смысл выбирать в случае получения любых программных лицензий, если использование полученной лицензии предполагается на компьютере, где расположен сервер "1С:Предприятия" и это не тот компьютер, на котором выполняется получение программной лицензии. В этом случае файл с полученной программной лицензией всегда будет размещаться в каталоге профиля того пользователя, от имени которого работает сервер "1С:Предприятия" (по умолчанию — USR1CV82) на том компьютере, на котором работает сервер "1С:Предприятия".
"На этот компьютер" имеет смысл выбирать во всех остальных случаях. Исключением является многопользовательская программная лицензия, для которой выбирать пункт "На этот компьютер" имеет смысл только при запуске Конфигуратора на терминальном сервере или в терминальной сессии. Также в этом случае можно будет выбирать, куда будет помещен файл с активированной лицензией — в каталог профиля текущего пользователя или в каталог, доступный всем пользователям системы. Это будет каталог того компьютера, на котором выполняется активация программной лицензии.То, какой набор лицензий будет доступен для использования, зависит от того, куда будут размещены файлы с активированными лицензиями. Если они размещены в каталоге профиля пользователя, от имени которого выполняется активация лицензии, то другие пользователи этого же компьютера не получат доступ к этим лицензиям. Например, если на терминальном сервере активирована однопользовательская программная лицензия, и она размещена в каталоге профиля текущего пользователя (например, User1), то другой пользователь (например, User2) не сможет работать в то время, когда пользователь User1 не работает. Для того чтобы активированная лицензия была доступна всем пользователям компьютера, ее надо размещать в каталоге, предназначенном для всех пользователей системы. Тогда однопользовательская лицензия из примера, приведенного выше, будет доступна любому пользователю терминального сервера, при условии, что другие пользователи не используют данную лицензию (т.к. она однопользовательская).
4. Как активировать дополнительную программную лицензию?
Если требуется активировать дополнительную клиентскую программную лицензию на компьютере, на котором уже активирована программная лицензия, то делать это необходимо в точности так, как и при первой активации программной лицензии на выбранном компьютере.
Если выполняется получение серверной и многопользовательской программной лицензии и существует возможность запустить Конфигуратор на компьютере с установленным сервером "1С:Предприятия", то рекомендуется выполнять получение обеих лицензий на компьютере сервера, при этом получать лицензию следует "На этот компьютер" и "Всем пользователям данного компьютера".
ВНИМАНИЕ! Не рекомендуется размещать один файл программной лицензии одновременно в нескольких различных каталогах, доступных приложениям "1С:Предприятия". Это может привести к тому, что файл с лицензией станет непригодным для использования, т. к. является одним из вариантов нарушения лицензионного соглашения.
5. Рекомендации по получению программных лицензий
5.1. Файловый вариант информационной базы
5.1.1. Лицензия получается на клиентском компьютере
Однопользовательскую лицензию рекомендуется получать "На этот компьютер" и "Всем пользователям данного компьютера".Многопользовательскую лицензию активировать не имеет смысла.
5.1.2. Лицензия получается на терминальном сервере
Программную лицензию (любую) рекомендуется получать "На этот компьютер" и "Всем пользователям данного компьютера".
5.2. Файловый вариант информационной базы через веб-сервер
5.2.1. На компьютере, где получается лицензия, возможно запустить Конфигуратор
Рекомендуется установить на компьютер с веб-сервером толстый клиент и с помощью Конфигуратора получить лицензию (любую) "На этот компьютер" и "Всем пользователям данного компьютера". Так можно поступить, если веб-сервер развернут на ОС Windows.
5.2.2. На компьютере, где получается лицензия, невозможно запустить Конфигуратор
Установить на этот компьютер сервер необходимой разрядности и получить лицензию для компьютера сервера с любого компьютера в сети, на котором установлен толстый клиент. Серверное приложение позволит получать программную лицензию даже в том случае, если отсутствует серверная лицензия. Рекомендуется получать лицензию (любую) "На компьютер сервера 1С:Предприятия". С помощью этого способа можно получить, например, многопользовательскую программную лицензию для работы с файловой информационной базой через веб-сервер, развернутый на ОС Linux.
5.3. Клиент-серверный вариант информационной базы
5.3.1. Лицензия получается на клиентском компьютере
Однопользовательскую лицензию рекомендуется получать "На этот компьютер" и "Всем пользователям данного компьютера".
Многопользовательскую лицензию рекомендуется получать "На компьютер сервера 1С:Предприятия".
Получать многопользовательскую лицензию "На этот компьютер" не имеет смысла.
5.3.2. Лицензия получается на терминальном сервере
Программную лицензию (любую) рекомендуется получать "На этот компьютер" и "Всем пользователям данного компьютера".
5.3.3. Лицензия получается на компьютере сервера "1С:Предприятия"
Программную лицензию (любую) рекомендуется получать "На этот компьютер" и "Всем пользователям данного компьютера".
5.4. Серверная лицензия
5.4.1. Лицензия получается на клиентском компьютере
Рекомендуется получать программную лицензию (любую) "На компьютер сервера 1С:Предприятия".
5.4.2. Лицензия получается на компьютере сервера "1С:Предприятия"
Рекомендуется получать программную лицензию (любую) "На этот компьютер" и "Всем пользователям данного компьютера".
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа!!.....
Именно такое сложное чувство непонимания было поначалу и у меня. В процессе обучения и реального опыта была создана эта шпаргалка, целью которой было "разложить всё по полочкам", чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи объектов.
Для чего нам вообще нужны эти обработчики?
Очень часто программисту требуется переопределить стандартное поведение системы во время записи объектов, а именно: отменить запись, в случае каких-то условий; запросить дополнительную информацию у пользователя; дозаполнить реквизиты; что-то ещё записать в базу данных на основании этой записи; что-то изменить на форме после записи и т.д. и т.п. Каждый программист рано или поздно сталкивается с подобными задачами, потому знать назначение и последовательность запуска этих событий программисту, работающему на платформе 1С 8.2, необходимо.
В модуле формы или в модуле объекта?
Сначала надо определиться нужны ли нам данные формы? Будет ли запись записываться программным способом или только интерактивно? Будем ли вести диалог с пользователем?
Дело в том, что часть событий выполняется на уровне модуля формы и это значит, что они выполняются только при интерактивной записи, а также в этих событиях мы можем обращаться к данным формы, вести диалог с пользователем.
Другая часть событий выполняется на уровне модуля объекта, как при интерактивной, так и при программной записи.
Потому можно сразу определиться с обработчиком модуля формы или модуля объекта будем работать.
Модуль формы: на клиенте или на сервере?
Далее, если выбран модуль формы, то надо определиться какой обработчик потребуется: исполняемый на клиенте, или исполняемый на сервере. Если потребуется диалог с пользователем, то на клиенте, в противном случае на сервере. Их можно отличить по имени директивы компиляции или по имени обработчика (когда на сервере, это пишется в имени, например ПередЗаписьюНаСервере()).
Как выбрать конкретный обработчик?
Выбор зависит от поставленной задачи. Что конкретно можно делать в каждом обработчике опишу ниже, а пока пример.
Пример выбора обработчиков событий записи объекта:
Бывают задачи, когда потребуется использовать несколько обработчиков для решения одной задачи. Например, надо запросить информацию у пользователя во время записи: «Будем создавать новый документ на основании этой записи?» и, если пользователь ответит утвердительно, то надо создать новый документ с ссылкой на записываемый объект. Причем запись нового документа надо выполнять в транзакции, т.к. если текущая запись по каким то причинам будет отменена, то и уже созданный и записанный документ не должен остаться в базе данных.
Для решения этой задачи потребуется использовать обработчики события модуля формы по двум причинам:
1) Диалог с пользователем возможен только на клиенте, а клиентеские обработчики есть только в модуле формы. Для диалога будем использовать клиентскую процедуру модуля формы ПередЗаписью(), и сохраним ответ пользователя в параметре этой процедуры «ПараметрыЗаписи».
2) А в процедуре ПриЗаписиНаСервере() модуля формы примем этот параметр и в зависимости от него будем создавать документ или нет. Почему именно эта процедура? Ссылка будет получена только после записи, но поскольку нам нужно записывать в транзакции, то нужно использовать процедуры ДО завершения транзакции, но уже имеющие ссылку на записываемый объект. ПередЗаписью() не подходит , так как ещё нет ссылки, а ПослеЗаписи() не подходит, так как транзакция уже завершена. Остаётся ПриЗаписи(), но перед нами встаёт выбор: модуля формы или модуля объекта? Поскольку обработчик события ПриЗаписи() модуля объекта не содержит параметр, содержащий ответ пользователя, а событие ПриЗаписиНаСервере() модуля формы содержит, то ответ очевиден-используем это событие ПриЗаписиНаСервере() модуля формы потому что:
1) Это событие выполняется в транзакции 2) Содержит параметр «ПараметрыЗаписи», в котором уже содержится ответ пользователя, который передался из процедуры ПередЗаписью() 3) Ссылка уже создана и можно создавать новый документ, используя эту ссылку.
Ну и теперь последовательность запуска событий (в том порядке, в каком они перечислены) и небольшие подробности :
Во многих обработчиках есть параметр «Отказ». Там, где этот параметр присутствует означает, что в этом обработчике ещё можно отказаться от записи, присвоив параметру «Отказ» значение Истина, и тогда запись произведена не будет. 1) Модуль формы ПередЗаписью(Отказ, ПараметрыЗаписи)
Выполняется на клиенте!
Этот обработчик следует использовать, если необходимо организовать диалог с пользователем перед тем, как записать объект. Запросить дополнительную информацию, предупредить о чём-либо, дать возможность отказаться и т.п.
Второй параметр этого обработчика «ПараметрыЗаписи» имеет тип «Структура». У документов эти параметры заполняются системой предопределенными параметрами РежимЗаписи, РежимПроведения. Можно добавить свои.
Эти параметры передаются между событиями формы ПередЗаписьюНаСервере, ПриЗаписиНаСервере, ПослеЗаписиНаСервере, где их можно благополучно использовать. Например, при записи регистра сведений, надо сделать запись в другой регистр сведений старое значение ресурса. Можно передать старое значение в эти самые параметры и уже в ПриЗаписиНаСервере сделать запись в другой регистр. 2) Модуль формы ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
3) Модуль объекта ОбработкаПроверкиЗаполнения (Отказ, ПроверяемыеРеквизиты)
Эти два обработчика проверки заполнения реализуются через параметр «ПроверяемыеРеквизиты» типа Массив, содержащий реквизиты, которые надо проверять (т.е. которым установлено свойство проверки заполнения «Выдавать ошибку»)
И если из этого массива убрать реквизит, то проверяться он не будет, если добавить, то будет выполняться проверка заполнения.
Таким образом, можно сказать, что эти два обработчика событий предназначены :
Для включения в проверку заполнения тех реквизитов, у которых в свойствах «ПроверкаЗаполнения» указано «Не проверять». Для этого надо добавить этот реквизит в массив параметр «ПроверяемыеРеквизиты»
Для того, чтобы исключить из автоматической проверки реквизиты, у которых установлено свойство проверки заполнения «Выдавать ошибку» в зависимости от каких-то условий. Для этого надо удалить этот реквизит из массива параметра «ПроверяемыеРеквизиты»
Имеется несколько особенностей, которые необходимо учитывать:
Если у формы из которой записывается объект в свойствах не установлено «ПроверятьЗаполнениеАвтоматически», то тогда эти обработчики проверки заполнения не вызываются и проверки не происходят!
Вызываются только при интерактивной записи! При программной записи не вызываются. Для проверки нужно использовать метод объекта ПроверитьЗаполнение(), который инициирует запуск этих событий.
Для документов, имеющих возможность проведения , эти события проверки заполнения вызываются только при проведении!
Оба эти события выполняются на сервере, отличие в том, что ОбработкаПроверкиЗаполненияНаСервере() это событие модуля формы и, следовательно, есть доступ к данным формы. А ОбработкаПроверкиЗаполнения() - событие модуля объекта. 4) Модуль формы ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
В этом обработчике можно дозаполнять реквизиты объекта или провести дополнительные проверки. Есть доступ к данным формы. Есть параметр ТекущийОбъект.
Параметр ТекущийОбъект имеет тип класса «объект» в зависимости от типа записываемого объекта (СправочникОбъект,ДокументОбъект и т.д). Т.е. экземпляр класса объект создан, и можно обратиться к его свойствам и методам, но в базу данных ещё не записан. Начало транзакции 5) Модуль объекта ПередЗаписью(Отказ)
В этом обработчике можно дозаполнять реквизиты объекта или провести дополнительные проверки.
Для документов в параметры данного обработчика добавляются ещё два параметра:РежимЗаписи, РежимПроведения. Запись 6) Модуль объекта ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
Возникает в момент, когда выполняется установка номера нового документа, задачи или бизнес-процесса.
Или ПриУстановкеНовогоКода(СтандартнаяОбработка,Префикс)
Возникает в момент, когда выполняется установка нового кода элемента справочника, узла плана обмена или кода плана видов характеристик.
Эти событии вызываются для объектов у которых указано свойство «Автонумерация» и только для новых объектов.
Если установить параметру СтандартнаяОбработка значение Ложь, то новый номер генерироваться не будет и можно программно задать код объекта в данном обработчике. 7) Модуль объекта ПриЗаписи(Отказ)
Вызывается после записи объекта в базу данных, но до окончания транзакции записи.
Ссылка уже есть и можно записать в базу данных дополнительные данные на основании текущего объекта, используя эту ссылку.
Например, при записи создавать другой документ, содержащий реквизит ссылку на записываемый. 8) Модуль формы ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Вызывается после записи объекта в базу данных, но до окончания транзакции записи. Есть доступ к данным формы. Есть последний шанс отказаться от записи.
Параметр ТекущийОбъект имеет тип класса «объект» в зависимости от типа записываемого объекта (СправочникОбъект,ДокументОбъект и т.д). Можно обратиться к его свойствам и методам. Завершение транзакции 9) Модуль формы ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Выполняется на сервере.
Можно использовать для того, чтобы визуально что-то отобразить на форме. 10) Модуль формы ПослеЗаписи(ПараметрыЗаписи)
Выполняется на клиенте!
Можно использовать для того, чтобы визуально что-то отобразить на форме или выдать предупреждение пользователю.
Как создать на форме таблицу и сделать для неё подсветку содержимого колонки в строке по условию?
Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем массив добавляемых реквизитов, который будет называться МассивДобавляемыхРеквизитов.
Обратите внимание, что элементы массива у нас типа РеквизитФормы. Дальше помимо таблицы значений, нам надо добавить колонки таблицы, например будем добавлять три колонки:
Во время добавления колонок в МассивДобавляемыхРеквизитов обязательно надо указать путь к создаваемому реквизиту, в нашем случае это «План», который был добавлен в массив ранее. Обратите внимание, что путь к создаваемому реквизиту не включает в себя сам реквизит. После того, как массив сформирован, можно вызывать изменение реквизитов:
После изменения реквизитов у нас уже есть нужный нам реквизит формы «План» типа ТаблицаЗначений с тремя колонками. Если вам надо будет обратиться к значению реквизита, то вы можете это сделать используя ЭтаФорма["План"]. Можно приступать к созданию элементов формы, для отображения данных. Сначала создадим элемент формы типа ТаблицаФормы.
Как вы видите из приведенного когда, во время создания элемента мы тут же определяем действия на события. После создания элемента План типа ТаблицаФормы создадим подчиненные ему элементы типа ПолеФормы, которые будут отвечать у нас за вывод данных в колонки таблицы. Для этого в цикле перебора колонок таблицы необходимо выполнить следующий код (на примере одной из итераций цикла):
Обратите внимание, что во время добавления элемента мы указываем родителя Элементы.План. Так же путь к данным у нас состоит из наименования реквизита типа ТаблицаЗначений и имени колонки, разделенные точкой. После того, как вы в цикле создадите все элементы для колонок форма будет готова к выводу и вводу данных в таблицу.
Теперь можно перейти ко второй части задачи про подсветку цветом колонки Номенклатура. Например условие у нас будет накладываться на колонку Разница и когда она будет равно 100 строку надо будет подсвечивать колонку Номенклатуры серым цветом.
Для реализации этой части задачи мы будем использовать объект УсловноеОформление, который доступен на стороне сервера. Сначала в элементы условного оформления необходимо добавить новый элемент. Затем мы добавляем оформляемые поля. Если надо подсвечивать всю строку, то можно обойти в цикле колонки и добавить все их поля ввода в оформляемые. Так же необходимо потом добавить отбор. В левом значении отбора указываем поле, по которому будет идти сравнение. Поле указывает с точкой, как путь к данным во время добавления колонки.
Функция проверяет уже существующих в базе данных людей на наличие требуемого имени.
Во время поиска следует учитывать следующие ситуации:
1) Вместо имени записаны инициалы
2) Существуют имена, которые могут быть как мужскими, так и женскими (например, Саша)
На второй пункт можно возразить: следует писать полное паспортное имя, а не уменьшительное. На самом деле это не всегда удобно, особенно во время большого потока людей или же, например, при работе с иностранными именами.
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий:
- Открыть необходимый архив
- Распаковать файлы
Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать инициализированный объект или создав неинициализированный объект вызвать у него метод Открыть(). В обоих случаях состав параметров является одинаковым. В самом простом случае требуется указать только имя архивного файла, с которым необходимо работать.
Для открытия архива требуется указать:
Имя файла, который требуется открыть. Этот параметр является обязательным.
Пароль доступа к архиву.
После того, как архив успешно открыт, можно получить информацию о файлах, хранящихся внутри него. Для этого у объекта ЧтениеZIPФайла предусмотрено свойство Элементы, которое предоставляет доступ к коллекции элементов ZIP файла.
Для каждого элемента можно получить разнообразную информацию о его имени, времени его модификации, его атрибутах, а также узнать является ли данный элемент зашифрованным.
После получения информации о элементах их можно распаковать на диск. Это возможно сделать двумя методами:
Воспользоваться методом ИзвлечьВсе().
Воспользоваться методом Извлечь().
Метод ИзвлечьВсе() распаковывает все файлы в архиву по указанному пути. Второй параметр данного метода определяет возможность восстановления исходных путей файлов.
Метод Извлечь() распаковывает указанный элемент коллекции из свойства Элементы по указанному пути. Второй параметр данного метода аналогичен тому же параметру метода ИзвлечьВсе(). Наибольший интерес представляет третий параметр данного метода - Пароль. В нем можно указать индивидуальный пароль для элемента архива, в случае если он зашифрован паролем отличным от других файлов.
После того, как архив нам больше не нужен можно завершить работу с ним вызвав метод Закрыть().
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий:
* Создать архив с необходимыми параметрами, в который будут помещаться файлы.
* Поместить в архив необходимые файлы.
* Записать архив.
Создание объекта ЗаписьZIPФайла можно осуществить двумя путями - создать инициализированный объект или создав неинициализированный объект вызвать у него метод Открыть. В обоих случаях состав параметров является одинаковым. В самом простом случае требуется указать только имя файла, куда будет записан архив.
Для создания нового архива требуется указать:
* Имя файла, куда будет записан архив. Этот параметр является обязательным. Если такой файл уже существует на диске, он будет перезаписан!Пароль доступа к архиву. Если этот параметр пропущен или равен пустой строке, то шифрование производится не будет!
* Комментарий к архиву.
* Метод сжатия файлов в архиве. На выбор предоставляется возможность скопировать файлы в архив без сжатия или сжать их. По умолчанию файлы сжимаются.
* Уровень сжатия файлов в архиве. Можно выбирать между минимальным, оптимальным и максимальным сжатием. По умолчанию используется оптимальное сжатие
* Метод шифрования. Можно защитить архив методом шифрования ZIP 2.0, совместимым с большинством программ, или с помощью шифрования на основе новейшего стандарта AES с различной длиной ключа (128, 192 и 256 бит). Однако следует помнить, что данный метод может быть не совместим с некоторыми программами архивирования, например WinRAR.
После создания объекта необходимо добавить в него необходимые файлы, воспользовавшись методом Добавить. Он принимает на вход 3 параметра:
1. Полное имя файла или маску.
2. Режим сохранения путей к файлу. Можно сохранять полные пути, не сохранять пути совсем или сохранять пути относительно каталога. Режим обработки подкаталогов. Можно обрабатывать подкаталоги рекурсивно или не обрабатывать их. Параметр имеет смысл, если в качестве имени указана маска.
После того, как все необходимые файлы добавлены, можно записать архив на диск, воспользовавшись методом Записать().
Важно понимать, что до выполнения этого метода, никаких реальных действий по созданию архива не происходит. После записи архива на диск объект закрывает его и для работы со следующим архивом необходимо выполнить метод Открыть().
Пример:
Особенности упаковки файлов по маске
Остановимся подробнее на особенностях упаковки файлов по маске.
Предположим, что у нас есть следующий файлы, которые нам необходимо поместить в архив:
c:\ZipTest\11.xls
c:\ZipTest\12.xls
c:\ZipTest\13.xls
c:\ZipTest\MoreFiles\14.xls
c:\ZipTest\MoreFiles\15.xls
c:\ZipTest\MoreFiles\16.xls
В результирующий архив будут помещены следующие файлы:
\ZipTest\11.xls
\12.xls
\13.xls
В результирующий архив будут помещены следующие файлы:
\ZipTest\11.xls
\ZipTest\12.xls
\ZipTest\13.xls
В результирующий архив будут помещены следующие файлы:
\ZipTest\11.xls
\ZipTest\12.xls
\ZipTest\13.xls
\ZipTest\MoreFiles\14.xls
\ZipTest\MoreFiles\15.xls
\ZipTest\MoreFiles\16.xls
Как в периодическом независимом регистре сведений «КурсыВалют» удалить все записи по валютам с наименованиями «EUR» и «USD», период которых меньше 01 января 2005 года?
Сначала получим таблицу записей, которые необходимо оставить. Поскольку условий несколько, да еще и не все они на равенство, оптимальнее это сделать при помощи запроса. Следующий запрос даст нам желаемое:
Источником данных для запроса послужила таблица записей регистра.
Были применены отборы, чтобы в результат попали записи, для которых период более или равен 01 января 2005 года, или наименования не USD и не EUR. Обратите внимание: при составлении условия по периоду, чтобы не пользоваться параметром запроса, прямо в тексте запроса применили литерал даты ДАТАВРЕМЯ(), в котором части даты указываются в «обратном» порядке: год, месяц, порядковый номер дня в месяце.
Результатом запроса будет таблица, в которой по каждой записи заполнены все поля регистра сведений КурсыВалют.
Далее выполняем запрос, выгружаем результат в таблицу значений ТаблицаОставляемыхЗаписей
Создаем переменную НаборЗаписей, тип значения РегистрСведенийНаборЗаписей.КурсыВалют, выгружаем в нее таблицу значений ТаблицаОставляемыхЗаписей.
Поскольку сама таблица была получена из регистра, то названия ее колонок совпадут с названиями полей регистра, а значит, загрузка пройдет успешно.
Далее записываем заполненный только нужными записями набор записей в регистр с замещением его исходных данных (как вы уже помните, параметр Замещать метода Записать() по умолчанию имеет значение Истина).
Регламентные задания представляют собой неотъемлемую часть конкретного прикладного решения и описываются на этапе конфигурирования.
Для каждого регламентного задания может быть задано расписание, в соответствии с которым регламентое задание будет автоматически запущено на исполнение. В системе 1С:Предприятие 8 поддерживаются однократные и периодические расписания. Можно задать дату начала и окончания выполнения, дневное, недельное и месячные расписания. Расписание можно задать как на этапе конфигурирования, так и на этапе выполнения (в режиме 1С:Предприятие).
В процессе запуска регламентное задание порождает фоновое задание, которое и выполняет реальную обработку. Регламентное задание может выполняться от имени заданного пользователя и имеет возможность перезапуска (например, в случае непредвиденного завершения работы).
В утилите администрирования клиент-серверного варианта работы автоматическое выполнение регламентных заданий может быть запрещено(в сойствах БД кластера - галочка Установить блокировку регламентных заданий) для конкретной информационной базы. Также имеется возможность блокировать запуск регламентных заданий при создании информационной базы на сервере из диалога запуска 1С:Предприятия.
В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий()
После запуска данной обработки, при открытии ее формы, выполняется подключение в качестве обработчика ожидания процедуры "ОбработкаЗаданий", которая будет вызываться каждые 3 секунды и, в свою очередь, вызывать метод "ВыполнитьОбработкуЗаданий()". Данный метод проверяет, пришло ли время выполнять задания согласно их расписанию. Если да - то он запускает эти задания на выполнение. Открытие созданной обработки по запуску регламентных заданий не рекомендуется осуществлять в том же соединении, где выполняется основная работа с информационной базой. Для подобной задачи лучше использовать отдельное соединение с той же базой.
Посмотрите обработки Регламентированные задания, запуск и настройка
Технологический Журнал (далее ТЖ) позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр).
ТЖ настраивается с помощью файла logcfg.xml в папку программы C:\Program Files\1cv81\bin\conf, пример структуры файла (включить запись событий DBMSSQL):
1. Для успешного создания логов, нужно создать каталоги для логов (например C:\Program Files\1cv81\bin\logs) и дапмов (например C:\Program Files\1cv81\bin\dumps),
где в случае аварийного завершения ТЖ создаст дамп памяти и копию экрана для передачи разработчикам.
Важно иметь в виду, что в каталог ТЖ при некоторых его настройках могут выводится данные очень большого объема. Поэтому, либо на диске С: должно быть достаточно места, либо каталог ТЖ необходимо изменить.
Для работы ТЖ необходимо, чтобы пользователи, от имени которых запускаются приложения 1С:Предприятия (как клиентские, так и серверные), имели полные права на каталог ТЖ (C:\Program FiIes\1cv81\bin\logs), и право на чтение выше лежащего каталога (C:\Program Files\lcv81).
Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).
В каталоге технологического журнала не должно быть посторонних файлов. Каталог, в котором имеются посторонние файлы не позволит создавать журнал (логи).
Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы
2. ТЖ лучше настраивать (с помощью фильтров - тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите "отсутствие места на диске" и тормоза в быстродействии сервера.
Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.
Структура конфигурационного файла
Корневым элементом конфигурационного файла является элемент < config>, который определяет настройки ТЖ. он может содержать несколько элементов < log> и один < dump>
< log> определяет каталог ТЖ:
history = количество часов, через которое инфа будет удалятся из ТЖ.
location = Каталог в котором сохраняются логи
Элемент < dump> определяет каталог в который будут записываться дампы аварийного завершения
< event> - этим элементом определяется условие, при выполнении которого событие будет записано в ТЖ. Условия записываются элементами:
eq = равно
ne = не равно
gt = больше
ge = больше или равно
lt = меньше
le = меньше или равно
like = соответсвие маске
property - атрибут задает название события
value - атрибут задает значение события, ниже пример в котором в ТЖ будут регистрироваться события относящиеся к группе с именем "dbmssql"
Доступны следующие имена групп, с выходом новых версий платформы возможны добавления новых групп:
PROC - события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса(старт, завершение, аварийное завершение и т.д.);
SCOM - события создания или удаления серверного контекста, обычно связанного с информационной базой;
ЕХСР - исключительные ситуации приложений системы Предприятие 8.1, которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса;
EXCPCNTX - события, которые начались, но не закончились в момент возникновения нештатной ситуации;
SDBL - события, связанные с исполнением запросов к модели базы данных системы 1С:Предприятие 8.1;
QERR - события, связанные с обнаружением ошибок компиляции запроса или ограничения на уровне записей и полей базы данных.
PERR - события, связанные с обнаружением ошибок работы с настройками пользователя;
CONN - установка или разрыв клиентского соединения с сервером;
ADMIN - управляющие воздействия администратора кластера серверов;
DBV8DBErg - исполнение операторов SQL файловой СУБД;
DBMSSQL - исполнение операторов SQL СУБД Microsoft SQL Server;
DBPOSTGRS - исполнение операторов SQL СУБД PostgreSQL;
DB2 - исполнение операторов SQL СУБД DB2,
CALL - удаленный вызов.
TLOCK - управление транзакционными блокировками в управляемом режиме.
Следует заметить, что на клиентском компьютере могут возникать только те события, которые отсносятся к группам PROC, ЕХСР, SDBL Также на клиентском компьютере могут возникать события из группы DBVBDBEng, если используется файловый вариант работы системы 1С:Предприятие 8.1.
Также следует заметить, что события из групп PROC, SCOW, ЕХСP, CONN и ADMIN возникают относительно и содержат малое количестово информации, в то время как регистрация событий из групп SDBL, DBVPCBE v и DBMSSQL может привозить к значительному росту ТЖ.
3. Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту "на лету"
7. Понятно, что собрать логи мало, их еще нужно обработать для решения конкретной задачи.
Файлы ТЖ могут быть просмотрены с помощью любого текстового редактора, но через блокнот ТЖ сложно читаем, так как:
- Требует хорошего понимания архитектуры работы системы
- Тексты запросов регистрируются на внутреннем языке 1С:Предприятия и на языке DBMS
Файлы технологического журнала хранятся в подкаталогах. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: < ИмяПроцесса>_< ИдентификаторПроцесса>, например: rphost_4076. Имя файла журнала задается шаблоном ГГММДДЧЧ.log. Например, в журнале 07051819.log имя файла образовано от 2007 мая 18, 19 часов)
Журнал для анализа можно выгрузить в эксель, используя разделителем запятую например
1С:ЦУП использует для своих аналитических показалей логи технологического журнала. При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.
Других парсеров логов от 1С нет, есть ObrabotkaTehnologiceskogoGurnala.epf
8. Возможные ошибки и доп. информация:
- ищем логи в каталоге на сервере хотя для 64 разрядного сервера другой каталог программы
- отследить не завершившийся запрос; событие технологического журнала DBMSSQL выводится только в момент окончания выполнения запроса. Если запрос долго не может выполниться, то его выполнение можно прервать, после чего будут выведены в технологический журнал связанные с ним события.
Режим предназначен для выполнения конфигуратором административных функций без участия пользователя. Данный режим применяется в специальных случаях. Например, с его помощью можно организовать специальный ярлык на рабочем столе Windows для создания резервной копии информационной базы 1С:Предприятия. При этом пользователю не нужно будет выполнять никаких действий по выбору необходимой функции в конфигураторе и указанию параметров необходимых для сохранения информационной базы. Данный режим может использоваться для организации автоматического выполнения административных функций в определенный момент времени. Для этого используется любое программное обеспечение, имеющее возможность планирования и запуска задач в определенное время. Например, может быть организовано автоматическое создание резервной копии в ночное время суток
Пакетный режим предназначен для выполнения следующих действий:
-тестирование и исправление информационной базы;
-выгрузка данных;
-сохранение данных;
-автообмен распределенной информационной базы (режим доступен, если установлена компонента «Управление распределенными информационными базами»).
Запуск Конфигуратора в пакетном режиме
Для работы Конфигуратора в пакетном режиме следует в командной строке запуска 1С:Предприятия, кроме параметра CONFIG, указывающего на то, что система 1С:Предприятие запускается в режиме «Конфигуратор», указать параметр /@ФайлПакетногоРежима. ФайлПакетногоРежима - это имя файла, содержащего параметры пакетного запуска. Все необходимые функции, которые должны быть выполнены Конфигуратором в пакетном режиме, описываются в этом файле.
Имя файла может задаваться как абсолютным путем, так и относительным.
В случае задания относительным путем файл ищется программой сначала в рабочем каталоге пользователя, затем в каталоге информационной базы, а затем в том каталоге, из которого запускается 1С:Предприятие.Для того, чтобы при пакетном режиме не выдавался диалог запуска 1С:Предприятия и диалог авторизации, в строке запуска должны быть указаны все необходимые параметры:
-параметр CONFIG;
-каталог информационной базы (параметр /D);
-имя пользователя, если для данной информационной базы ведется список пользователей (параметр /N);
-пароль пользователя, если для пользователя задан пароль (параметр /Р).
Файл пакетного режима имеет по умолчанию расширение .prm, если используется другое расширение, то оно должно явно указываться в имени файла.
Ниже приведен пример строки запуска Конфигуратора в пакетном режиме:
c:\1cv7\bin\1cv7.exe CONFIG /Dc:\1cv7\db /NПопов /PSekret /@C:\lCV7\CMD\Backup
Структура файла пакетного режима.
Файл пакетного режима является текстовым файлом и может создаваться и модифицироваться любым текстовым редактором. Структура файла включает секции и параметры, определенные для каждой секции. Секция задается отдельной строкой с именем секции в прямоугольных скобках. Параметры задаются отдельными строками после строки соответствующей секции с указанием имени параметра и значением, отделенным знаком «=». Основная секция General, описывает общие параметры пакетного режима и необходимость выполнения отдельных функций пакетного режима. Остальные секции содержат параметры, описывающие особенности выполнения конкретных функций.
Секция General [General]
Данная секция предназначена для описания общих параметров пакетного режима и необходимости выполнения отдельных функций.
Output=Имя_файла
Указывает файл, в который будет дополнительно направляться вывод записей о выполняемых действиях в пакетном режиме. Имя файла может указываться как абсолютным путем, так и относительно каталога, в котором расположен файл параметров. Формат файла дополнительного вывода совпадает с форматом вывода в журнал регистрации. Если параметр не указан, то дополнительный вывод производиться не будет. В любом случае вывод производится в журнал регистрации
Quit=Значение
Указывает, нужно ли завершать выполнение Конфигуратора после выполнения действий пакетного режима.
Если задано Y или 1, после выполнения действий пакетного режима, программа будет завершена, а если 0 или N, то нет.
Если параметр не задан, то программа будет завершена.
CheckAndRepair=Значение
Указывает, нужно ли выполнять тестирование и исправление информационной базы.
Если задано Y или 1, тестирование и исправление будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то тестирование и исправление выполняться не будет.
UnloadData =3начение
Указывает, нужно ли выполнять выгрузку информационной базы.
Если задано Y или 1, выгрузка будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то выгрузка выполняться не будет.
SaveData=Значение
Указывает, нужно ли выполнять сохранение информационной базы.
Если задано Y или 1, сохранение будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то сохранение выполняться не будет.
AutoExchange=Значение
Указывает, нужно ли выполнять автообмен в распределенной информационной базе.
Если задано Y или 1, автообмен будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то автообмен выполняться не будет.
Подробное описание работы с распределенными информационными базами приведено в книге «Управление распределенными информационными базами».
Секция CheckAndRepair [CheckAndRepair]
Данная секция предназначена для описания выполнения тестирования и исправления информационной базы.
Repair=Значение
Параметр указывает, должно ли выполняться исправление информационной базы.
Если задано значение Y или 1, то будет выполняться тестирование и исправление обнаруженных ошибок в информационной базе.
Если задано значение N или 0, то будет производиться только тестирование.
Если параметр не задан, то будет производиться тестирование и исправление.
PhysicalIntegrity=Значение
Параметр указывает, следует ли производить проверку физической целостности таблиц информационной базы.
Если задано Y или 1, проверка будет производиться, если N или 0, то нет.
Если параметр не задан, проверка будет производиться.
Reindex=Значение
Параметр указывает, следует ли производить реиндексацию таблиц информационной базы.
Если задано Y или 1, реиндексация будет производиться, если N или 0, то нет.
Если параметр не задан, реиндексация будет производиться.
Если установлен режим исправления, то рекомендуется установить и режим реиндексации.
LogicalIntegrity=Значение
Параметр указывает, следует ли производить проверку логической целостности таблиц информационной базы.
Если задано Y или 1, проверка будет производиться, если N или 0, то нет.
Если параметр не задан, проверка будет производиться.
RecalcSecondaries=Значение
Параметр указывает, следует ли производить обновление (пересчет) вторичных данных информационной базы, то есть служебных данных, которые могут быть рассчитаны на основании другой информации, хранящейся в информационной базе.
Если задано Y или 1, обновление будет производиться, если N или 0 - то нет.
Если параметр не задан, обновление будет производиться.
RecalcTotals=Значение
Параметр указывает, следует ли производить пересчет итогов бухгалтерского и оперативного учета.
Если задано Y или 1, пересчет будет производиться, если N или 0 - то нет.
Если параметр не задан, пересчет будет производиться.
Pack=3начение
Параметр указывает, следует ли производить упаковку таблиц информационной базы, то есть освобождать место занятое удаленными записями.
Если задано Y или 1, упаковка будет производиться, если N или 0, то нет.
Если параметр не задан, упаковка не будет производиться.
Данный параметр имеет смысл, только если данные хранятся в формате DBF/CDX.
SkipUnresolved=Значение
Параметр указывает, следует ли пропускать неразрешенные ссылки, или их следует исправлять.
Если задано Y или 1, неразрешенные ссылки будет только диагностироваться, если N или 0, то ссылки будут разрешаться способом, задаваемым параметром CreateForUnresolved (см. ниже).
Если параметр не задан, ссылки будут исправляться.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
CreateForUnresolved=Значение
Параметр указывает способ разрешения неразрешенных ссылок.
Если задано Y или 1, для неразрешенной ссылки будет создан объект соответствующего типа, если N или 0, то ссылка будет очищена.
Если параметр не задан, будет создан объект.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
Reconstruct=Значение
Параметр указывает способ исправления информационной базы в случае, когда данные объекта частично потеряны. Если задано Y или 1, будет создан объект, заполненный имеющимися данными, если N или 0, то данные объекта будут удалены.
Если параметр не задан, будет создан объект.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
Секция UnloadData [UnloadData]
Данная секция предназначена для описания выполнения выгрузки данных информационной базы.
UnloadToFile=Имя_Файла
Параметр указывает имя файла переноса данных, в который будет производиться выгрузка. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров.
Параметр должен быть задан обязательно.
IncludeUserDef=Значение
Параметр указывает должен ли в файл переноса данных включаться список пользователей.
Если задано Y или 1, то список пользователей будет включен в файл переноса, если 0 или N, то нет.
Если параметр не задан, то список будет включен в файл переноса.
Password=Пароль
Параметр задает пароль, которым будет закрыт файл переноса данных.
Если параметр не задан, то файл переноса не будет закрыт паролем.
Секция SaveData [SaveData]
Данная секция предназначена для описания выполнения сохранения данных информационной базы.
SaveToFile=Имя_Файла
Параметр указывает имя файла, в который будет производиться сохранение данных. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров.
Параметр должен быть задан обязательно.
FileList=Список сохраняемых файлов
Задается как перечисление имен файлов, разделенных пробелами или запятыми. Длинные имена файлов, содержащие пробелы должны заключаться в кавычки "". В именах файлов могут использоваться символы «*» для обозначения групп файлов.
Если параметр не задан, то список сохраняемых файлов будет взят из файла 1CV7FILE.LST, так же как и в случае выполнения сохранения из пункта меню «Администрирование».
Работа в пакетном режиме
Выполнение указанных действий в пакетном режиме производится всегда в строго определенной последовательности, вне зависимости от порядка следования секций и параметров в файле пакетного режима:
1. тестирование и исправление информационной базы;
2. выгрузка данных;
3. сохранение данных;
4. автообмен распределенной информационной базы.
При работе Конфигуратора в пакетном режиме не выполняется выдача предупреждений и запросов, требующих подтверждения пользователя. При возникновении критических ошибок выполнение пакетного режима прекращается. Результаты выполнения пакетного режима можно просмотреть в журнале регистрации и в файле дополнительного вывода, если он был определен в файле параметров пакетного режима.
Комментарий к файлу:
Во время работы будет сформирован лог-файл (Output="D:\Типовые конфигурации\1SBBDemo\log.txt"). Он будет здесь D:\Типовые конфигурации\1SBBDemo\log.tx.
Будет выполнено сохранение данных (SaveData=1) в файл arch.zip (SaveToFile="D:\Типовые конфигурации\1SBBDemo\arch.zip"). После выполения работы - конфигуратор будет закрыт (Quit=1). Информационная база хранится в D:\Типовые конфигурации\1SBBDemo\. Файл пакетного режима харанится в папке базы и называется paket.txt.
Пакетный режим является мощным инструментом. Чаще всего используется для создания архивных копий. Проблема только в том, что он архив делается всегда под одним именем. И чтобы не затирать старые архивы, требуется некоторая изворотливость с конфигурационным файлом пакетного режима. Но здесь огромное поле для фантазии, по этому предоставляю Вам возможность фантазировать.
Решение:
1. На клиенте включить DCOM утилитой dcomcnfg и добавить нужные протоколы в список.
2. На серваке добавить пользователей в группу "Distributed COM Users"
3. Перезапустить COM-приложение на сервере 1С:Предприятия
В настройках Windows на сервере должна быть включена роль "Сервер приложений" (Application Server)
Прочитать статью на ИТС.
Если клиент и сервер в разных подсетках (доменах), на сервере в локальную группу "Пользователи DCOM" пропишите пользователя клиента. Члены этой группы могут запускать, активизировать и использовать объекты DCOM на этом компьютере.
-----------
Проблема:
После выбора информационной базы (но до логина в 1с) возникает ощибка "Объект сервера 1С предприятия не обнаружен. 800706BF".
Решение:
1) Права пользователя.
Возможно, что пользователь, от имени которого запускается клиентское приложение не зарегистрирован и не доступен компьютеру сервера 1С:Предприятия.
2) Проверьте на клиентском компьютере настройки DCOM.
dcomcnfg/ Default protocols:
- Connection oriented TCP/IP
dcomcnfg/ Default properties:
- Enable distributed COM on this computer
- Default authentication level: Connect
- Default impersonation level: Identify
3) Попробуйте на серверном и клиентском компьютере понизить уровень
аутентификации:
Default authentication level: None
4) Проверьте, не установлено ли сетевых экранов. Откройте порт 135 и те, которые указаны на клиенте и сервере в диалоге:
dcomcnfg/ Default protocols/ Properties/ Post Ranges.
Если там диапазонов портов не указано - задайте их.
----------
Ошибка соединения с сервером 1С:Предприятия 8.0: Неправильный путь к файлу C:W
Решение:
Возможная причина ошибки в том, что для пользователя USER1CV8SERVER не заданы переменные окружения TEMP и TMP, поэтому при создании новой базы временные файлы пытаются быть созданными в корне диска C:
----------
Ошибка создания информационной базы: Компоненты OLE DB провайдера не найдены
Решение:
Такое сообщение может быть выдано, если сервер 1С:Предприятия не смог создать COM объект OLE DB Provider for Microsoft SQL Server.
Ознакомьтесь с разделом "Администрирование/ Установка и настройка/ Сервер 1С:Предприятия и SQL-сервер" на диске ИТС.
1) Найдите в Registry ветку
HKEY_CLASSES_ROOTCLSID{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}InprocServer32
Какой маршрут до файла SQLOLEDB.DLL является значением параметра default?
Убедитесь, что в этом каталоге этот файл есть.
2) Убедитесь, что каталог с файлом SQLOLEDB.DLL доступен пользователю USER1CV8SERVER. Для этого к списку пользователей, имеющих права на каталог можно добавить пользователя USER1CV8SERVER или группу everyone.
3) Запустите утилиту Microsoft SQL Server Client Network Utility. На закладке General установите протокол TCP/IP. На закладке Network Libraries посмотрите маршрут сетевой библиотеки для протокола TCP/IP. Убедитесь, что она присутствует в указанном каталоге и пользователь USER1CV8SERVER имеет доступ в этот каталог.
Попробуйте переустановить MDAC.
Убедитесь, что у пользователя, от имени которого стартует сервер 1С:Предприятия, есть права на каталог, содержащий компоненту OLE DB провайдера, и на файлы в этом каталоге.
----------
При попытке добавить базу с локальной станции, 1C предлагает только вариант выбора файлового варианта базы.
Решение:
На появление меню выбора вида создания базы (файловая или на сервере Предприятия) может влиять только ключ. Если ключа нет, то платформа может быть максимум базовой, а базовая не работает с сервером, поэтому этого меню нет. Если же оно есть, но недоступно, то возможно не установлены компоненты доступа к серверу на этой локальной станции.
----------
Проблема:
Выдается ошибка "Не удалось зафиксировать файл базы данных для открытия или изменения .../1cv8.1CD"
Решение:
Фиксация файла базы данных – это разновидность внутренней блокировки, которая требуется, чтобы на некоторое непродолжительное время обеспечить целостность структуры файла при выполнении операций чтения данных или фиксации транзакции. При чтении требуется, чтобы эти структура файла была в целостном состоянии, а при фиксации транзакции структура может изменяться.
При нормальной работе такая ошибка возникать не должна. Суть сводится к следующему: для выполнения фиксация результатов транзакции может потребоваться выполнить перестройку внутренних структур данных файла *.1cd. А для выполнения чтения данных необходимо гарантировать, чтобы такая перестройка структур данных не выполнялась. Для обеспечения согласования этих операций имеется механизм внутренних блокировок, называемых фиксацией. Фиксация выполняется с ожиданием. В то же время предполагается, что фиксация выполняется на непродолжительное время, меньшее, чем время ожидания. Таким образом, если упомянутая ошибка возникла, то имеет место некоторое нарушение нормального хода событий. Мы наблюдали такую ситуацию и уже описывали ее в партнерской конференции. Вкратце все выглядит примерно так. В какой-то момент времени запрос на блокировку участка файла (функция LockFile() Win32 API) выдает ошибку Network error. В результате возникает ошибка движка файловой базы данных "Не удалось зафиксировать файл базы данных для открытия или изменения".
Природа ошибки нам пока непонятна. Известно только, что она возникает далеко не у всех. Не отмечено никакой связи возникновения этой ошибки с версией 1С:Предприятия 8.0 и используемой конфигурацией. По-видимому речь идет о каких-то особенностях некоторых сетей.
Вполне возможно, что проблема возникает из за нестабильности работы сети
Один из способов проверить - выполнить команду:
ping [Имя сервера] -t
на компьютере, с которого запускается 1с
после чего запустить 1с и посмотреть, что будет происходить...
----------
80004027 - приложение 1CV8 или сомпонента v8.server.1 выключена,
если сервер на Windows Server 2003.
См. статью "Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0" на диске ИТС.
00000005
00000041
80070005
80080005
80000009
80030005
8001011B - клиент не имеет прав на доступ к серверу (access denied). Выполните
рекомендации статьи "Вопросы установки и настройки 1C:Предприятия 8.0
в варианте "клиент-сервер"" из раздела методической поддержки
1С:Предприятия 8.0 на диске ИТС.
800706BA
800706BE- на сервере произошло неожиданное исключение. Сервер упал.
Нужны записи из Event Log с сервера.
80010108 - внутренняя ошибка клиентского приложения. Нужны записи
Event Log клиентского компьютера и описание действий, выполнявшихся
в это время.
80070776 - Запустить DcomCnfg.exe и проверить протокол для DCOM
Должен быть TCP/IP с ориентацией на подключения
8000401A - В свойствах COM+ приложения 1CV8 на серверном компьютере
на закладке Identity установлен Interactive user, но никакой
пользователь интерактивно не вошел в серверный компьютер.
8001011C - На клиентском компьютере запрещено использование DCOM.
Помогает запустить на клиентском компьютере dcomcnfg.exe
и на закладке Default Properties установить флаг
Enable distributed COM on this computer.
80070721 - Ошибка возникает при рассогласовании протоколов
аутентификации между DCOM клиентом и сервером в том случае, если для связи
между ними используется Microsoft Internet Information Services (IIS).
Возможно, для DCOM используется протокол Tunneling TCP/IP. Установите
на компьютере - сервере 1С:Предприятия и на клиентских компьютерах для
DCOM протокол Connection-oriented TCP/IP.