При работе оптимизированного механизма обновления произошла критическая ошибка

Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.

Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации :)

Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.

При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.

Для случаев, когда объемы данных небольшие, это не так чувствительно.

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

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

С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.

Сегодняшнее видео закрывает этот вопрос:

  • Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
  • Показываем, как настроить и использовать новый механизм
  • Демонстрируем его преимущества и рассказываем о его недостатках
  • Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.

Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.

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

Ключевые моменты видео:

  • 00:00 – Постановка задачи
  • 00:28 – Старый способ реструктуризации и его недостатки
  • 01:50 – Новый способ реструктуризации
  • 02:17 – Плюсы нового способа
  • 03:04 – Установка Java на сервер 1С
  • 04:18 – Настройка файла conf.cfg на клиенте
  • 05:40 – Демонстрация работы старого механизма
  • 07:36 – Демонстрация работы нового механизма
  • 08:58 – Особенности использования нового механизма
  • 09:10 – Включение протокола TCP/IP для СУБД
  • 10:52 – Проверка сторонних индексов
  • 13:20 – Настройка параметра MAXDOP в MS SQL
  • 16:36 – Итоги

video

После курса Вы сможете:

  • Оценивать состояние системы в любой момент времени
  • Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
  • Отслеживать динамику производительности за определенный период
  • Устранять ожидания на блокировках и решать проблемы со взаимоблокировками

Для кого этот курс

Вам нужен этот курс, если Вы хотите:

  • Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
  • Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
  • Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь.

Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.

Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации :)

Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.

При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.

Для случаев, когда объемы данных небольшие, это не так чувствительно.

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

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

С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.

Сегодняшнее видео закрывает этот вопрос:

  • Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
  • Показываем, как настроить и использовать новый механизм
  • Демонстрируем его преимущества и рассказываем о его недостатках
  • Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.

Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.

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

Ключевые моменты видео:

  • 00:00 – Постановка задачи
  • 00:28 – Старый способ реструктуризации и его недостатки
  • 01:50 – Новый способ реструктуризации
  • 02:17 – Плюсы нового способа
  • 03:04 – Установка Java на сервер 1С
  • 04:18 – Настройка файла conf.cfg на клиенте
  • 05:40 – Демонстрация работы старого механизма
  • 07:36 – Демонстрация работы нового механизма
  • 08:58 – Особенности использования нового механизма
  • 09:10 – Включение протокола TCP/IP для СУБД
  • 10:52 – Проверка сторонних индексов
  • 13:20 – Настройка параметра MAXDOP в MS SQL
  • 16:36 – Итоги

После курса Вы сможете:

  • Оценивать состояние системы в любой момент времени
  • Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
  • Отслеживать динамику производительности за определенный период
  • Устранять ожидания на блокировках и решать проблемы со взаимоблокировками

Для кого этот курс

Вам нужен этот курс, если Вы хотите:

  • Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
  • Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
  • Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь.

  

RoRu

27.01.22 — 12:04

есть большая база, 1с рекомендует выставить при обновлении параметр реструктуризации оптимизированный

выставляю — получаю ошибку.

а как просто посмотреть кол-во проводок в БП , может и старым методом пройдёт , там от 100 000 пишут новый запускать ?

админы сторонние , ошибку им передал, но и тут спрошу, может кто в курсе

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

по причине:

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

по причине:

Критическая ошибка работы Java-процесса.

Путь к Java: C:Program FilesJavajre1.8.0_321binjava.exe

Действие: prepare

Process ID: 5340

Код возврата: 1

Ошибка: Exception in thread «main» com._1c.dmf.v8.cli.ApplicationException: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:105)

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.create(MsSqlDataSourceFactory.java:51)

    at com._1c.dmf.v8.cli.Migration.run(Migration.java:81)

    at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2435)

    at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1816)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2022)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)

    at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:968)

    at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:69)

    at com._1c.dmf.v8.cli.jdbc.V8DataSource.getConnection(V8DataSource.java:36)

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:86)

    … 3 more

Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

    at sun.security.ssl.Alert.createSSLException(Unknown Source)

    at sun.security.ssl.Alert.createSSLException(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(Unknown Source)

    at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(Unknown Source)

    at sun.security.ssl.SSLHandshake.consume(Unknown Source)

    at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)

    at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)

    at sun.security.ssl.TransportContext.dispatch(Unknown Source)

    at sun.security.ssl.SSLTransport.decode(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)

    at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1753)

    … 11 more

  

palsergeich

1 — 27.01.22 — 12:11

  

МихаилМ

2 — 27.01.22 — 12:37

(1) не осилит.

  

Ёпрст

3 — 27.01.22 — 13:03

(0) короче, нужно в java.security найти строки с tlsv1

  

Ёпрст

4 — 27.01.22 — 13:03

и удалить из алгортима

  

Ёпрст

5 — 27.01.22 — 13:04

  

Ёпрст

6 — 27.01.22 — 13:05

открыть java.security, найти jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,  и в ней удалить TLSv1, TLSv1.1

  

Ёпрст

7 — 27.01.22 — 13:05

усё.

  

RoRu

8 — 27.01.22 — 14:28

(2) с чего бы ?

зы у меня прав нет, админам передал

Епрст- спасибо, но вроде всё понятно там

  

МихаилМ

9 — 27.01.22 — 14:36

(8) т.к. не владеет минимальным базовым навыком пользования поисковыми сервисами интернет.

т.е. проф. непригодны

  

arsik

10 — 27.01.22 — 14:53

Самое простое удалить эту джаву и установить из дистрибутива с сайта 1С

  

RoRu

11 — 27.01.22 — 15:10

(10) спасибо !

  

Ёпрст

12 — 27.01.22 — 15:12

(0)

>>>>а как просто посмотреть кол-во проводок в БП

какой формат базы, для начала..файловая что ле ?

  

RoRu

13 — 27.01.22 — 15:14

(12)

sql

вопрос был средствами 1с

зы я консультант

  

Ёпрст

14 — 27.01.22 — 15:14

(13) ИР открой да гляди.

Перед реструктуризацией V2 прибей все итоги V2, тогда даже не заметишь, как и пройдёт.

  

Ёпрст

15 — 27.01.22 — 15:15

* прибей все итоги РБ

  

Ёпрст

16 — 27.01.22 — 15:16

и да, 20 релиз я бы не ставил, лучше 18

  

RoRu

17 — 27.01.22 — 15:18

(16) да, это понятно, везде 18 ставим

  

RoRu

18 — 27.01.22 — 15:19

(14) точно

  

RoRu

19 — 27.01.22 — 15:51

(10) а как узнать какую из 4ёх на сайте ?

  

arsik

20 — 27.01.22 — 17:49

(19) Достаточно JRE, JDK нужно для разработчиков. 11 или 8 — У вас сейчас стоит 8, но я бы выбрал 11.

  

RoRu

21 — 27.01.22 — 17:55

(20) а в принципе любая должна подойти, чтобы реструктуризация по новому на sql взлетела? правильно я понимаю ?

или там возможны заморочки?

  

arsik

22 — 27.01.22 — 19:07

(21) Да

  

Dunemaster

23 — 27.01.22 — 23:28

Ваша проблема вызвана тем, что в новых сборках Java (JDK/JRE) старый протокол TLS 1.0 запрещен как небезопасный, а MS SQL Server пытается использовать именно ее

Какие могут быть решения:

1) Использовать более старую версию Java (не релиз, а именно версию внутри врупного релиза т.е какую более раннюю версию Java 8)

2) Изменить умолчания Java, как описано в (6)

3) Обновить MS SQL Server, чтобы он использовал более современные версии TLS

У Microsoft есть подробная инструкция

  

Dunemaster

24 — 27.01.22 — 23:28

  

RoRu

25 — 28.01.22 — 00:12

в рабочее время отгрузки, так что я могу только вечером делать

(22) установил с сайта 1с 11 версию , сначала не видело яву, прописал в кфг

стало ругаться на  TLSv1, TLSv1.1

прописал в секюрити явы — написало нету классов в 11 яве

поставил 8ую, снова прописал путь в кфг и поправив секьюрити — взлетело

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

всем спасибо !

  

МихаилМ

26 — 28.01.22 — 00:30

(25) если админы не понимают устно ,то переходите на письменно. это азы правил корпоративного выживания. за одно и свою персону прикроете.

Оглавление

  • Введение
  • Версия механизма реструктуризации
  • Параллелизм СУБД в процессе реструктуризации
  • Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)
  • По каким причинам может не работать второй механизм реструктуризации

Введение

Речь идёт о настройке для серверных баз, которая расположена в свойствах базы на закладке «Обновление» в разделе «Сам процесс»:

Версия механизма реструктуризации

Значение «из conf.cfg» означает, что обновлятор при выполнении пакетного обновления не указывает конкретной версии механизма реструктуризации, который следует использовать. В этом случае сервер 1с полагается на настройки конфигурационного файла conf.cfg (см. описание параметра UpdateDBCfg). Если параметр UpdateDBCfg в конфигурационных файлах (сервера и клиента) не описан — используется 1-я версия механизма реструктуризации (v1).

Значение «v1» означает 1-ю версию механизма реструктуризации, которая используется по умолчанию.

Значение «v2» означает 2-ю оптимизированную версию механизма реструктуризации, которая описана, например, здесь и здесь.

Параллелизм СУБД в процессе реструктуризации

Изменение параллелизма СУБД на время реструктуризации подробно описано здесь.

В обновляторе этот механизм реализован пока только для MS SQL Server.

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

Очевидно, что менять параллелизм для сервера СУБД через обновлятор имеет смысл только при однопоточном выполнении операций.

Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)

При использовании второй (оптимизированной) версии механизма реструктуризации вы можете столкнуться с ситуацией, когда в отчёт попадает не вся информация об ошибке:

Мы видим, что при использовании оптимизированного механизма обновления произошла критическая ошибка, но не видим подробной информации об этой ошибке.

В этом случае можно выполнить эту же операцию интерактивно через конфигуратор — там будет полный текст ошибки.

Но я советую поступить по-другому.

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

Файл настройки logcfg.xml для сбора данных конф. журнала будет таким: ссылка.

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

Значение параметра location равное «c:log1c» означает путь к папке, куда 1с будет записывать данные технологического журнала. Данная папка должна быть уже создана и пользователь, под которым работает обновлятор должен иметь права на запись в эту папку.

Да, я рекомендую настроить сбор технологического журнала именно на клиенте. Этого нам будет достаточно, так как ошибка реструктуризации будет возвращаться конфигуратором на стороне клиента. По этой же причине в файле настройки я намеренно устанавливаю фильтр на процесс «1cv8».

Разместить файл logcfg.xml удобней всего для конкретного пользователя операционной системы, под которым запускается обновлятор (и соотв. конфигуратор для пакетных операций), в папке «C:UsersusernameAppDataLocal1C1cv8conf».

После этого при возникновении ошибки реструктуризации в указанной нами папке для сбора данных мы сможем найти (по дате и времени) соотв. файл с подробным описанием ошибки, например:

Искать можно по фразе «в процессе обновления конфигурации базы данных при работе оптимизированного механизма».

В данном конкретном случае причина ошибки — не был запущен сервис «SQL Server Browser».

По каким причинам может не работать второй механизм реструктуризации

Прежде всего на сервере 1с должна быть установлена среда исполнения Java 8 Full JRE той же битности, что и сам сервер 1с.

К SQL серверу должно быть возможно подключение по протоколу TCP/IP (для MS SQL Server этот параметр настраивается в SQL Server Configuration Manager в разделе SQL Server Network Configuration).

Для MS SQL Server версии 2005 и позднее должна быть запущена служба SQL Server Browser.

Могут быть и более специфичные причины ошибок, связанные непосредственно с базой данных (например, индексы отличные от стандартных). В этом случае я советую собрать подробную информацию по ошибке из технологического журнала. И если всё-равно не получится разобраться самому — обращаться с этой информацией в службу технической поддержки 1с.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

<?php // Полная загрузка сервисных книжек, создан 2023-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='

Related Posts

  • Восстановление последовательности документов при закрытии месяца в Бухгалтерия 3.0 не завершается
  • Заполнение табличных частейЗаполнение табличных частей
  • Формирование сводных актов выполненных работ
  • Ввод поступления в переработку на основании передачи сырья (между организациями)
  • Конспект по установке сервера 1С на linuxКонспект по установке сервера 1С на linux
  • Получение имени компьютера и его IP локально и в терминале

46 Comments

  1. (1) да, весьма в тему, спасибо!

    Reply

  2. Буду тестировать скоро отключение режима совместимости 8.2))) БД почти 3 ТБ.

    Reply

  3. Двойственные чувства.

    С одной стороны слава тебе Господи, наконец-то 1С сподобилась взяться за то, что куча народа ждало еще со времён 7.7. С другой стороны тут и Java, тут и Powershell… А сплясать в водолазном костюме в гамаке не надо?

    Reply

  4. (4) аналогичные чувства… только обрадоваться хотел, но остался вопрос, почему нельзя сделать это всё прямо из платформы, по кнопке «сделать всё хорошо»?

    Reply

  5. (4) Java — это отголоски наработок по платформе 1C 8.4. Развитие этой версии идет медленно и новостей давно не слышно, но ее наработки постепенно появляются в 8.3. На Java никто писать не заставляет, а представить машину без JRE сейчас сложно. И судя по всему с Java придется дружить всё больше — EDT, сервер взаимодействия и т.д.

    Powershell для примера же приведен. Там кроме команды запуска 1С с параметрами «UpdateDBCfg -Server -v2» и нет ничего, одна консольная команда. Не внешнюю же обработку для выполнения одной консольной команды писать…

    Reply

  6. Я один раз пробовал.

    Мне вывело сообщение ошибка и на какой то внутренний модуль.

    Гугл сказал что ничего не светит. я сказал ок и по старому за 6 часов обновился.

    Обидно конечно.

    Reply

  7. Интересно что за данные в базе на 1тб.

    Reply

  8. (6)

    Там кроме команды запуска 1С с параметрами «UpdateDBCfg -Server -v2» и нет ничего

    CMD не подойдёт?

    Reply

  9. (8)скорее всего продажи, чеки, заказы на перемещение / перемещения на магазины.

    У нас база 3 Тб

    Reply

  10. (8)Размер базы обычной небольшой торговой сети, может быть еще с небольшим производством…

    Reply

  11. Можно и cmd. Друзья, конечно это не одна кнопка «сделать всё хорошо», но уже существенный задел. База — склад, продажи, логистика. Плюс у нас ещё и РИБ. Механизм обновления активно используем, все работает… На ИТС информации мало, поэтому посчитал нужным поделиться опытом и отчитаться об успехе) в дальнейшем неплохо было бы иметь возможность обновляться пакетно с возможностью логгировать ход обновления

    Reply

  12. (12)пока логирование обновления можно наблюдать на стороне базы данных

    Reply

  13. У конфигурации режим совместимости был 8.3.11? Или ниже?

    Reply

  14. (14) режим совместимости был выключен. Но думаю, в режиме совместимости 8.3.11 должно отработать

    Reply

  15. (15) значит как и завялено при режиме совместимости 8.3.10 все будет по старому!

    Reply

  16. О даааа!!!!! Это случилось! В 1С выучили Alter Table!

    Reply

  17. Малину портит только » На сервере 1С обязательно должен быть установлен runtime Java 8″. Вопрос «зачем так» наверное риторический…

    Reply

  18. (18) весь «интеллект» умных скриптов T-SQL написан на Java, в недрах платформы, насколько я понял ))

    Reply

  19. (19) т.е. можно в принципе написать левый скрипт на Java, который реструктуризует базу под новую конфигурацию и зальет туда измененный cf с гитхаба или с какого нибудь каталога?

    И все будет работать?

    Reply

  20. (19) в недрах платформы Java нет, иначе мы бы это уже «почувствовали».

    Пока надеюсь что и не будет.

    Reply

  21. (20) можно декомпильнуть то что написано, подправить и юзать как хочется теперь 🙂

    Reply

  22. (23) на каждое добавление булева не надекомпилируешься. Но сама идея о неразрывном совмещении данных в базе и их интерфейса достаточно спорная.

    При том, что на все итоги и индексы, целостность которых якобы гарантирует платформа, существуют процедуры SQL, выполняющие пересчеты.

    Reply

  23. (22) ну как-то же она тексты скриптов собирает, в зависимости от выполненных действий в конфигураторе

    Reply

  24. (26) мы бы тоже хотели знать как и почему alter возник только сейчас. Исторически сложилось, что реструктуризация выполнялась таким образом в DBF. Сначала все измененные файлы складывались в папку NewStru, затем копировались вместо находящихся в базе. Почти цитирую старый мануал: при возникновении сбоя на первом этапе файлы в базе будут первоначальных вариантов и никакие данные не будут утеряны.

    При возникновении сбоя на втором этапе часть данных в базе может стать некорректной, но всегда есть возможность скопировать файлы из NewStru и завершить процесс реструктуризации вручную. Исходили из положения что бакап и изменение структуры в процессе работы с DBF по-горячему сделать невозможно, а программист, обслуживающий конфигурацию не полезет в dbf и работу платформы, но точно знает основы работы с файлами в файловом менеджере.

    В SQL есть возможность добавить колонку в таблицу в процессе работы. Немонопольно. Это не проблема для SQL, это проблема конфигуратора, который не умеет работать одновременно с разными версиями данных (до и после) какой то реструктуризации.

    Reply

  25. (7)

    Вот такое у меня сейчас. Ковыряемся. Ради спортивного интереса хочу докопаться до причин.

    В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

    по причине:

    Критическая ошибка работы Java-процесса.

    Путь к Java: C:Program FilesJavajre1.8.0_181injava.exe

    Действие: prepare

    Process ID: 22296

    Код возврата: 1

    Ошибка: Exception in thread «main» java.lang.IllegalStateException: Duplicate key ae4a0c5e-f97b-4cf4-96d8-c040bf8e222b

    at java.util.stream.Collectors.lambda$throwingMerger$0(Unknown Source)

    at java.util.HashMap.merge(Unknown Source)

    at java.util.stream.Collectors.lambda$toMap$58(Unknown Source)

    at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)

    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

    at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

    at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

    at java.util.stream.ReferencePipeline.collect(Unknown Source)

    at com._1c.dmf.v8.converters.parameters.documentjournal.GraphContent.<init>(GraphContent.java:24)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeGraphContent(ConfigurationModelParser.java:352)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeValue(ConfigurationModelParser.java:208)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameter(ConfigurationModelParser.java:172)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeAttributeParameter(ConfigurationModelParser.java:155)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeEntityParameters(ConfigurationModelParser.java:139)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.deserializeParameters(ConfigurationModelParser.java:112)

    at com._1c.dmf.v8.cli.modelparsing.ConfigurationModelParser.parse(ConfigurationModelParser.java:92)

    at com._1c.dmf.v8.internal.integration.Arguments.getOldModel(Arguments.java:84)

    at com._1c.dmf.v8.internal.integration.DmfService.prepareMigration(DmfService.java:64)

    at com._1c.dmf.v8.cli.Migration.run(Migration.java:90)

    at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)

    Reply

  26. (28)

    at java.util.HashMap.merge(Unknown Source)

    Да что то очень похожее.

    Причем все базы кроме нужной реструктурировались новым методом нормально.

    Но там было не к спеху, и я просто сделал по старинке.

    Изменений очень много было, может в этом была проблема?

    Reply

  27. (28) поставь Яву не 181, а 171 или младше

    Reply

  28. (21) я на java драйвера для фискальных регистраторов пишу, очень удобно, т.к. один код работает под виндой, линуксом и андроидом. Что я делаю не так? С++ я тоже умею.

    Reply

  29. (31) драйвера или обёртки для готовых dllso ?

    Reply

  30. (32) библиотеки работы с com/usb готовые, драйвера мои что-то типа….

    @Override

    public ByteBuffer getCommand() {

    ByteBuffer data = ByteBuffer.allocate(12 + cashier.length() + cashierFiscalId.length());

    data.order(ByteOrder.LITTLE_ENDIAN);

    data.putShort((short) 2); // отчет об открытии смены

    data.putShort((short) (4 + cashier.length() + 4 + cashierFiscalId.length()));

    data.putShort((short) 1021);

    data.putShort((short) cashier.length());

    data.put(cashier.getBytes(Charset.forName(«IBM866»)));

    data.putShort((short) 1203);

    data.putShort((short) cashierFiscalId.length());

    data.put(cashierFiscalId.getBytes(Charset.forName(«IBM866»)));

    setData(data);

    return super.getCommand();

    }

    Reply

  31. (0) Спасибо за интересный материал! Не подскажите, режим совместимости с 8.2.13 возможно заставить работать этот механизм?

    Reply

  32. (34) к сожалению, нет. Вам придется прибегать к другим методам… О том, как добавлять колонки и индексы в большие таблицы БД — куча статей есть на ИС, в том числе и у меня (не реклама)

    Reply

  33. Надо добавить, что для клиент — серверного варианта базы нужно перезапустить службу сервера 1С

    У меня возникла ошибка

    В процессе обновления конфигурации базы данных при работе механизма реструктуризации второй версии произошла критическая ошибка

    по причине:

    При работе механизма реструктуризации второй версии возникла ошибка. Код возврата: 1. Операция: execute.

    Версия платформы 8.3.13.1513

    Reply

  34. (0) молодцы! ждем вьюхи

    Reply

  35. (21) Ну при всей моей нелюбви к Джаве, я бы все-таки не стал называть ее мусором 🙂 Тот же Apache Kafka на ней написан и шустр до безобразия.

    Reply

  36. (2) и еще в догонку по теме «для тех кто тюнингует 1С+MS SQL» http://v8.1c.ru/predpriyatie/questions_licence.htm#lrvs1cpp

    это к последнему апдейту

    ВАЖНО: Если обновление по v2 падает с ошибкой — одна из причин может быть в том, что в вашей БД есть индексы, отличные от стандартных платформенных (добавленные вручную) — их необходимо физически удалить (именно удалить, а не отключить) перед запуском обновления.

    Reply

  37. А, говорят, Java теперь платная, Oracle денег просит за её использование

    не в домашнем применении.

    Reply

  38. (4) я думал только у меня такое ощущение)

    Reply

  39. почти типовая УПП…

    В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

    по причине:

    Критическая ошибка работы Java-процесса.

    Путь к Java: C:Program Files (x86)Javajre1.8.0_221injava.exe

    Действие: prepare

    Process ID: 2660

    Код возврата: 1

    Ошибка: Exception in thread «main» java.lang.OutOfMemoryError: Java heap space

    Reply

  40. Эта проблема решилась добавлением опции JavaOpts=-Xmx2048m в conf.cfg, но теперь ошибка без расшифровки

    Критическая ошибка работы Java-процесса.

    Путь к Java: C:Program Files (x86)Javajre1.8.0_221injava.exe

    Действие: prepare

    Process ID: 3392

    Код возврата: 1

    Ошибка:

    Reply

  41. повышение режима совместимости УПП до 8.3.1 результатов не дало. Видать сырая еще опция

    Reply

  42. (44) механизм работает с версии 8.3.11. Совместимость должна быть не ниже этой версии

    Reply

  43. (45)

    Неверно. У меня в режиме совместимости 8.3.6 отрабатывает.

    Reply

  44. (1) Ирония в том, что в старом механизме реструктуризации указание MAXDOP=0 используется по умолчанию, она добавлена в качестве опции в запросе на создание индекса.

    А вот в новом механизме, который описан в данной статье, разработчики почему-то забыли эту опцию включить в запрос и если в настройках сервера MAXDOP равен 1, то реструктуризация будет медленнее чем хотелось бы . Возможно следует в статье 4-м пунктом добавить, что включение на сервере MAXDOP=0 на время реструктуризации, дополнительно ускорит этот процесс.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Содержание

  1. 1с-ка не видит Java (для запуска оптимизированной реструктуризации)
  2. Как ускорить процесс реструктуризации и обновления 1С в разы
  3. Умение находить и устранять причины медленной и нестабильной работы систем на 1С обязательно для программистов 1С
  4. После курса Вы сможете:
  5. Для кого этот курс
  6. Комментарии / обсуждение (48):
  7. 1с критическая ошибка работы java процесса
  8. Версия механизма реструктуризации
  9. Параллелизм СУБД в процессе реструктуризации
  10. Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)
  11. По каким причинам может не работать второй механизм реструктуризации

1с-ка не видит Java (для запуска оптимизированной реструктуризации)

Платформа 8.3.15.1830. Конфигурация в режиме совместимости 8.3.14. На кластере установлена Java 8. 1С и Java 64-бит.
Путь к джаве прописан в conf.cfg: JavaHome=C:Program FilesJavajre1.8.0_261
Путь к джаве прописан в переменных среды

Запускаю реструктуризацию, через несколько минут ошибка:

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Не определен путь до каталога установки Java.

Сервер перезагружал, параметр удалял/добавлял в conf.cfg — без разницы
Не совсем понимаю, что мешает 1с-ке.

С ИТС про JavaHome в conf.cfg:

Определяет путь к директории установки JAVA. В случае если данный параметр не задан, то путь до директории установки JAVA определяется в переменной окружения JAVA_HOME. Используется в конфигурационном файле на компьютере, где расположен кластер серверов «1С:Предприятия».

Для ОС Windows в случае, есть в файле conf.cfg данный параметр не задан и не установлена переменная JAVA_HOME, то путь до директории установки JAVA будет определен из системного реестра, куда информация заносится при установке JRE.
—-

Т.е в принципе 1Ска должна найти Джаву по реестру после установки, без дополнительного прописывания в файле и переменных. Пробовал и до bin’а прописывать, хотя вроде достаточно C:Program FilesJavajre1.8.0_261.

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

Источник

Как ускорить процесс реструктуризации и обновления 1С в разы

Нам всем знакомо, как долго может идти обновление: это может занимать несколько часов, а в некоторых случаях – даже
несколько дней.

Однако, его можно заметно ускорить. А для этого нужно немного погрузиться в детали и поговорить о реструктуризации 🙂

Когда в 1С изменяются метаданные (добавляются документы, реквизиты, индексы), происходит изменение структуры таблиц.

При запуске обновления создается полная копия таблицы, включая индексы – уже с новой структурой. Этот процесс называется реструктуризацией. Разумеется, это все занимает довольно заметное время.

Для случаев, когда объемы данных небольшие, это не так чувствительно.

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

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

С момента выхода этого релиза прошло уже 5 лет, но, судя по вопросам в Мастер-группе, до сих пор многие не знакомы с этим механизмом и не знают о его преимуществах.

Сегодняшнее видео закрывает этот вопрос:

  • Объясняем, чем механизм, который появился в 8.3.11, отличается от стандартного способа реструктуризации
  • Показываем, как настроить и использовать новый механизм
  • Демонстрируем его преимущества и рассказываем о его недостатках
  • Объясняем, кому необходим этот механизм, а кому переходить на него не стоит.

Если Вы недовольны тем, с какой скоростью проходит реструктуризация в ваших базах, это видео обязательно к просмотру.

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

Ключевые моменты видео:

  • 00:00 – Постановка задачи
  • 00:28 – Старый способ реструктуризации и его недостатки
  • 01:50 – Новый способ реструктуризации
  • 02:17 – Плюсы нового способа
  • 03:04 – Установка Java на сервер 1С
  • 04:18 – Настройка файла conf.cfg на клиенте
  • 05:40 – Демонстрация работы старого механизма
  • 07:36 – Демонстрация работы нового механизма
  • 08:58 – Особенности использования нового механизма
  • 09:10 – Включение протокола TCP/IP для СУБД
  • 10:52 – Проверка сторонних индексов
  • 13:20 – Настройка параметра MAXDOP в MS SQL
  • 16:36 – Итоги

Умение находить и устранять причины медленной и нестабильной работы систем на 1С обязательно для программистов 1С

После курса Вы сможете:

  • Оценивать состояние системы в любой момент времени
  • Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
  • Отслеживать динамику производительности за определенный период
  • Устранять ожидания на блокировках и решать проблемы со взаимоблокировками

Для кого этот курс

Комментарии / обсуждение (48):

Подскажите пожалуйста, при обновлении пишет “”The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption” when trying to connect to a database”. В чем может быть проблема??

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: c:Program FilesJavajre1.8.0_171binjava.exe
Действие: prepare
Process ID: 9088
Код возврата: 1
Ошибка: Exception in thread “main” java.lang.IllegalArgumentException: expected one element but was:
at com.google.common.collect.Iterators.getOnlyElement(Iterators.java:312)
at com._1c.dmf.v8.converters.attributes.extdimensions.ExtDimensionInActionConverter.getConvertExpression(ExtDimensionInActionConverter.java:62)
at com._1c.dmf.internal.comparator.AttributeComparisonContext.createConvertExpression(AttributeComparisonContext.java:116)
at com._1c.dmf.internal.comparator.AttributeComparisonContext.getConvertExpression(AttributeComparisonContext.java:90)
at com.google.common.collect.Maps.toMap(Maps.java:1119)
at com.google.common.collect.Maps.toMap(Maps.java:1097)
at com._1c.dmf.internal.comparator.ComparisonProcess.processEntity(ComparisonProcess.java:150)
at java.lang.Iterable.forEach(Unknown Source)
at com._1c.dmf.internal.comparator.Comparator.compare(Comparator.java:35)
at com._1c.dmf.v8.internal.integration.DmfService.prepareMigration(DmfService.java:67)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:90)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
Подскажите в чем может быть ошибка? ТиИ запустил и оно прошло успешно ошибок не нашлось. из конфы удаляются справочники которые входят в состав составного типа.

Попробуйте поставить Java версии 171 или младше.

ну вообще как раз 171 и стоит. как оказалось проблема в самой платформе и решили ее только на 8.3.21. т.е. после обновления платформы все заработало. причем в 8.3.21 есть уже свой JRE в комплекте

Ильшат, спасибо за информацию!

Что по поводу файловых баз, можно ли так ускорить обновление?

Честно говоря не могу сказать, просто файловые базы сами по себе не такие большие по объему и там не настолько критична проблема долгого обновления.

Платформа 8.3.20.1838, включил оптимизированный механизм обновления данных. при попытки изменения (реструктуризации) базы получил ошибку ” Multiple entries with same key: reference=reference:null and reference=reference:null” . (упп конфа). как исправить такую ошибку?

Попробуйте запустить Тестирование и исправление с исправлением ошибок.

Если в conf строка добавлена, а на сервере JRE не установлен, то при запуска реструктуризации что будет происходить?

Вероятнее всего будет ошибка с сообщением что не установлена JRE.

Настроил использование нового механизма реструктуризации, на SQL 2012 все работает, на SQL 2008 выдает ошибку (см. текст), настраивал исключение для java в брандмауэре, но не помогло.
Подскажите, в чем может быть причина?

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:Program FilesBellSoftLibericaJRE-8-Fullbinjava.exe
Действие: prepare
Process ID: 8484
Код возврата: 1
Ошибка: Exception in thread “main” com._1c.dmf.v8.cli.ApplicationException: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host (local), named instance INST018 failed. Error: “java.net.UnknownHostException: (local)”. Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:105)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.create(MsSqlDataSourceFactory.java:51)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:81)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host (local), named instance INST018 failed. Error: “java.net.UnknownHostException: (local)”. Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:5241)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1916)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1669)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:968)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:69)
at com._1c.dmf.v8.cli.jdbc.V8DataSource.getConnection(V8DataSource.java:36)
at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:86)
… 3 more

Здравствуйте.
У вас в 2008-м разрешены подключения по сети?
Судя по ошибке не доступен инстанс или не запущена служба SQL Server Browser Service.

Источник

1с критическая ошибка работы java процесса

Речь идёт о настройке для серверных баз, которая расположена в свойствах базы на закладке «Обновление» в разделе «Сам процесс»:

Версия механизма реструктуризации

Значение «из conf.cfg» означает, что обновлятор при выполнении пакетного обновления не указывает конкретной версии механизма реструктуризации, который следует использовать. В этом случае сервер 1с полагается на настройки конфигурационного файла conf.cfg (см. описание параметра UpdateDBCfg). Если параметр UpdateDBCfg в конфигурационных файлах (сервера и клиента) не описан — используется 1-я версия механизма реструктуризации (v1).

Значение «v1» означает 1-ю версию механизма реструктуризации, которая используется по умолчанию.

Значение «v2» означает 2-ю оптимизированную версию механизма реструктуризации, которая описана, например, здесь и здесь.

Параллелизм СУБД в процессе реструктуризации

Изменение параллелизма СУБД на время реструктуризации подробно описано здесь.

В обновляторе этот механизм реализован пока только для MS SQL Server.

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

Очевидно, что менять параллелизм для сервера СУБД через обновлятор имеет смысл только при однопоточном выполнении операций.

Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)

При использовании второй (оптимизированной) версии механизма реструктуризации вы можете столкнуться с ситуацией, когда в отчёт попадает не вся информация об ошибке:

Мы видим, что при использовании оптимизированного механизма обновления произошла критическая ошибка, но не видим подробной информации об этой ошибке.

В этом случае можно выполнить эту же операцию интерактивно через конфигуратор — там будет полный текст ошибки.

Но я советую поступить по-другому.

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

Файл настройки logcfg.xml для сбора данных конф. журнала будет таким: ссылка.

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

Значение параметра location равное «c:log1c» означает путь к папке, куда 1с будет записывать данные технологического журнала. Данная папка должна быть уже создана и пользователь, под которым работает обновлятор должен иметь права на запись в эту папку.

Да, я рекомендую настроить сбор технологического журнала именно на клиенте. Этого нам будет достаточно, так как ошибка реструктуризации будет возвращаться конфигуратором на стороне клиента. По этой же причине в файле настройки я намеренно устанавливаю фильтр на процесс «1cv8».

Разместить файл logcfg.xml удобней всего для конкретного пользователя операционной системы, под которым запускается обновлятор (и соотв. конфигуратор для пакетных операций), в папке «C:UsersusernameAppDataLocal1C1cv8conf».

После этого при возникновении ошибки реструктуризации в указанной нами папке для сбора данных мы сможем найти (по дате и времени) соотв. файл с подробным описанием ошибки, например:

Искать можно по фразе «в процессе обновления конфигурации базы данных при работе оптимизированного механизма».

В данном конкретном случае причина ошибки — не был запущен сервис «SQL Server Browser».

По каким причинам может не работать второй механизм реструктуризации

Прежде всего на сервере 1с должна быть установлена среда исполнения Java 8 Full JRE той же битности, что и сам сервер 1с.

К SQL серверу должно быть возможно подключение по протоколу TCP/IP (для MS SQL Server этот параметр настраивается в SQL Server Configuration Manager в разделе SQL Server Network Configuration).

Для MS SQL Server версии 2005 и позднее должна быть запущена служба SQL Server Browser.

Могут быть и более специфичные причины ошибок, связанные непосредственно с базой данных (например, индексы отличные от стандартных). В этом случае я советую собрать подробную информацию по ошибке из технологического журнала. И если всё-равно не получится разобраться самому — обращаться с этой информацией в службу технической поддержки 1с.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Источник

При работе в «1С:Предприятие» может всплыть следующее сообщение: «Для работы с новой версией 1С:Предприятия должно быть выполнено преобразование информационной базы». Почему появляется это окно и как можно устранить ошибку?

В большинстве случаев причина появления окна – недавний переход программы с устаревшей версии платформы на более новую. У разных платформ информационная база 1С
формируется по-своему и принимает разный состав. Всё, что требуется сделать – произвести конвертацию базы данных (структура которой соответствует устаревшей платформе) в самый новый формат.

Преобразование БД

Процедура эта несложная, однако, сначала рекомендуется создать резервную копию базы, на случай, если во время конвертирования произойдёт ошибка (например, отключится компьютер, в результате информационная база 1С
, как и сама программа, могут повредиться). Затем примените следующий алгоритм действий:

  • Откройте БД в режиме конфигуратора;
  • Вы увидите сообщение с предложением конвертировать информационную базу. Нажмите подтверждение;

  • Закройте конфигуратор.

Откройте базу данных – она должна запуститься без проблем. Если после преобразования окно с ошибкой продолжает появляться, можно попробовать выполнить процедуру повторно. В случае, когда и это не помогает, необходимо обратиться к программисту 1С. Иногда при выполнении операции программа может подвисать. Не надо в этот момент предпринимать никаких действий.

Важно! Информационная база 1С
, преобразованная последней версией программы, не может быть открыта на предыдущих версиях.

Песочница

авторитет

18 сентября 2013 в 15:24

В свое время столкнулся с проблемой: при обновлении конфигурации из хранилища, произошел сбой, и закрылась 1С.

Как выяснилось позднее – произошло разрушение хранилища конфигурации и при обновлении конфигурации из хранилища слетела и конфигурация БД. Подобная ошибка возникала прежде при динамическом обновлении ИБ.

Т.к. данная проблема возникала не однократно решил поделится вариантом лечения.

При следующем запуске конфигуратора вышла ошибка: «Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» при утвердительном ответе получаем сообщение: «Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию» после этого приложение закрывается.

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

Вариант 1 (при наличии бэкапа SQL c копией с идентичной конфигурацией):

Разворачивается копия ИБ, и выполняется запрос следующей конструкции:
USE
GO
DELETE FROM ..
GO
INSERT INTO .. SELECT * FROM ..
GO

При этом пере заливается таблица в которой хранится конфигурация ИБ. Желательно после данной операции выполнить тестирование и исправление ИБ.

Вариант 2 (при отсутствии бэкапа):

К данному варианту обратились как к последней соломинке. Т.к. конфигурация была в стадии разработки и про бэкап немного позабыли понадеясь на хранилище.
В базе удаляются две записи из таблицы «Config» по значению в столбце «FileName» — dbStruFinal и commit

Выполняется следующий запрос:
USE
GO
DELETE FROM .
WHERE FileName = «dbStruFinal»
GO
DELETE FROM .
WHERE FileName = «commit»
GO

Как ни странно база оживает.

Теги:
1с предприятие 8.2, SQL, восстановление конфигурации

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

Предыстория

Нужно нам было создать новый регистр сведений «ЖурналОтслеживанияСообщений». Добавили в конфигурацию, загрузили данные. Затем пошла работа по оптимизации. Пришлось менять структуру регистра. Но не тут-то было!

Тут все ясно. Записи стали неуникальными, нужно их удалить!

Самой простой способ это:

НоваяЗапись = РегистрыСведений.ЖурналОтслеживанияСообщений.СоздатьНаборЗаписей();
НоваяЗапись.Записать();

Таким методом мы очистим регистр в 1С очень быстро (но это будет и нашей ошибкой).

Ошибка

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

Что же представляет ошибка:

В процессе обновления информационной базы произошла критическая ошибка
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name «dbo._InfoRgChngR34546NG» and the index name «_InfoR34546_ByNodeMsg_RNTSRRRRRRNG». The duplicate key value is (0x00000011,d7, , Sep 27 4015 10:22PM, 768404,00,00,00,00,00,00).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1

Пояснение

Давайте разберемся со структурой SQL. У нас есть регистр «ЖурналОтслеживанияСообщений», он в SQL находится в таблице «_InfoR34546″. Проверить это вы можете специальными обработками или методом «тыка» (нам это не придется делать т.к. в тексте ошибки уже указано название таблицы).

А теперь поясню, что же произошло. Когда мы загрузили данные в регистр, то в SQL они попали в таблицу »
_InfoR34546″. Когда мы кодом в 1С очистили таблицу, то эти данные удалились из таблицы »
_InfoR34546″, но они скопировались в таблицу «_InfoRgChngR34546″. Это и стало проблемой.

Решение

Для решения возникшей проблемы нам понадобится очистить SQL
таблицу »
_InfoRgChngR34546″.

Расскажу на примере «Microsoft SQL Server Management Studio». Заходим в «Management Studio». Находим нашу базу, открываем вкладку таблиц, кликаем на любую и жмем кнопку «Новый запрос»:. Теперь набираем запрос

Truncate table «_InfoRgChngR34546
»

У вас может быть и другая таблица! Не забывайте!

И жмем выполнить или клавишу «F5». Вот такой должен быть результат:

Все, теперь можно спокойно обновлять 1С, и ошибки не будет!

Переезжали мы на новый сервер. На нем SQL и 1C. В сравнении со старыми был намного круче. И тест Гилева это тоже подтвердил: против 10-15 на старых серверах выдавал 39. Поэтому мы сразу после покупки перенесли базу и начали работу.

Но в какой-то момент что-то пошло не так — пользователи стали жаловаться на медленную работу. Произвели определенные настройки сервера и служб (какие — тема отдельного поста) и решили перезагрузить сервер, благо скорость перезагрузки — 2 минуты (на других серверах до 10 доходило). После этого при входе в 1С получаем следующее сообщение:

«Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» «Да, Нет»

После нажатия кнопки «Да» появляется следующее:

«Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.»

Первое, что решил сделать — CHECKDB на в Managment Studio — после 2х часов ожидания (база 500 ГБ) — все ОК.

На просторах сети нашел информацию, что такая же ошибка бывает при динамическом обновлении.

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

Решение:

  1. То, чего не хватало для решений из сети:

sp_configure ‘allow updates’, 1
reconfigure with override
go

2. Переводим базу в режим восстановления

alter database set EMERGENCY, SINGLE_USER

3. Выполняем тестирование базы:

dbcc checkdb(‘db_name’, REPAIR_ALLOW_DATA_LOSS)

4. Выводим базу из режима восстановления:

alter database set ONLINE, MULTI_USER

5. В принципе, если уверены что с самой базой все ок, то можно не делать 2-4 пункты. Далее выполняем два запроса в профайлере SQL:

delete from config where FileName = ‘commit’

delete from config where FileName = ‘ dbStruFinal’

Эти записи и отвечают за динамическое обновление — можно не бояться их удалять.

В рабочих версиях баз запросы:

select * from Config WHERE FileName = ‘commit’

select * from Config WHERE FileName = ‘dbStruFinal’

будут пустые.

6. возвращаем настройки:

sp_configure ‘allow updates’, 0
go

7. После этого удалось запустить конфигуратор и база заработала.

Также база может заработать после удаления первого флага.

В процессе обновления базы 1С 8 произошла критическая ошибка. Не удалось вставить значение NULL в столбец таблицы

Описание ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld518», таблицы «Бухгалтерия.dbo._Reference18NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Найденные решения:

Нажатие на изображении увеличит его
1C 8, критическая ошибка при обновлении базы, ошибка СУБД, в столбце запрещены значения NULL

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

Этот конкретный пример предоставит представление о том, как можно разрешить подобного рода ошибки с минимальными знаниями и использованием MS SQL. Т.к. база данных на СУБД Microsoft SQL Server, то учитывая тот факт, что в ошибке есть исчерпывающие данные, то можно определить проблему и устранить с помощью самой СУБД.

Попробуем определить, в каких объектах базы содержится ошибка и далее.

Потребуется запустить SQL Server Management Studio. В дереве «Обозреватель объектов» находим базу данных по ее имени. Раскрываем ветку «Таблицы»:

1С 8, ошибка при обновлении конфигурации базы данных, не удалось вставить значение NULL в столбец

Можно отметить, что название таблиц «_Reference» — это справочники, «_Document» — документы, «_DocumentJourna» — журнал документов, «_Enum» — перечисления, «_InfoRg» — регистры сведений, «_Const» — константы.

Находим таблицу из описания ошибки, в данном примере «_Reference18». В ошибке еще содержится «NG» — это значит new generation (новое поколение), т.к. таблица обновляется. Но ищем исходную таблицу по имени. Правой кнопкой мыши открываем контекстное меню, переходим в подменю «Создать скрипт для таблицы», далее в подменю «Использую SELECT» и наконец пункт «Новое окно редактирования запросов». Таким подходом через менд запрос SELECT позволяет выбрать сразу содержимое всех колонок (столбцов) таблицы. Нажимаем кнопку «Выполнить» командной панели над обозревателем объектов.

Нажатие на изображении увеличит его
1C 8, определение по базе данных SQL не корректных данных в таблице

Это делается для того, чтоб идентифицировать, в каких данных базы содержится проблема. И по запросу и составу данных станет окончательно ясно, какой это справочник. После выполнения запроса можно изучить колонки таблицы «_Description» — она есть у любой таблицы, т.к. соответствует обязательному реквизиту любого справочника «Наименование» (для документов, таким обязательным реквизитом будет номер и дата — «_Date_Time» и «Number»). В текущем примере данные колонки таблицы «_Fld518» и колонки «_Description» легко позволяют понять, что проблема в реквизите «НомерСчета» справочника «Банковские счета».

Нажатие на изображении увеличит его
1С 8, поиск данных, содержащих NULL в таблицах SQL

Даже если данные будут непонятными, то можно будет в режиме 1С:Предприятие воспользоваться полнотекстовым поиском в базе и найти элемент справочника по наименованию или документ по дате и номеру.

Можно было бы сделать запрос далее к базе SQL на поиск значения NULL в столбце таблицы. Но, если Вы не так сильны в запросах к MS SQL, то предлагается дальнейшее устранение ошибки средствами самой 1С. В зависимости от типа и содержания ошибки стратегия поиска может меняться. Но в данном случае оставалось лишь составить запрос на поиск в справочнике реквизитов «НомерСчета»  в значении NULL, ведь именно установка вызывает проблему, значит, скорее всего, что это значение неуместно для данного реквизита.

Нажатие на изображении увеличит его
1С 8, запрос в базе для поиска значения NULL в данных справочника

В результате запроса получается выборка. Далее остается решить, что делать с этими данными. Либо корректно заполнить, либо удалить, если на эти элементы нет ссылок в базе. И далее, если других подобных ошибок в базе нет, то обновление закончится успешно.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

06-08-2021

Журавлев А.С.
(Сайт azhur-c.ru)

   RoRu

27.01.22 — 12:04

есть большая база, 1с рекомендует выставить при обновлении параметр реструктуризации оптимизированный

выставляю — получаю ошибку.

а как просто посмотреть кол-во проводок в БП , может и старым методом пройдёт , там от 100 000 пишут новый запускать ?

админы сторонние , ошибку им передал, но и тут спрошу, может кто в курсе

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

по причине:

В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка

по причине:

Критическая ошибка работы Java-процесса.

Путь к Java: C:Program FilesJavajre1.8.0_321binjava.exe

Действие: prepare

Process ID: 5340

Код возврата: 1

Ошибка: Exception in thread «main» com._1c.dmf.v8.cli.ApplicationException: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:105)

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.create(MsSqlDataSourceFactory.java:51)

    at com._1c.dmf.v8.cli.Migration.run(Migration.java:81)

    at com._1c.dmf.v8.cli.Migration.main(Migration.java:65)

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: «The server selected protocol version TLS10 is not accepted by client preferences [TLS12]». ClientConnectionId:de2212d4-8a77-49f8-8f42-0bfd41a57046

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2435)

    at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1816)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2022)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)

    at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:968)

    at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:69)

    at com._1c.dmf.v8.cli.jdbc.V8DataSource.getConnection(V8DataSource.java:36)

    at com._1c.dmf.v8.cli.jdbc.mssql.MsSqlDataSourceFactory.getYearOffset(MsSqlDataSourceFactory.java:86)

    … 3 more

Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

    at sun.security.ssl.Alert.createSSLException(Unknown Source)

    at sun.security.ssl.Alert.createSSLException(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.TransportContext.fatal(Unknown Source)

    at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(Unknown Source)

    at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(Unknown Source)

    at sun.security.ssl.SSLHandshake.consume(Unknown Source)

    at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)

    at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)

    at sun.security.ssl.TransportContext.dispatch(Unknown Source)

    at sun.security.ssl.SSLTransport.decode(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)

    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)

    at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1753)

    … 11 more

   palsergeich

1 — 27.01.22 — 12:11

   МихаилМ

2 — 27.01.22 — 12:37

(1) не осилит.

   Ёпрст

3 — 27.01.22 — 13:03

(0) короче, нужно в java.security найти строки с tlsv1

   Ёпрст

4 — 27.01.22 — 13:03

и удалить из алгортима

   Ёпрст

5 — 27.01.22 — 13:04

   Ёпрст

6 — 27.01.22 — 13:05

открыть java.security, найти jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,  и в ней удалить TLSv1, TLSv1.1

   Ёпрст

7 — 27.01.22 — 13:05

усё.

   RoRu

8 — 27.01.22 — 14:28

(2) с чего бы ?

зы у меня прав нет, админам передал

Епрст- спасибо, но вроде всё понятно там

   МихаилМ

9 — 27.01.22 — 14:36

(8) т.к. не владеет минимальным базовым навыком пользования поисковыми сервисами интернет.

т.е. проф. непригодны

   arsik

10 — 27.01.22 — 14:53

Самое простое удалить эту джаву и установить из дистрибутива с сайта 1С

   RoRu

11 — 27.01.22 — 15:10

(10) спасибо !

   Ёпрст

12 — 27.01.22 — 15:12

(0)

>>>>а как просто посмотреть кол-во проводок в БП

какой формат базы, для начала..файловая что ле ?

   RoRu

13 — 27.01.22 — 15:14

(12)

sql

вопрос был средствами 1с

зы я консультант

   Ёпрст

14 — 27.01.22 — 15:14

(13) ИР открой да гляди.

Перед реструктуризацией V2 прибей все итоги V2, тогда даже не заметишь, как и пройдёт.

   Ёпрст

15 — 27.01.22 — 15:15

* прибей все итоги РБ

   Ёпрст

16 — 27.01.22 — 15:16

и да, 20 релиз я бы не ставил, лучше 18

   RoRu

17 — 27.01.22 — 15:18

(16) да, это понятно, везде 18 ставим

   RoRu

18 — 27.01.22 — 15:19

(14) точно

   RoRu

19 — 27.01.22 — 15:51

(10) а как узнать какую из 4ёх на сайте ?

   arsik

20 — 27.01.22 — 17:49

(19) Достаточно JRE, JDK нужно для разработчиков. 11 или 8 — У вас сейчас стоит 8, но я бы выбрал 11.

   RoRu

21 — 27.01.22 — 17:55

(20) а в принципе любая должна подойти, чтобы реструктуризация по новому на sql взлетела? правильно я понимаю ?

или там возможны заморочки?

   arsik

22 — 27.01.22 — 19:07

(21) Да

   Dunemaster

23 — 27.01.22 — 23:28

Ваша проблема вызвана тем, что в новых сборках Java (JDK/JRE) старый протокол TLS 1.0 запрещен как небезопасный, а MS SQL Server пытается использовать именно ее

Какие могут быть решения:

1) Использовать более старую версию Java (не релиз, а именно версию внутри врупного релиза т.е какую более раннюю версию Java 8)

2) Изменить умолчания Java, как описано в (6)

3) Обновить MS SQL Server, чтобы он использовал более современные версии TLS

У Microsoft есть подробная инструкция

   Dunemaster

24 — 27.01.22 — 23:28

   RoRu

25 — 28.01.22 — 00:12

в рабочее время отгрузки, так что я могу только вечером делать

(22) установил с сайта 1с 11 версию , сначала не видело яву, прописал в кфг

стало ругаться на  TLSv1, TLSv1.1

прописал в секюрити явы — написало нету классов в 11 яве

поставил 8ую, снова прописал путь в кфг и поправив секьюрити — взлетело

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

всем спасибо !

  

МихаилМ

26 — 28.01.22 — 00:30

(25) если админы не понимают устно ,то переходите на письменно. это азы правил корпоративного выживания. за одно и свою персону прикроете.

Оглавление

  • Введение
  • Версия механизма реструктуризации
  • Параллелизм СУБД в процессе реструктуризации
  • Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)
  • По каким причинам может не работать второй механизм реструктуризации

Введение

Речь идёт о настройке для серверных баз, которая расположена в свойствах базы на закладке «Обновление» в разделе «Сам процесс»:

Версия механизма реструктуризации

Значение «из conf.cfg» означает, что обновлятор при выполнении пакетного обновления не указывает конкретной версии механизма реструктуризации, который следует использовать. В этом случае сервер 1с полагается на настройки конфигурационного файла conf.cfg (см. описание параметра UpdateDBCfg). Если параметр UpdateDBCfg в конфигурационных файлах (сервера и клиента) не описан — используется 1-я версия механизма реструктуризации (v1).

Значение «v1» означает 1-ю версию механизма реструктуризации, которая используется по умолчанию.

Значение «v2» означает 2-ю оптимизированную версию механизма реструктуризации, которая описана, например, здесь и здесь.

Параллелизм СУБД в процессе реструктуризации

Изменение параллелизма СУБД на время реструктуризации подробно описано здесь.

В обновляторе этот механизм реализован пока только для MS SQL Server.

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

Очевидно, что менять параллелизм для сервера СУБД через обновлятор имеет смысл только при однопоточном выполнении операций.

Внимание. Если в процессе изменения параллелизма обновлятором возникает ошибка «Параметр конфигурации max degree of parallelism не существует, либо это расширенный параметр«, то необходимо один раз включить отображение всех параметров конфигурации сервера, выполнив запрос:

EXEC sp_configure 'show advanced options', 1
   RECONFIGURE

Как получать полное описание ошибки при работе оптимизированного механизма реструктуризации (v2)

При использовании второй (оптимизированной) версии механизма реструктуризации вы можете столкнуться с ситуацией, когда в отчёт попадает не вся информация об ошибке:

Мы видим, что при использовании оптимизированного механизма обновления произошла критическая ошибка, но не видим подробной информации об этой ошибке.

В этом случае можно выполнить эту же операцию интерактивно через конфигуратор — там будет полный текст ошибки.

Но я советую поступить по-другому.

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

Файл настройки logcfg.xml для сбора данных конф. журнала будет таким: ссылка.

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

Значение параметра location равное «c:log1c» означает путь к папке, куда 1с будет записывать данные технологического журнала. Данная папка должна быть уже создана и пользователь, под которым работает обновлятор должен иметь права на запись в эту папку.

Да, я рекомендую настроить сбор технологического журнала именно на клиенте. Этого нам будет достаточно, так как ошибка реструктуризации будет возвращаться конфигуратором на стороне клиента. По этой же причине в файле настройки я намеренно устанавливаю фильтр на процесс «1cv8».

Разместить файл logcfg.xml удобней всего для конкретного пользователя операционной системы, под которым запускается обновлятор (и соотв. конфигуратор для пакетных операций), в папке «C:UsersusernameAppDataLocal1C1cv8conf».

После этого при возникновении ошибки реструктуризации в указанной нами папке для сбора данных мы сможем найти (по дате и времени) соотв. файл с подробным описанием ошибки, например:

Искать можно по фразе «в процессе обновления конфигурации базы данных при работе оптимизированного механизма».

В данном конкретном случае причина ошибки — не был запущен сервис «SQL Server Browser».

По каким причинам может не работать второй механизм реструктуризации

Прежде всего на сервере 1с должна быть установлена среда исполнения Java 8 Full JRE той же битности, что и сам сервер 1с.

К SQL серверу должно быть возможно подключение по протоколу TCP/IP (для MS SQL Server этот параметр настраивается в SQL Server Configuration Manager в разделе SQL Server Network Configuration).

Для MS SQL Server версии 2005 и позднее должна быть запущена служба SQL Server Browser.

Могут быть и более специфичные причины ошибок, связанные непосредственно с базой данных (например, индексы отличные от стандартных). В этом случае я советую собрать подробную информацию по ошибке из технологического журнала. И если всё-равно не получится разобраться самому — обращаться с этой информацией в службу технической поддержки 1с.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

В процессе обновления произошла критическая ошибка

Автор NataliaGon, 26 июн 2018, 15:45

0 Пользователей и 1 гость просматривают эту тему.

Здравствуйте, помогите разобраться с ошибкой. Я не программист а бухгалтер,При обновлении конфигурации 1С БГУ ред.1.0 выдало ошибку:
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Ошибка SQL: Таблица не найдена ‘_Document19281’ по причине: Ошибка SQL: Таблица не найдена ‘_Document19281


(0) с какого релиза на какой обновлялись?
конфигурация типовая ИЛИ изменённая?

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают


Цитата: NataliaGon от 26 июн 2018, 15:45
Здравствуйте, помогите разобраться с ошибкой. Я не программист а бухгалтер,При обновлении конфигурации 1С БГУ ред.1.0 выдало ошибку:
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Ошибка SQL: Таблица не найдена ‘_Document19281’ по причине: Ошибка SQL: Таблица не найдена ‘_Document19281

Программисты программируют (меняют/создают код), программирование тут ни при чём!
Что делали?
Явно поиск по ключевым словам через браузер интернета даже не пытались попробовать!

База — какая? файловая или клиент-серверная?
1С — какой версии
Если файловая, то испрвляйте с использованием утилиты chdbfl.exe
Если клиент-серверная то исправляйте средствами клиента СУБД и инструкциями, найденными в интернете

Поиск пробовали


Однозначно что—то у вас с базой данных. Как вариант откатиться назад, обновить платформу и еще раз попробовать. Или просто откатиться и еще раз попробовать.


В процессе обновления на релиз 1.0.52.6, конфигурация типовая, не изменённая, Файловая. Пробовали ТиИ, исправляла с использованием утилиты chdbfl.exe


Платформу то обновлять пробовали?


Да платформу обновляли на 8.3.12.1412


Из архива восстанавливали и пробовали обновлять заново уже на обновленной платформе?


Архив тоже не выгружается , ругается на эту ошибку


Попробуйте восстановить архив в новую файловую базу


  • При работе на газу ошибка богатая смесь
  • При публикации формы произошли ошибки
  • При публикации страницы произошла ошибка через инстаграм на фейсбук
  • При публикации страницы произошла ошибка instagram
  • При публикации вашего обзора произошла ошибка стим