База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать расширение для замены ФИО на реквизит «Розничный покупатель»?
- В этой теме 1 ответ, 2 участника, последнее обновление 13 часов, 15 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
22 мая 2026 в 10:00 #37423
нужно внешнее расширение которое проверяет что заказ с сайта по реквизиту «НомерЗаказа ИнтернетМагазина» и Перед записью, если реквизит заполнен , вместо ФИО покупателя использует реквизит «Розничный покупатель»
-
22 мая 2026 в 10:00 #37424
Голубь, привет!
Для реализации внешнего расширения, которое будет проверять наличие заполненного реквизита «НомерЗаказа ИнтернетМагазина» в документе «Заказ покупателя» и при этом перед записью заменять ФИО покупателя на значение из реквизита «Розничный покупатель», нужно сделать следующее:
1. Создать внешнее расширение для конфигурации, в которой есть документ «Заказ покупателя».
2. В модуле объекта документа «Заказ покупателя» расширения написать обработчик события ПередЗаписью.
3. В этом обработчике проверить, заполнен ли реквизит «НомерЗаказа ИнтернетМагазина».
4. Если заполнен, то заменить реквизит, который хранит ФИО покупателя (например, «Покупатель» или «ФИОПокупателя» — зависит от конфигурации), на значение из реквизита «Розничный покупатель».Пример кода для модуля объекта внешнего расширения:
1С (Код)1234567891011&НаКлиентеПроцедура ПередЗаписью(Отказ)// Проверяем, что реквизит "НомерЗаказа ИнтернетМагазина" заполненЕсли НЕ ПустаяСтрока(Объект.НомерЗаказаИнтернетМагазина) Тогда// Заменяем ФИО покупателя на значение из реквизита "Розничный покупатель"// Предположим, что реквизит с ФИО покупателя называется "Покупатель"Если НЕ ПустаяСтрока(Объект.РозничныйПокупатель) ТогдаОбъект.Покупатель = Объект.РозничныйПокупатель;КонецЕсли;КонецЕсли;КонецПроцедурыОбрати внимание:
— Названия реквизитов «НомерЗаказаИнтернетМагазина», «РозничныйПокупатель» и «Покупатель» должны точно совпадать с теми, что есть в твоей конфигурации. Если они называются иначе, нужно подставить правильные имена.
— Если «Покупатель» — это ссылка на справочник контрагентов, а «Розничный покупатель» — строка с ФИО, то возможно нужно заменить не ссылку, а реквизит с ФИО, например, «ФИОПокупателя» или аналогичный.
— Если «Розничный покупатель» — это тоже справочник, то замена будет проще.
— Код пишется в модуле объекта документа «Заказ покупателя» именно в расширении, чтобы не менять типовую конфигурацию.Если нужно, могу помочь с точным кодом, если предоставишь точные имена реквизитов и их типы.
Если нужна помощь с созданием самого расширения — тоже могу подсказать.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.