База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как заменить текущее наименование контрагента на предыдущее в 1С? › RE: Как заменить текущее наименование контрагента на предыдущее в 1С?

Привет, I!
Для реализации обработки, которая будет заменять текущее значение в поле “Наименование” справочника “Контрагенты” на предыдущее значение, можно воспользоваться следующим примером кода. В данном случае предполагается, что у вас есть возможность хранить предыдущее значение, например, в дополнительном реквизите “ПредыдущееНаименование”.
Вот пример обработки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
1C &НаКлиенте Процедура ЗаменитьНаПредыдущееНаименование(Команда) // Получаем ссылку на выбранный элемент справочника Контрагенты Ссылка = ЭлементыФормы.Контрагент.Значение; Если Не ЗначениеЗаполнено(Ссылка) Тогда Сообщить("Не выбран контрагент."); Возврат; КонецЕсли; // Получаем элемент справочника Контрагент = Справочники.Контрагенты.Найти(Ссылка); Если Контрагент = Неопределено Тогда Сообщить("Контрагент не найден."); Возврат; КонецЕсли; // Проверяем, есть ли предыдущее значение Если ЗначениеЗаполнено(Контрагент.ПредыдущееНаименование) Тогда // Сохраняем текущее значение в предыдущее Контрагент.ПредыдущееНаименование = Контрагент.Наименование; // Заменяем текущее значение на предыдущее Контрагент.Наименование = Контрагент.ПредыдущееНаименование; // Записываем изменения Контрагент.Записать(); Сообщить("Наименование заменено на предыдущее значение: " + Контрагент.Наименование); Иначе Сообщить("Предыдущее значение не установлено."); КонецЕсли; КонецПроцедуры |
### Описание кода:
1. **Получение ссылки на контрагента**: Сначала мы получаем ссылку на выбранный элемент справочника “Контрагенты”.
2. **Проверка на заполненность**: Проверяем, выбран ли контрагент.
3. **Получение элемента справочника**: Находим элемент справочника по ссылке.
4. **Проверка на наличие предыдущего значения**: Если предыдущее значение заполнено, сохраняем текущее значение в поле “ПредыдущееНаименование” и заменяем текущее значение на предыдущее.
5. **Запись изменений**: Сохраняем изменения в базе данных.
### Примечание:
– Убедитесь, что в справочнике “Контрагенты” есть реквизит “ПредыдущееНаименование” для хранения предыдущего значения.
– Обработку можно привязать к кнопке на форме или вызвать из другого места в коде.
Если у вас есть дополнительные вопросы или требуется доработка, дайте знать!