Здравствуйте!
Возникла следующая ошибка при сохранении записи в разделе "Контакты". причем как при редактировании/создании новой, так и просто после открытия карточки и нажатия кнопки "ок". "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
что это может быть?
Нравится
Александр, спасибо за ссылку. я тоже думала, что проблема связана с поиском дублей и полями в таблице Контакт. Правда, не понимаю, почему она всплыла только сейчас. К тому же поля добавлялись средствами Террасофта, а не Скьюеля.
Не подскажете, как выяснить эти поля (если ошибка, конечно, в этом). Потому что я посчитала поля в таблице тбл_Контакт -- и в ТС, и в скьюеле, и в этой функции их 48, то есть одинаковое количество...
заранее спасибо
"Ольга Прилипко" написал: К тому же поля добавлялись средствами Террасофта, а не Скьюеля
Проблема ещё в том, что при удалении из ТС в БД они не удаляются.
Если количество одинаковое, можно просто сравнить попарно скрипт таблицы по Ctrl+P в TSAdmin и реальный скрипт создания таблицы, который показывает MS SQL Studio. Для этого можно отсортировать в двух колонках по алфавиту в Excel или специальную программу для merge.
"Зверев Александр" написал:Проблема ещё в том, что при удалении из ТС в БД они не удаляются.
Если все правильно настроено и таблица валидная, поля нормально удаляются.
Нужно также обратить внимание на то, что в этих хранимых нет BLOB-полей, т.е. если в вашей таблице в конфигурации есть поля Description, Photo их не будет в ХП. Таким образом полей в ХП должно быть на 2 меньше.
"Лучкив Александр" написал:Нужно также обратить внимание на то, что в этих хранимых нет BLOB-полей, т.е. если в вашей таблице в конфигурации есть поля Description, Photo их не будет в ХП. Таким образом полей в ХП должно быть на 2 меньше.
Да, так и есть. нет поля "описание" и "фото". все остальное -- одинаковое. Типы полей тоже идентичны.
Кажется, я уже решила проблему. Сначала решила отключить поиск дублей при сохранении записи контакта: Файл -- Настройки -- Правила поиска дублей -- Контакт -- сняты все галочки в колонке "при сохранении записи" (до этого они стояли везде, кроме поля "ФИО"). Проверила -- ошибка не выскакивала. Потом -- а вдруг? -- снова зашла в эти настройки и вернула все, как было. Перезапустила ТС. Потестила. Ошибки больше нет... Возможно, эти действия и исправили проблему (перезаписалась эта функция).
Всем спасибо за помощь.
Хорошо, что само починилось.
Интересно было бы сравнить старую и новую fn_ContactLDS. Наверняка всё же там было отличие в наборе полей.
"Зверев Александр" написал:Интересно было бы сравнить старую и новую fn_ContactLDS
да, мне и самой уже интересно.. но я не сохранила(
остался только открытым вопрос -- что привело к этой ошибке? Хотя, наверное, я сама на него и ответила -- какой-то сбой, что-то не так перезаписалось... а при обновлении настроек все стало на места.