Ошибка при сохранении записи в разделе "Контакты"

Здравствуйте!

Возникла следующая ошибка при сохранении записи в разделе "Контакты". причем как при редактировании/создании новой, так и просто после открытия карточки и нажатия кнопки "ок". "An inussicient number of arguments were supplied for the procedure or function dbo.fn_ContactLDS"
Вот скриншот:

судя из сообщения (некорректное количество аргументов передано в функцию или процедуру fn_ContactLDS), я думала, что закралась ошибка в эту функцию на уровне SQL-- но количество параметров совпадает, сравнивала с такой же функцией на другой базе 3,4 -- все такое же (разве что -- количество полей, так как в эту базу раньше вносились пользовательские поля).

кеш чистился, обновлялись бинарники с версии 3,4,0,50 до 3,4,0,113 -- не помогло (выскакивает и там, и там).

у всех пользователей (у админа тоже).

в последние 3-4 месяца доработки не делались.

версия ТС -- 3.4.0.50 СРМ
MS SQL 2005

что это может быть?

Нравится

8 комментариев

Александр, спасибо за ссылку. я тоже думала, что проблема связана с поиском дублей и полями в таблице Контакт. Правда, не понимаю, почему она всплыла только сейчас. К тому же поля добавлялись средствами Террасофта, а не Скьюеля.

Не подскажете, как выяснить эти поля (если ошибка, конечно, в этом). Потому что я посчитала поля в таблице тбл_Контакт -- и в ТС, и в скьюеле, и в этой функции их 48, то есть одинаковое количество...

заранее спасибо

"Ольга Прилипко" написал: К тому же поля добавлялись средствами Террасофта, а не Скьюеля

Проблема ещё в том, что при удалении из ТС в БД они не удаляются.
Если количество одинаковое, можно просто сравнить попарно скрипт таблицы по Ctrl+P в TSAdmin и реальный скрипт создания таблицы, который показывает MS SQL Studio. Для этого можно отсортировать в двух колонках по алфавиту в Excel или специальную программу для merge.

Спасибо, буду пробовать.

"Зверев Александр" написал:Проблема ещё в том, что при удалении из ТС в БД они не удаляются.

Если все правильно настроено и таблица валидная, поля нормально удаляются.

Нужно также обратить внимание на то, что в этих хранимых нет BLOB-полей, т.е. если в вашей таблице в конфигурации есть поля Description, Photo их не будет в ХП. Таким образом полей в ХП должно быть на 2 меньше.

"Лучкив Александр" написал:Нужно также обратить внимание на то, что в этих хранимых нет BLOB-полей, т.е. если в вашей таблице в конфигурации есть поля Description, Photo их не будет в ХП. Таким образом полей в ХП должно быть на 2 меньше.

Да, так и есть. нет поля "описание" и "фото". все остальное -- одинаковое. Типы полей тоже идентичны.

Кажется, я уже решила проблему. Сначала решила отключить поиск дублей при сохранении записи контакта: Файл -- Настройки -- Правила поиска дублей -- Контакт -- сняты все галочки в колонке "при сохранении записи" (до этого они стояли везде, кроме поля "ФИО"). Проверила -- ошибка не выскакивала. Потом -- а вдруг? -- снова зашла в эти настройки и вернула все, как было. Перезапустила ТС. Потестила. Ошибки больше нет... Возможно, эти действия и исправили проблему (перезаписалась эта функция).

Всем спасибо за помощь.

Хорошо, что само починилось.
Интересно было бы сравнить старую и новую fn_ContactLDS. Наверняка всё же там было отличие в наборе полей.

"Зверев Александр" написал:Интересно было бы сравнить старую и новую fn_ContactLDS

да, мне и самой уже интересно.. но я не сохранила(

остался только открытым вопрос -- что привело к этой ошибке? Хотя, наверное, я сама на него и ответила -- какой-то сбой, что-то не так перезаписалось... а при обновлении настроек все стало на места.

Показать все комментарии