Решение проблемы при создании хранилища 1С:УПП

17.01.19

База данных - Инструменты администратора БД

Поиск причины ошибки Runtime Error платформы 8.2 при создании хранилища для конфигурации 1С:УПП начиная с версии 1.3.112.1 и варианты решения.

На написание данной статьи меня сподвигла проблема невозможности создать хранилище для конфигурации 1С:УПП и полное отсутствие описания причин / решений  в интернете.

Отдельно спасибо хотел бы сказать пользователю на Инфостарте lupupa85, которая дала нужный вектор в поиске проблемы, и пользователю AKV77  за статью:  //infostart.ru/public/251265/

 

ИССЛЕДОВАНИЕ.

Поняв, как все работает (даже в общих чертах), проще принимать решения и контролировать процесс.

Если посмотреть историю распухания конфигурации 1С:УПП, а именно, выгруженной в файл cf, то мы увидим следующую картину по версиям:

1.3.111.2 – чуть больше 300 мбайт;

1.3.112.1 – уже больше 500 мбайт;

1.3.115.2 – больше 550 мбайт.

Размеры конфигураций приведены с целью показать, какой произошел скачок размера конфигурации с версии 1.3.111.2 на версию 1.3.112.1 и дальнейшую динамику.

Казалось бы, причем тут размер самой конфигурации, тем более он не дотягивает даже до размера 1 Гб? Однако, мы не забываем, что если 1С:УПП работает на платформе 8.2, то она (платформа) является 32-битной со своими устаревшими ограничениями. И как ниже будет понятно, именно это, совместно с еще одним моментом и служит причиной вываливания платформы в ошибку при создании хранилища с ошибкой:

В результате поиска решения, было выявлено, что при создании хранилища платформа создает временный файл *.tmp в «C:\Users\...Пользователь...\AppData\Local\Temp» (для XP путь будет другим) и в случае достижения размера этого файла 2Гб, а если быть более точными по данным операционной системы Windows «2097мбайт» платформа как раз и валится в ошибку.

Видимо, какая-то компонента, которую использует платформа 8.2, являясь 32-битной, имеет ограничение на размер файла или на размер того, что хранится в tmp файле. Что хранится в tmp файле при создании хранилища мне выяснить не удалось, также не удалось выяснить и какая именно компонента виновата.

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

Путь сбойного приложения: C:\Program Files (x86)\1cv82\8.2.19.130\bin\1cv8.exe
Путь сбойного модуля: C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.8387_none_5094ca96bcb6b2bb\MSVCR90.dll

Все попытки создания хранилища типовой 1С:УПП версии 1.3.115.2 были провальными и прерывались на 74% при достижении предельного размера tmp файла в 2Гб. На мысль натолкнула пользователь lupupa85, которая сказала, что в случае снятия конфигурации с поддержки, хранилище создается. Зная, что в обычном *.1CD (базе данных) при нахождении конфигурации на поддержке хранится сразу 2 конфигурации (текущая и конфигурация поставщика), а при снятии с поддержки конфигурация поставщика удаляется из базы, уменьшая общий объем таблиц в мбайтах, данное утверждение становится логичным. При проведении теста, из типовой конфигурации со снятой поддержкой действительно создалось хранилище, при этом предельный размер tmp файла достиг (второй файл):

Как видно, еще чуть-чуть (всего 100 мбайт) и хранилище не сможет создаться из типовой конфигурации даже при снятой поддержке.

Обрадовавшись, что, хотя бы так можно создать хранилище, я решил на своей конфигурации провести манипуляции, где меня постигло фиаско. Снятая с поддержки конфигурация при создании хранилища выдала ошибку на 99%. Тут нужно уточнить: что в нашей конфигурации объединены 1С:УПП + 1С:УАТ + свои доработки, соответственно общий размер таблиц в мбайтах превышает размер таблиц в типовой конфигурации.

Здесь я не буду описывать на скольких компьютерах, серверах с различными операционными системами (включая разрядность), объемами оперативной памяти и скоростями жестких дисков были попытки создать хранилище с отрицательным результатом, но можете поверить, за почти 7 дней – очень много. Можно сказать было испробовано почти все. Пожалуй, не было попыток только на Windows 10.

Также необходимо отметить, что для конфигурации "на поддержке" на платформе 8.3 (32-битной) хранилище создавалось без проблем.

Естественно о данной проблеме было сообщено в техническую поддержку 1С разработчикам и получен ожидаемый ответ: «Мы проверили, у нас все ОК». Поэтому не будем останавливаться на данном моменте, а пойдем дальше.

 

ВЫВОДЫ ИЗ ИССЛЕДОВАНИЯ.

Удалось выяснить:

1. Из-за какого файла, где расположенного и при каком объеме платформа 8.2 конфигурации 1С:УПП, начиная с 3.112.1 вываливается в ошибку:

- файл с расширением *.tmp;

- расположение «C:\Users\...Пользователь...\AppData\Local\Temp»;

- предельный размер «2097мбайт» (может в зависимости от операционной системы чуть-чуть отклоняться).

2. Замена компоненты «MSVCR90.dll» не дает никакого результата.

3. Оставшийся предельный размер *.tmp для создания хранилища из типовой конфигурации составляет в пределах 100 мбайт (если снята поддержка).

4. Если у Вас объединенная и доработанная конфигурация 1С:УПП, то даже со снятой поддержкой Ваш предел размера tmp файла может быть исчерпан.

5. Данная ошибка «неизвестна» / «известна, но не признается» технической поддержкой 1С.

6. На данную проблему не влияет версия или разрядность операционной системы, скорость и показатели железа. «Замедленная» проблема была заложена еще на этапе проектирования платформы, которая в версии 8.3 была устранена, а в 8.2 оставлена «как есть».

НЕ удалось выяснить:

1. Какая компонента 100% виновата в данной ошибке и причины ее поведения.

2. Что хранится в tmp файле.

 

РЕШЕНИЯ ПРОБЛЕМЫ.

1. Перевести работу сервера, клиентов и разработку на платформу версии 8.3 (с включенной / выключенной совместимостью).

Плюсы:

- Поскольку структура хранилища для платформы 8.3 переработана, то описанная ошибка исчезает сама по себе.

- Решена проблема платформы 8.2 с достижением одной таблицы в хранилище размера в 4Гб и невозможности подключения к хранилищу.

- По описаниям на форумах, скорость работы платформы 8.3 выше чем 8.2 (мною данное утверждение не проверено).

Минусы:

- На форумах имеется негативная информация о стабильности работы пользователей на ранних версиях платформы 8.3. О работе на последних версиях платформы (8.3.10 – 8.3.12) информация противоречивая, но более преобладает положительная, поэтому требуется проверка и тестирование.

- При наличии большого количества пользователей и особенно работы 24/7 требуется тщательная подготовка (установка платформы на клиентах, перевод на новую версию сервера и т.д.).

 

2. Постараться вынудить техническую поддержку 1С признать ошибку и исправить ее. Тут я не буду описывать минусы / плюсы, многие кто работает с 1С и так всё знают.

 

3. ВНИМАНИЕ!!!! НИЖЕОПИСАННОЕ РЕШЕНИЕ ПРОБЛЕМЫ ВЫПОЛНЯЕТСЯ ТОЛЬКО НА СВОЙ СТРАХ И РИСК И АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА РЕЗУЛЬТАТ!!!

Данное решение необходимо применять только в случаях, когда Вам не подходит по каким-либо причинам 1 вариант.

Рекомендация: все манипуляции выполнить на копии, проверить, протестировать базу и только убедившись 100% в гарантированном результате применить на рабочей базе. Выполненные действия на рабочей базе НЕОБРАТИМЫ!!!

Предварительно, перед непосредственным выполнением всем операций необходимо:

- сделать копию рабочей базы и заблокировать от внесения изменений пользователями / программистами на период выполнения манипуляций;

- сделать файл cf из рабочей базы, сохранить в нескольких местах (вдруг по запарке затрете или удалите единственный);

- подготовить копию / копии рабочих баз для тестирования;

- подготовить «мощную тачку» с хорошим железом и обязательно на SSD (ОЗУ: 8 Гб, винт SSD SATA, а лучше M.2 от 250 Гб, процессор от 4 ядер, но с максимальной частотой на 1 ядро);

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

Третье решение разбивается на 2 подварианта. При этом желательно испробовать в начале вариант 3.1 и только в случае отрицательного результата перейти к варианту 3.2.

3.1. Данный вариант подходит, если конфигурация не сильно изменена и доработки не имеют огромных масштабов, соответственно и объемов в мбайтах. Итак, по порядку:

3.1.1. Снимаем конфигурацию с поддержки. Инструкция: //infostart.ru/public/251265/

3.1.2. Нажимаем «Обновить конфигурацию».

3.1.2. Создаем хранилище.

3.1.3. Подключаемся к хранилищу и захватываем все объекты для изменения. При необходимости нажимаем «Обновить конфигурацию».

3.1.4. Ставим конфигурацию на поддержку. Инструкция: //infostart.ru/public/251265/

3.1.5. Нажимаем «Обновить конфигурацию» и подливаем в хранилище (отпускаем объекты).

3.1.6. Подключаемся КОПИЕЙ к хранилищу, тестируем и проверяем на КОПИИ все ли в порядке с документами, движениями и т.д.

3.1.7. При необходимости повторяем на КОПИИ этапы 3.1.1-3.1.6 и только при 100% уверенности в результате подключаем к хранилищу РАБОЧУЮ БАЗУ и обновляем конфигурацию.

 

3.2. Если на этапе 3.1.2 платформа вывалилась в ошибку, то это говорит о том, что Ваша конфигурация слишком большая по объему и требуется что-то удалить. В моем случае, логично были выбраны общие модули, как имеющие огромный объем кода и при этом не имеющие критичных связей с другими элементами (за исключением подписок на события, но в этом случае мы просто оставляем модули в конфигурации). Итак, по этапам:

3.2.1. Снимаем конфигурацию с поддержки. Инструкция: //infostart.ru/public/251265/

3.2.2. Удаляем по одному общие модули из конфигурации. В случае, если конфигурация не дает удалить модуль из-за связанной подписки на события, то его просто пропускаем и удаляем следующие.

3.2.3. Нажимаем «Обновить конфигурацию».

3.2.4. Создаем хранилище. В случае, если при создании хранилища платформа опять вываливается в ошибку, то исходя из того, на каких % это произошло, необходимо вернуться на этап 3.2.2, но в этом случае уже подумать / почитать в интернете какие ОБЪЕМНЫЕ в мбайтах объекты можно с минимальным риском удалить. Необходимо исключить справочники, документы и любые другие элементы, ссылающиеся на другие объекты или имеющие ссылки с других объектов конфигурации. Если мы понимаем, что такие объекты уже исчерпаны, а платформа все равно валится в ошибку, то Ваша конфигурация слишком большая и в этом случае лучше вернуться к 1 варианту с переходом на платформу 8.3.

3.2.5. Подключаемся к хранилищу и захватываем все объекты для изменения. При необходимости нажимаем «Обновить конфигурацию».

3.2.6. Вот здесь понадобиться наша рабочая конфигурация из файла cf. Через «Сравнить и объединить конфигурации» мы подгружаем ранее удаленные на этапе 3.2.2. объекты конфигурации.

3.2.7. Нажимаем «Обновить конфигурацию» и помещаем объекты в хранилище, при этом оставляем их захваченными.

3.2.8. Ставим конфигурацию на поддержку. Инструкция: //infostart.ru/public/251265/

3.2.9. Нажимаем «Обновить конфигурацию» и подливаем в хранилище (отпускаем объекты).

3.2.10. Подключаемся КОПИЕЙ к хранилищу, тестируем и проверяем на КОПИИ все ли в порядке с документами, движениями и т.д.

3.2.11. При необходимости повторяем на КОПИИ этапы 3.2.1-3.2.10 и только при 100% уверенности в результате подключаем к хранилищу РАБОЧУЮ БАЗУ и обновляем конфигурацию.

 

Дальнейшее исследование данной проблемы я проводить не собираюсь, мне достаточно что работоспособность хранилища восстановлена.

В дальнейшем логичным вариантом видится подготовка и перевод работы на платформу 8.3 конфигурации 1С:УПП.

Если данная статья кому-то поможет и сократит Ваше драгоценное время, то я буду только рад.

1С:УПП УПП Обновление УПП хранилище 1С:УПП создание хранилища 1С:УПП создание хранилища УПП хранилище УПП хранилище Runtime Error не могу создать хранилище УПП не могу создать хранилище 1С:УПП ошибка создания хранилища УПП ошибка создания хранилища 1С:УПП ошибка Runtime Error УПП

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2963    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3492    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177723    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27367    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61309    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11742    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    31105    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10974    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. h00k 50 17.01.19 17:39 Сейчас в теме
Есть такой важный момент - не надо подключать к хранилищу рабочую базу. Лучше потратить лишние 15 минут на формирование файла поставки и обновления конфигурации, чем иметь потенциальную дыру в безопасности рабочей базы. Плюс базы с конфигурацией на "полном замке" стабильней работают на х32 серверах.
2. Rus_Tiger 2 18.01.19 07:05 Сейчас в теме
(1) У каждого свои задачи и свои бизнес-процессы. Всегда приходится искать баланс между скоростью / удобством / безопасностью, т.к. "безопасность удобной быть не может".
На счет полной поддержки ("на замке") - это хорошо в том случае, если ее использовать типовую, но в большинстве случае приходится адаптировать. 64 битный сервер 8.2.19 - вполне стабильно работает и нареканий не вызывает.

В любом случае (подключать рабочую базу к хранилищу или нет), сейчас такая ситуация с конфой УПП на платформе 8.2, что хранилище можно создать только с полностью снятой поддержки. Ну и с точки зрения логики, все же правильнее вести разработку на той платформе, на которой потом будет работать конфигурация. Соответственно если сервер 8.2, то и разработку лучше вести на этой же платформе.
3. asved.ru 36 18.01.19 10:42 Сейчас в теме
(2)
На счет полной поддержки ("на замке") - это хорошо в том случае, если ее использовать типовую


Вы не умеете формировать поставку для модифицированной конфигурации?

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

Кажется, правильнее все же держать продакшн на той платформе, на которой исходная конфигурация разрабатывается вендором. А это 8.3
4. Rus_Tiger 2 20.01.19 20:18 Сейчас в теме
(3) Формировать умеем.

А где написано, что УПП вендором разрабатывается под 8.3?
7. vursan 06.02.19 17:00 Сейчас в теме
8. Rus_Tiger 2 07.02.19 11:23 Сейчас в теме
(7) Одна из дыр.
Обычно в основную конфигурацию обновления накатывает 1, максимум 2 человека, так скажем "супер администраторы - очень опытные разработчики", а разработку могут вести значительно большее количество сотрудников. Здесь проблема начиная от обычной ошибки неопытного разработчика, до возможности "внесения чего-нить нехорошего" разработчиком.
Но с другой стороны, если такой специалист есть - то зачем он нужен?

Но всегда нужно помнить: "Безопасность удобной быть не может!"
Поэтому чем выше безопасность, тем больше манипуляций придется проделывать и больше времени на это затрачивать. И это во всех сферах.
5. Rus_Tiger 2 30.01.19 15:39 Сейчас в теме
Получил ответ от 1С, что "Данное поведение исправлено в версиях 8.3. Исправление в 8.2.19 не планируется."
Ну оно и понятно, возможно даже сильных разработчиков для платформы 8.2 и не осталось, а копнуть туда - можно получить еще большие проблемы со стабильностью. Так что платформа 8.2 тихонько хоронится, причем в т.ч. увеличением объема конфигурацией.
6. vursan 06.02.19 16:59 Сейчас в теме
Спасибо! Столкнулись с этим. Еще и в хранилище обновление не до конца положилось(конфигурация поставщика не уместилась) и при этом даже не ругнулось.
9. Rus_Tiger 2 07.02.19 11:29 Сейчас в теме
(6) Если Вам помогло, то я рад! Возможно Вы сэкономите уйму времени и выберете оптимальный для вас путь.
10. ErshovAlex 02.05.19 22:40 Сейчас в теме
Благодарю. Очень помогла Ваша статья.
Для создания хранилища пришлось удалить общие модули и обработки. После этого все прошло успешно.
11. Xershi 1474 02.05.19 23:36 Сейчас в теме
В свое время УСО 1.2 перевел на 8.3.5. А вы до сих пор на 8.2 сидите. Нет слов!
12. Rus_Tiger 2 06.05.19 10:38 Сейчас в теме
(11) Зачем трогать то, что хорошо работает.
13. Xershi 1474 06.05.19 11:01 Сейчас в теме
(12) затем, что хорошо не работает!
14. Rus_Tiger 2 06.05.19 15:21 Сейчас в теме
15. Xershi 1474 06.05.19 16:54 Сейчас в теме
(14) ну я бы посмотрел как у вас почта без костылей на безопасном протоколе работает, ну и другие фишки, которые появились с 8.3. А так если нужно только коробка, конечно можно на 8.2 и сидеть.
16. Rus_Tiger 2 07.05.19 11:44 Сейчас в теме
(15) за что так наказывать? почту на 1С...
1С УПП у нее свои сильные стороны и нужно их использовать.
И кто сказал, что используется только платформа 8.2?
17. Xershi 1474 07.05.19 12:16 Сейчас в теме
(16) вот именно, режим совместимости 8.2 это ее слабая сторона подняв хотя бы до 8.3.5 конфа начинает играть другими красками!
Оставьте свое сообщение