← На главную
При объединении информационных баз или переносе данных между конфигурациями 1С:Управление нашей фирмой с помощью универсальной обработки ВыгрузкаЗагрузкаXML нередко возникает специфическая ошибка. Номенклатура, виды цен и документы успешно переносятся, в карточке товара цены отображаются корректно, однако при создании документов Заказ покупателя или Расходная накладная цены на перенесенные позиции автоматически не подтягиваются. Даже принудительное нажатие кнопки перезаполнения цен оставляет колонку стоимости пустой.
Разберем детально причины такого поведения программы, рассмотрим методику диагностики и пошагово исправим возникшие коллизии данных.
Причины неподстановки цен после XML-переноса
Проанализируем ситуацию: если в базе-приемнике на ранее существовавшие товары цены подставляются корректно, а на импортированные позиции — нет, корень проблемы лежит в нарушении ссылочной целостности связанных справочников. При выгрузке без сопоставления внутренних идентификаторов платформа 1С создает новые дублирующие записи.
Выделим ключевые технические факторы сбоя ценообразования:
- Дублирование справочника «Валюты». В 1С:УНФ каждый вид цены жестко привязан к определенной валюте. Если в базе образовалось несколько элементов с наименованием «руб.» (один был в базе изначально, второй пришел из XML), в карточках номенклатуры или видах цен может использоваться не та валюта, для которой хранятся курсы в регистре сведений
КурсыВалют. Не имея возможности выполнить пересчет по нулевому или отсутствующему курсу, система блокирует автоматическое заполнение цен.
- Дублирование единиц измерения. Регистр сведений
ЦеныНоменклатуры хранит информацию в разрезе измерения ЕдиницаИзмерения. Если в документе подставляется одна единица, а цена зарегистрирована на ее дубль с другим внутренним UUID, соответствие не находится.
- Дублирование элементов справочника «Виды цен». В шапке или табличной части документа может быть выбран исходный вид цен базы, тогда как перенесенные цены зафиксированы за одноименным новым видом цены.
- Ошибки динамических видов цен. Если вид цены рассчитывается по формуле от базового, сбой регламентного задания или отсутствие цены по базовому виду блокирует расчет.
Шаг 1. Поиск и слияние дублей справочников
Разберем по шагам, как устранить дублирование элементов, возникшее при объединении баз:
- Перейдем в раздел Настройки (или Администрирование) → Обслуживание → Корректировка данных.
- Откроем встроенную обработку Поиск и удаление дублей.
- В поле Искать в: выберем справочник
Валюты.
- Установим правило поиска: По совпадению наименования и нажмем кнопку Найти дубли.
- В появившемся списке проанализируем найденные элементы. В качестве Оригинала обязательно отметим ту валюту, для которой настроена и корректно выполняется регулярная загрузка курсов валют.
- Нажмем кнопку Удалить дубли. Обработка автоматически заменит ссылки во всех документах, карточках номенклатуры и движениях регистров на выбранный оригинал, после чего поместит лишние элементы на удаление.
- Повторим аналогичную процедуру для справочников
Классификатор единиц измерения, Единицы измерения, Виды цен и Ценовые группы, если по ним также образовались задвоенные позиции.
Шаг 2. Проверка и обновление курсов валют
После объединения ссылок на валюты необходимо убедиться в актуальности курсов:
- Перейдем в справочник
Валюты и откроем форму основной валюты взаиморасчетов.
- Перейдем по гиперссылке в регистр сведений
Курсы валют.
- Убедимся, что на дату оформления документов Заказ покупателя и Расходная накладная присутствуют актуальные записи курса и кратности. При необходимости выполним повторную загрузку курсов с сайта РБК или официальных серверов 1С.
Шаг 3. Перепроведение документов установки цен
Если цены загружались напрямую в регистр сторонней обработкой без формирования первичных документов, в регистре сведений ЦеныНоменклатуры могли остаться незаполненными обязательные служебные измерения. Проверим корректность регистрации цен:
- Перейдем в раздел Продажи → Цены → Установка цен (или Прайс-листы).
- Откроем документ установки цен на импортированные позиции или создадим новый документ на проблемную номенклатуру.
- Заполним актуальные значения цен и проведем документ. Это перезапишет движения в регистре
ЦеныНоменклатуры с учетом очищенных от дублей ссылок.
Шаг 4. Сброс счетчика ошибок для динамических цен
Если в базе используются расчетные или динамические виды цен, проанализируем состояние очереди расчета:
- Откроем карточку проблемного элемента в справочнике
ВидыЦен.
- Перейдем на вкладку Служебные реквизиты.
- Проверим реквизит Счетчик ошибок. Если его значение больше нуля, система считает данный вид цены поврежденным и пропускает его при автозаполнении. Сбросим значение счетчика в
0.
- В панели администрирования запустим выполнение регламентного задания по расчету цен.
Шаг 5. Проверка ссылочной целостности базы
Для гарантированного устранения возможных «битых ссылок» (объектов вида <Объект не найден...>), появившихся в результате частичного XML-переноса, выполним регламентное обслуживание:
- Создадим резервную копию информационной базы.
- Запустим информационную базу в режиме Конфигуратор.
- В верхнем меню откроем раздел Администрирование → Тестирование и исправление...
- Отметим флажками опции: Проверка логической целостности, Проверка ссылочной целостности (с установкой переключателя в положение
Создавать объекты или Очищать ссылки) и Реструктуризация таблиц информационной базы.
- Нажмем кнопку Выполнить и дождемся завершения служебного протокола.
После слияния дублей валют, обновления курсов и приведения ссылочной целостности в порядок вернемся в документ Заказ покупателя, нажмем кнопку перезаполнения цен по выбранному виду цен — все стоимостные показатели номенклатуры заполнятся в штатном режиме.