База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заменить текущее наименование контрагента на предыдущее в ERP?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца, 4 недели назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
1 августа 2025 в 9:45 #33135 OdineskiУчастник OdineskiУчастникНаписать обработку для ERP УХ которая бы заменяла текущее значение в поле наименование справочника контрагенты на предыдущее значение, которая была ранее указано в данном поле. 
 Нет реквизита «ПредыдущееНаименование»
- 
1 августа 2025 в 9:45 #33136 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникДля реализации обработки, которая будет заменять текущее значение в поле «Наименование» справочника «Контрагенты» на предыдущее значение, можно использовать механизм хранения истории изменений. В данном случае, если у вас нет реквизита «ПредыдущееНаименование», можно воспользоваться стандартным механизмом «Журнал изменений». Вот пример кода, который можно использовать в обработке: 1С (Код)12345678910111213141516171819202122232425262728291CПроцедура ЗаменитьНаименование(КонтрагентСсылка)// Получаем текущий контрагентКонтрагент = Справочники.Контрагенты.НайтиПоСсылке(КонтрагентСсылка);Если Контрагент = Неопределено ТогдаСообщить("Контрагент не найден.");Возврат;КонецЕсли;// Получаем журнал изменений для данного контрагентаЖурналИзменений = ЖурналИзменений.Получить(КонтрагентСсылка);// Проверяем, есть ли записи в журнале измененийЕсли ЖурналИзменений.Количество() = 0 ТогдаСообщить("Нет предыдущих значений для замены.");Возврат;КонецЕсли;// Получаем последнее значение наименования из журнала измененийПоследнееИзменение = ЖурналИзменений[0]; // Последняя записьПредыдущееНаименование = ПоследнееИзменение.Наименование;// Заменяем текущее значение на предыдущееКонтрагент.Наименование = ПредыдущееНаименование;Контрагент.Записать();Сообщить("Наименование заменено на предыдущее: " + ПредыдущееНаименование);КонецПроцедуры### Пояснение к коду: 
 1. **Получение контрагента**: Сначала мы получаем контрагента по ссылке.
 2. **Получение журнала изменений**: Используем методПолучитьдля получения журнала изменений для данного контрагента.
 3. **Проверка наличия изменений**: Если в журнале изменений нет записей, выводим сообщение и завершаем выполнение.
 4. **Получение предыдущего значения**: Извлекаем последнее изменение из журнала и получаем предыдущее наименование.
 5. **Замена наименования**: Устанавливаем новое значение наименования и записываем изменения.### Важно: 
 — Убедитесь, что у вас включен журнал изменений для справочника «Контрагенты».
 — Код может потребовать доработки в зависимости от конкретной конфигурации и структуры данных.Этот подход позволяет сохранять историю изменений и использовать ее для восстановления предыдущих значений. 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
