Техническая ошибка при формировании КСФ при возврате товара от покупателя в 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. Спасибо за обратную связь!
    Значит, есть ошибка не в данных, а в конфигурации базы? Судя по проведенному тестированию ошибок в данных не было, но конфигурация-то у вас, как я поняла, на «замке» — не доработанная?

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

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