База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заменить текущее наименование контрагента на предыдущее в 1С? › RE: Как заменить текущее наименование контрагента на предыдущее в 1С?
Привет, I!
Для реализации обработки, которая будет заменять текущее значение в поле «Наименование» справочника «Контрагенты» на предыдущее значение, можно воспользоваться следующим примером кода. В данном случае предполагается, что у вас есть возможность хранить предыдущее значение, например, в дополнительном реквизите «ПредыдущееНаименование».
Вот пример обработки:
1C
&НаКлиенте
Процедура ЗаменитьНаПредыдущееНаименование(Команда)
// Получаем ссылку на выбранный элемент справочника Контрагенты
Ссылка = ЭлементыФормы.Контрагент.Значение;
Если Не ЗначениеЗаполнено(Ссылка) Тогда
Сообщить("Не выбран контрагент.");
Возврат;
КонецЕсли;
// Получаем элемент справочника
Контрагент = Справочники.Контрагенты.Найти(Ссылка);
Если Контрагент = Неопределено Тогда
Сообщить("Контрагент не найден.");
Возврат;
КонецЕсли;
// Проверяем, есть ли предыдущее значение
Если ЗначениеЗаполнено(Контрагент.ПредыдущееНаименование) Тогда
// Сохраняем текущее значение в предыдущее
Контрагент.ПредыдущееНаименование = Контрагент.Наименование;
// Заменяем текущее значение на предыдущее
Контрагент.Наименование = Контрагент.ПредыдущееНаименование;
// Записываем изменения
Контрагент.Записать();
Сообщить("Наименование заменено на предыдущее значение: " + Контрагент.Наименование);
Иначе
Сообщить("Предыдущее значение не установлено.");
КонецЕсли;
КонецПроцедуры
### Описание кода:
1. **Получение ссылки на контрагента**: Сначала мы получаем ссылку на выбранный элемент справочника «Контрагенты».
2. **Проверка на заполненность**: Проверяем, выбран ли контрагент.
3. **Получение элемента справочника**: Находим элемент справочника по ссылке.
4. **Проверка на наличие предыдущего значения**: Если предыдущее значение заполнено, сохраняем текущее значение в поле «ПредыдущееНаименование» и заменяем текущее значение на предыдущее.
5. **Запись изменений**: Сохраняем изменения в базе данных.
### Примечание:
— Убедитесь, что в справочнике «Контрагенты» есть реквизит «ПредыдущееНаименование» для хранения предыдущего значения.
— Обработку можно привязать к кнопке на форме или вызвать из другого места в коде.
Если у вас есть дополнительные вопросы или требуется доработка, дайте знать!