1с identity не допустимо в union

Обновлено: 06.07.2024


Вместо вступления (из сериала House M.D. о диагностике и поиске решений)

  • Д-р Кадди: Нужен диагноз. Женщина, 26 лет, взрыв газа под зданием, её вытащили из под обломков через 6 часов. Две операции из-за многочисленных переломов и ожогов…
    Д-р Хаус: Думаю, сломанные кости это следствие обрушавшегося ей на голову здания.
  • Д-р Хаус: Представьте, что крыша кладовки обрушилась на вашу любимую поломоечную машину. И та начинает перегреваться.
    Уборщик: Почему я должен любить поломоечную машину? Ладно… Может, от удара повредилось что-нибудь в электропроводке. Или что-то затекло внутрь и испортило её…
    Д-р Хаус: Хм, интересно. Проникновение инфекции через рваные раны. Бактерии отреагировали бы на антибиотики. Для вируса слишком сильный жар.Возможно, паразиты или грибки.
    Уборщик:Или волчанка.
    Хаус в изумлении оборачивается
    Уборщик: У моей бабушки волчанка.
    Д-р Хаус:(озадаченно) Хорошо,ауто-имунная. Проверю на волчанку. Хотя больше подходит инфекция. Хорошо бы ещё её карту. Приступим к худшей части работы. К общению с семьей поломоечной машины.
  • Д-р Хаус: В карточке указано, что она была больна ещё до того, как здание обрушилось.
    Муж пациентки: Я считаю, что это обычная простуда. А что, вы считаете это связано?
    Д-р Хаус: Её болезнь с её болезнью? Порой случается.
  • Мать пациентки: В дневнике сказано, что моя дочь принимает эти таблетки?
    Д-р Хаус: Нет, но с медицинской точки зрения…
    Д-р Кадди: Вы нашли таблетки в её доме?
    Д-р Хаус: Очевидно, она прятала их в сумочке. Подумал, будет неприлично искать под 1000 тонн обломков.
  • Хирург: У неё повсюду кровотечения, разве что аборт сделали при помощи дробовика.

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

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

Принципы анализа

В качестве примеров будут разобраны:

Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.

"Ошибка соединения с сервером 1с: Предприятия 8.1:
server_addr=App1С:1540=Ошибка сетевого доступа к серверу
(Windows sockets - 10061(0x0000274D)
No connection could be made because the target machine actively refused it) line =567

Пример 2. "Потерялся" доступ к информационной базе.

Ошибка при выполнении операции с информационной базой

Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’

H RESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Пример 3. Странная "неизвестная" ошибка.

1. Определение текста (проявления) ошибки и локализация источника возникновения

Определение ошибки

Примечание. Пример 1. Поиск в ниже в разделе "Где можно найти готовое решение" по приведенным на данной странице тексту "10061" покажет сразу объяснение причины и решение: на сервере приложений остановлена служба "Агент сервера 1с:Предприятие 8.1". Соответственно ее надо запустить, например из командной строки:

net start Агент сервера 1с:Предприятие 8.1

Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:\Program Files\1cv81\server и удалите содержимое перед попыткой старта.

2. Воспроизведение ошибки

Воспроизвести ошибку

Не занимайтесь анализом проблемы, если можете сразу по коду или тексту ошибки найти решение. Анализ нужно делать, если решение не помогло или проблема неизвестна. Во втором случае потребуется научиться воспроизводить ошибку, выявить факторы-провокаторы и понять причины. Затем подобрать одно, а повозможности несколько вариантов решения, различающихся по цене.

Технологический журнал

Используя технологический журнал можно исследовать все проблемы, возникающие "внутри" клиент-серверного варианта. Прибегайте к другим логам, то если для этого есть важные причины. Если вы не пользовались технологическим журналом или не хотите - ЭТО НЕ ВАЖНАЯ ПРИЧИНА И СНИЖЕНИЕ ВЕРОЯТНОСТИ НАЙТИ РЕШЕНИЕ. Технологический журнал создавался именно для решения этих задач.

Опрос пользователей

Д-р Хаус (Кэмерон и Чейзу): Вы вместе принимали душ?
Д-р Кэмерон/Д-р Чейз (одновременно): Нет!
Д-р Хаус: Двойное отрицание означает «да»!

«Все лгут» (Everybody lies) © Хаус

С опросом пользователей надо аккуратней. Этот способ диагностики лучше применять, только после того как будут использованы и проанализированы все дургие источники информации. Опять таки, все время в опросе концентрироваться на главном вопросе и/или постораться понять, ради чего лгут.

Воспроизведение проблемы

Иногда воспроизведение проблеммы дает интересные результаты.

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

Чтобы закрепить предположение задаем вопрос нескольким пользователям, работает ли у них в данный момент информационная база. Пользователи в нашем примере дружно ответили, что никто работать не может. Это в свою очередь исключает "вину" клиентской части 1С:Предприятие, так как тогда эффект вряд ли бы был у всех.

Решение:

Запускаем Management Studio и пробуем подключиться к серверу под "user1c". Оказывается, администратор сервера сменил пароль логину "user1c". При этом в настройках информационной базы в кластере серверов остался "старый" пароль.

После обновления пароля у информационной базы в кластере серверов 1С:Предприятие проблема исчезла.

3. Поиск решений

Поиск решений

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

В данном примере "Схема управления питанием" имела настройку "Отключение дисков" = 20 минут, что коррелировало с 20 минутными периодами возникновения этой ошибки.

Пример №4. Описан здесь.

Накопление статистики

Я сказал, что у нас есть три человека.

Это шесть ног.

Так что три болят из-за бега,

две пострадали при авариях,

и ещё одна нога беременна.

© Хаус

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

Где можно найти готовое решение

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

В процессе создания архива- вывалилась ошибка:
Ошибка использования операции 'ОБЪЕДИНИТЬ' ('UNION'). Допустимо объединение не более 256
База теперь ни в какую открываться не хочет.
Посоветуйте, что в такой ситуации можно предпринять?

в организации 2 инф.базы, установлены в клиент-серверном варианте на платформе 8.1
одна после попытки архивировать , не запускается, другая работает в нормальном режиме.

Пожалуйста отпишитесь, кто знаком с такими ошибками, как с этим бороться и что нужно сделать?
заранее благодарна

SQL какой стоит? SQL 2008 не выдает уже эту ошибку.
RLS используется? (2) Swetlana,
Настройки SQL и установку баз в клиент-серверном варианте делал очень давно чел со стороны, сисадмин в 1с плохо разбирается, я так понимаю это нужно копаться в настройках SQL ? Пока не знаю, сисадмин вне доступа.
С базой больше ни каких манипуляций не производила. Конфигурация досталась в наследство, вся переделанная, ограничения в правах : права не полные, два дня назад архив можно было сделать без проблем ну ошибка о 256 таблицах получается именно в SQL меньше 2008 версии. Погуглите по ошибке.
Потом непонятно как именно архивировали саму базу, средствами SQL или выгрузка в dt? Конфигуратор открывается? Только в режим предприятия не дает заходить? (6) Swetlana, Архив делала средствами 1с:
Конфигуратор -администрирование-выгрузить инф. базу
на данный момент не открывается ни конфигуратор , ни инф.база

(10) Ягг,Ошибка одна и та же, что при запуске Конфигуратора, что при запуске Пользовательского режима

Ошибка использования операции 'ОБЪЕДИНИТЬ' ('UNION'). Допустимо объединение не более 256

(10) Ягг, Ошибка возникла при создании архива, средствами 1с, т.е. из конфигуратора
у пользователя действительно много ролей, но раньше сбоев не было, конфа не изменялась около года, проблем не было.
Что бы то ни было с ролями, доступ в Конфигуратор закрыт.
Можно ли эту базу перепрописать в файловом варианте, и проблема уйдет?

(12) nikavilk, если конфигурация не менялась а возникла ошибка выходит проблема не в 1С, а в MS SQL.
Может меняли какие-то настройкина сревере, может не хватает диска? Может быть есть смысл перезагрузить сервер SQL и 1С. Проверить права пользователя SQL под именем которого соединяется сервер 1С с SQL.

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

ТОлько на всякий случай предварительно средстваи SQL сделай копию базы.

Жесткий метод - все пользователи хранятся в специальной таблице SQL - (users если не ошибаюсь). Как вариант можно попытаться ее почистить (НО ОБЯЗАТЕЛЬНО КОПИЮ ПРЕДВАРИЕЛЬНО!). Лучше сначал попробовать на копии: создать на SQL копию текущей базы, подключить ее к 1С и на ней эксперементировать.

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


  • была совершена попытка вставить значение с недопустимым типом;
  • был совершён пропуск точки с запятой;
  • имеет место ошибка, которая произошла при индексировании с полным текстом;
  • некоторое поле имеет неоднозначное определение;
  • не хватает выражения (pos =);
  • совершён выход из размерностей;
  • в поле таблицы используется невозможный тип значения «NULL».

Устранение ошибки SDBL в 1С

Устранить ошибку SDBL можно одним из способов, которые описаны ниже.

1. Сделать перезагрузку на сервере с приложениями для 1С 8.3. Далее может помочь, если включить и выключить все сервисы SQL и агентами SQL. Для этого потребуется зайти на сервер, выбрать «Агент сервера 1С» и при помощи контекстного меню приостановить работу. По аналогии сделаем с «Агентом SQL» и «SQL Server» для сервера SQL. Затем следует снова подключить их, но в обратной последовательности.

2. Выгрузить базу с данными в некоторый файл, который будет иметь расширение DT, а затем выгрузить её назад – в ту же базу с информацией. Аналогично будет исполняться для режима конфигуратора при помощи вкладки меню «Администрирование» – посредством использования команд «Загрузить информационную базу…» и «Выгрузить информационную базу…».

4. Также можно обновить платформу на более современную версию (с главного портала – ИТС). Для выполнения данного действия скачиваем с ИТС новую платформу 1С 8.3 и устанавливаем ее на компьютерах клиентов и на сервере.

5. Рассмотрим еще один вариант – использование механизма «Тестирование и исправление информационных баз», который находится внутри конфигуратора. В необходимой базе переходим по пути: «Администрирование → Тестирование и исправление информационных баз», а далее запускаем процесс.

6. Совершим загрузку внутри копии, которая является резервной, если она была создана в недавнем времени. Замечание: обязательно часто делать резервные копии до любого важного действия с ИБ. Копии делаются посредством SQL MS или конфигуратора, при этом происходит выгрузка файла в формат dt.

Если ни один из вышеперечисленных способов не устранил ошибку SDBL, следует произвести очистку таблиц _ConfigChngR_ExtProps и _ConfigChngR. Однако для этого потребуется знания принципов работы MSSQL.

Читайте также: