После переноса базы на новый SQL сервер и сервер 1С в базах БП и ЗУП появляется сообщение информационная база перемещена.
Самое интересное то, что база не перемещалась и написано одинаковые данные с какого сервера на какой перемещена.
Пробовал убрать галочку для этой проверки- не помогло.
Сервер писал как IP так и servermane.
Пробовал по новой создавать базы на сервере 1С.
Все в локальной сети происходит. Пользователей всего 2.
SQL 2016
1С:Предприятие 8.3 (8.3.10.2772)
Релизы предпоследние на 24.10.2018
появляется сообщение информационная база перемещена.
так и в чем проблема то?
Ну определила база, что подозрение на перемещение или копию..спросила при первом запуске,
далее ответили ей, что мол это копия, или это рабочая но в другом месте.
Она это запомнила.
И все.
(5)Вы очень путано выражаете свои мысли!
Объясните наконец перемещалась база или нет - вы же пишете противоположные высказывания...
Если вы укажете в этой форме что база была ПЕРЕМЕЩЕНА, то ничего не изменится в самой базе, ибо она будет себя считать оригиналом и подразумевается, что других таких баз больше нет. Это очень важно, когда скажем есть шанс сдачи одной отчетности из разных баз и тп...
Если вы укажете , что это КОПИЯ БАЗЫ, то она отключается от интернет поддержки и сервисов , опять же по выше указанным возможным причинам.
-
Если вы хотите восстановить у копии базы Интернет поддержку и сервисы то и нужно туда сходить и включить их на свой страх и риск, понимая всю опасность двойной передачи документов
только вот это сообщение появляется чуть ли не каждый день!
т.е. база уже не перемещается, а сообщение с каждым запуском базы по новой вылазит и вылазит ? Или это спустя какое то время происходит ?
Это уже интереснее.
Тут варианты, такие - информация о параметрах базы сохраняется в константах. Если не ошибаюсь там, есть константа специальная с типом хранилище значения, в него помещается имя базы, имя сервера и все сопутствующие параметры.
Дальше, надо рыть.
Есть вероятность, что по каким то причинам, например не хватает прав, - эта константа не может записаться, когда вы отвечаете ответом на вопрос о перемещении базы. Это было бы видно в журнале регистрации, и проявлялось бы при последующем запуске базы.
Либо, все таки причина в сервере, и какие то параметры сервера меняются...тут тоже надо рыть
(9) фактически проверка осуществляется в модуле РегламентныеЗаданияСлужебный
// Определяет установлена ли блокировка работы с внешними ресурсами.
//
Функция УстановленаБлокировкаРаботыСВнешнимиРесурсами(ЭтоВызовПередНачаломРаботыСистемы = Ложь, ПоказатьФорму = Ложь) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат Ложь;
КонецЕсли;
СохраненныеПараметры = Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Получить().Получить();
Если СохраненныеПараметры = Неопределено Тогда
Если ЭтоВызовПередНачаломРаботыСистемы Тогда
ИнициализироватьПараметрыБлокировкиРаботыСВнешнимиРесурсами();
КонецЕсли;
Возврат Ложь;
КонецЕсли;
ПараметрыБлокировки = ПараметрыБлокировкиРаботыСВнешнимиРесурсами();
ЗаполнитьЗначенияСвойств(ПараметрыБлокировки, СохраненныеПараметры);
Если ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено Тогда
Возврат Истина; // Если признак уже был взведен ранее в регламентном задании.
ИначеЕсли ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Истина Тогда
Возврат Не ПоказатьФорму; // Блокировка работы с внешними ресурсами подтверждена администратором.
КонецЕсли;
РазделениеВключено = ОбщегоНазначенияПовтИсп.РазделениеВключено();
// При работе в модели сервиса факт переноса базы определяется менеджером сервиса.
Если РазделениеВключено Тогда
Возврат Ложь;
КонецЕсли;
Если РазделениеВключено <> ПараметрыБлокировки.РазделениеВключено Тогда
// Разделение не включено.
ТекстСообщения = НСтр("ru = 'Информационная база была перемещена из приложения в Интернете.'");
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина;
КонецЕсли;
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
ЭтоФайловаяБаза = ОбщегоНазначения.ИнформационнаяБазаФайловая(СтрокаСоединения);
Если ЭтоФайловаяБаза <> ПараметрыБлокировки.ЭтоФайловаяБаза Тогда
ТекстСообщения = ?(ЭтоФайловаяБаза, НСтр("ru = 'Информационная база была перемещена из клиент-серверного режима работы в файловый.'"),
НСтр("ru = 'Информационная база была перемещена из файловый режима работы в клиент-серверный.'"));
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина;
КонецЕсли;
// Если строка соединения совпадает, то дальнейшую проверку не выполняем.
Если СтрокаСоединения = ПараметрыБлокировки.СтрокаСоединения Тогда
Возврат Ложь;
КонецЕсли;
Если ЭтоФайловаяБаза Тогда
// Для файловой базы через строка соединения может быть разной при подключении с различных
// компьютеров, поэтому проверку перемещения базы осуществляем через файл.
ИмяФайлаПроверки = "DoNotCopy.txt";
НайденныеФайлы = НайтиФайлы(ОбщегоНазначенияКлиентСервер.КаталогФайловойИнформационнойБазы(), "DoNotCopy.txt");
Если НайденныеФайлы.Количество() = 0 Тогда
// В каталоге базы отсутствует файл проверки.
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В каталоге информационной базы отсутствует файл проверки %1.'"), ИмяФайлаПроверки);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина;
КонецЕсли;
ЧтениеТекста = Новый ЧтениеТекста(НайденныеФайлы[0].ПолноеИмя);
ИдентификаторБазы =ЧтениеТекста.ПрочитатьСтроку();
// Файл присутствует, но идентификатор внутри не соответствует ожидаемому.
Если ИдентификаторБазы <> ПараметрыБлокировки.ИдентификаторБазы Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор информационной базы в файле проверки %1 не соответствует идентификатору в текущей базе.'"), ИмяФайлаПроверки);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина;
КонецЕсли;
Иначе // Клиент-серверная база
ИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПолучитьПараметрыИзСтроки(СтрокаСоединения).Ref);
ИмяКомпьютера = НРег(ИмяКомпьютера());
ИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПолучитьПараметрыИзСтроки(СтрокаСоединения).Srvr);
СохраненноеИмяБазы = НРег(СтроковыеФункцииКлиентСервер.ПолучитьПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Ref);
СохраненноеИмяКомпьютера = НРег(ПараметрыБлокировки.ИмяКомпьютера);
СохраненноеИмяСервера = НРег(СтроковыеФункцииКлиентСервер.ПолучитьПараметрыИзСтроки(ПараметрыБлокировки.СтрокаСоединения).Srvr);
Если ИмяБазы <> СохраненноеИмяБазы
Или (ПараметрыБлокировки.ПроверятьИмяСервера
И (ИмяКомпьютера <> СохраненноеИмяКомпьютера
И ИмяСервера <> СохраненноеИмяСервера)) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Различаются имя информационной базы или имя компьютера.
|Сохраненное имя базы: %1, текущее имя базы: %2.
|Сохраненное имя компьютера: %3, текущее имя компьютера: %4'"),
СохраненноеИмяБазы, ИмяБазы, СохраненноеИмяКомпьютера, ИмяКомпьютера);
УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения);
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции
Показать
ну а дальше, искать закономерности, зависимости и отладчик
как мы видим ключемыми значениями для серверной базы условие
Если ИмяБазы <> СохраненноеИмяБазы
Или (ПараметрыБлокировки.ПроверятьИмяСервера
И (ИмяКомпьютера <> СохраненноеИмяКомпьютера
И ИмяСервера <> СохраненноеИмяСервера)) Тогда
Найдите в дереве конфигурации общую форму, поставьте точку останова в ее модуле а процедуре ПриСозданииНаСервере и посмотрите в отладке, на каком моменте определяется признак перемещения базы http://prntscr.com/l9q7dx
Добрый вечер у меня неожиданно появилась та же проблема. А вот в бухгалтерии "разблокировать работы с внешними устройствами" найти не могу и в константах нету. Бухгалтерия версии 3.0.67.43. Может подскажете где искать.