Техническая ошибка при формировании КСФ при возврате товара от покупателя в 1С

Вопрос задал Ольга К. (Нижнекамск)

Ответственный за ответ: Шаврова Ирина (★9.92/10)

Добрый день.
Покупатель вернул часть товара, который был отгружен в 1 квартале 2021г.
Создали документ возврат от покупателя. При попытке создать корректировочную счет фактуру выходит ошибка.
Скрины прилагаю.
Релиз 3.0.95.15
На другой базе этого же релиза ошибка не воспроизводится.

Метки вопроса: —

Все комментарии (14)

  1. Добрый день! Попробуйте почистить кэш и провести тестирование и исправление базы данных в режиме Конфигуратор.
    Как почистить кэш можно посмотреть здесь: Очистка кэш 1С 8.3
    Как сделать тестирование базы: Тестирование и исправление базы 1С 8.3: какие галочки ставить
    Все мои рекомендации делайте на копии базы.

  2. Кэш чистили. Тестирование проводили Ошибка сохраняется

  3. Приложение

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

    Предварительно хочу обратить ваше внимание, что ветка, в которой происходит ошибка (Общий модуль ОбщегоНазначенияКлиентсервер строка 2628) — устаревшая, привожу скрин.
    По-хорошему, сюда не должна передаваться команда, смотрите ремарку разработчиков прямо в коде.
    Если передается, то либо вы не обновлены, либо нужно чистить кеш, либо нет каких-то прав, либо у вас ошибки в самой базе.

    Обратите внимание, что указанная ошибка появляется просто при выводе сообщения пользователю, это вторичная ошибка — первоисточник где-то в другом месте!!! Я прикладываю скрин из кода программы, в котором указывается, что ключ определяется по реквизиту, к которому формируется сообщение об ошибке и которого программа не находит. Определение ключа данных зависит и от того, работаете ли вы в Тонком клиенте, ВебКлиенте, Мобильном клиенте (см. код).

    Поэтому тут еще хорошо бы знать, как вы работаете в 1С: в Тонком клиенте? Через ВебКлиент? Через Мобильное приложение?

    Повторяю, это не первичная ошибка создания СФ, а ошибка при выводе сообщения пользователю, обычно сообщение выводится, когда какое-то условие при создании документов не выполнено или нет каких-то прав. Так как сообщение не выводится, понять какое — мы не можем.

    И очень странно, что вы входите в устаревшую ветку программы!!!
    Поэтому по ошибке сообщения я могу дать ниже рекомендации, а вот ошибку-первоисточник нужно будет искать отдельно, пройдя в Отладчике все команды по заполнению СФ корректировочной. Я попробую ниже это тоже сделать.

    Предварительные рекомендации по ошибке сообщения:
    1. Выгрузите базу и загрузите в отдельную копию, так вы гарантированно отвяжитесь от старого кеша.
    2. Выполните в копии создание документа под правами Администратор, чтобы не было никаких ограничений на организации и у пользователя гарантированно были Полные права.
    3. Если результат будет тот же, то пришлите скрины документа-исходника, Возврата товара от покупателя и описание как делаете корректировочную СФ, скрин О программе с данными релиза и платформы 1С.
    4. Уточните как работаете: в тонком клиенте, в веб-клиенте, в мобильном приложении?
    5. Пришлите текст проведенного тестирования (когда оно выполнится в табло сообщений нажмите клавиши CTRL+A так выделятся все строки, скопируйте их в буфер и потом перенесите в файл Word) Мне нужно увидеть, что действительно, с базой все в порядке и «битых» ссылок нет).
    6. Пришлите права пользователя, под которым создается документ: раздел Администрирование — Настройки пользователей и прав — ссылка Пользователи — Встать на нужного пользователя и нажать кн. Права пользователя. Отчет сохранить и переслать.
    7. Пришлите скрин из Конфигуратора, что запрет на изменения не снят и база полностью типовая. Потому что получается, что программа не может как бы найти реквизит в СФ, к которому нужно вывести сообщение: это может быть при старом кеше, изменении конфигурации, доработке 1С.

    Поскольку ситуация нестандартная, то мне нужно получить ответы на все указанные вопросы в пп. 1-7.

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

    1. 1. Базу выгрузили и отдельно развернули копию.
      2. Конфигурация базовая — поэтому у пользователя полные права.
      3. Скрины документов приложила
      4. База файловая. Запуск — выбрано автоматически. Запускается тонкий клиент.
      5. Тестирование ошибок не выявило
      6. Права доступа приложила.
      7. База типовая.

      Все необходимые скрины собрала в один файл — приложила

      1. Добрый день,
        пп.1-4, 6-7 получила, по п.5 пришлите содержание, как я описала, не скрин самой настройки тестирования.
        Тестирование выполните СО ВСЕМИ ВКЛЮЧЕННЫМИ ФЛАЖКАМИ.
        После этого пришлите скрин как настройки, что выполнили со всеми флажками тестирование, так и данные в окне сообщений (CTRL+A) и вставить в файл.

      2. Приложение

        Обратите внимание, что у вас стоит Тестировать и исправлять — Очищать ссылки.
        Этого делать ни в коем случае не надо. Вы так очистите нужные ссылки, программа их не найдет и войдет в ошибкочные ветки кода.
        Только тестирование. У вас есть ошибки в базе, когда просмотрите файл отчета должны это увидеть.

        Тесируйте только на копии: тестирование и исправление — процесс необратимый.

        1. Прикладываю результаты ТИИ

          1. Спасибо за высланный файл.
            Я подготовила свой файл тестирования и сравнила с вашим. Они идентичны.
            Поэтому без анализа вашей базы в Отладчике ничего сказать больше нельзя.

            Есть небольшая вероятность, что вы до этого выполняли тестирование и исправление с установленным переключателем «Очищать ссылки» в случае ошибок. Поэтому сейчас ситуация уже неясна. Но на текущий момент тестирование ошибок не видит.

            По программному коду я вижу только, что программа входит в ту ветку кода, когда не может найти счет фактуру к исходнику (реализации). Поэтому тут вам нужно встать в Отладчике и пройтись по коду при создании Корректировочной СФ и посмотреть, видит ли программа СФ реализации (УПД) или там битая ссылка.

            Попробуйте в копии создать документ реализации и УПД заново и выполнить возврат с созданием корректировочной СФ. Если дело в битой ссылке — по новой реализации возврат должен пройти корректно.

            Еще можно создать другого пользователя с Полными правами и все повторить под ним. Это на случай, если в Хранилище настроек пользователя что-то некорретно заполнилось.

            Если все это не поможет, нужно передавать базу программисту для анализа выполнений условий создания корректировочной СФ в Отладчике — Конфигурации. Ошибка связана с данными базы и без нее еще что-то сказать сложно.

            Вот максимально, что могу сказать по вашей проблеме…

            1. Пробовали создать документ реализации заново. и на его основе сделать возврат — ошибка такая же.

              1. Тогда попробовать создать новые документы под новым профилем и передать базу программисту на анализ в Отладчике. Без базы вопрос решить не получится.

  4. Приложение

    На всякий случай, для ответа на п.4 Описываю, как это посмотреть: встаете на базу в списке баз 1С, нажимаете кн. Изменить и прощелкиваете формы заполнения по кн. Далее. Выделенные данные я пометила, тоже пришлите по ним скрины.

  5. Приложение

    А вот ошибка-первоисточник — я прошлась по всей цепочке кода по заполнению СФ корректировочной на основании Возврата от покупателя. Ошибка формируется в модуле СФ выданной в процедуре ЗаполнитьСчетФактуруКорректировочный(Основание, Перезаполнить = Ложь), а уж потом передается в ветку формирования сообщения, которая сообщает про КлючДанных.

    То есть ошибка здесь и она должна быть показана, но не показывается и это уже вторичная ошибка. Для определения почему — я вам дала пп.1-7 для ответа.

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

    Поэтому все-таки чистка кеша, мои рекомендации пп. 1-2 и проверка наличия СФ у исправляемых документов.

    Получается это главное. Я проверила — права пользователя анализируются выше по коду и вы это, вроде как, благополучно обходите. А ошибка возникает именно в конце при передаче управления после начальных проверок в ветку ЗаполнитьСчетФактуруКорректировочный(Основание, Перезаполнить = Ложь) при проверке наличия СФ у исправляемых документов.

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

  6. Выгрузили данные из базы для перехода в сервис. И загрузили в чистую базу — ошибка ушла. Спасибо за помощь. Вопрос можно закрыть

    1
  7. То есть перенос данных с выгрузкой и загрузкой файла xml. Спасибо за обратную связь!
    Значит, есть ошибка не в данных, а в конфигурации базы? Судя по проведенному тестированию ошибок в данных не было, но конфигурация-то у вас, как я поняла, на «замке» — не доработанная?

    В любом случае — здорово, что проблема решена! 🙂

Комментарии закрыты.