Очистить поле формы

1. Alissa_Maty 09.11.14 15:09 Сейчас в теме
Здравствуйте! Подскажите, пожалуйста, как мне программно очистить поле формы при определённых условиях, используя Очистить ()? Сейчас пока просто написала что Объект = " ";
но хотелось бы через Очистить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. newborn 09.11.14 15:45 Сейчас в теме
С одной стороны, непонятно в чём проблема. Невозможно что-то сделать на сервере или на клиенте? А во-вторых, непонятно, почему нельзя воспользоваться мотород Очистить? Что мешает?
4. Alissa_Maty 09.11.14 16:52 Сейчас в теме
(2) newborn, я не знаю, как ) Я могу очистить на клиенте?

На клиенте
Если пишу Объект.КонтактноеЛицо.Очистить(); то пишет, что метод не обнаружен
5. dj_serega 392 09.11.14 18:43 Сейчас в теме
(4) Alissa_Maty, а чем не нравится "Объект.КонтактоеЛицо = Неопределено"?
6. newborn 09.11.14 23:58 Сейчас в теме
(4) Alissa_Maty,
Если контактное лицо - это справочник, то можно сделать серверный вызов, а там сделать

Объект.КонтактноеЛицо=Справочники.<НазваниеСправочника>.ПустаяСсылка();
3. SemenovaMarinaV 09.11.14 16:14 Сейчас в теме
Не понятно в чем проблема
7. Chameleon1980 10.11.14 00:30 Сейчас в теме
перем=""
перем=0
перем=неопределено

убили всех
depb; One_Assembler; +2 Ответить
8. Alissa_Maty 10.11.14 00:34 Сейчас в теме
Проблема не в том, что мне не нравится, неопределенно, или какой-то другой вариант, просто хотелось понять, как работает именно Очистить :)
9. Chameleon1980 10.11.14 00:52 Сейчас в теме
---
и чего не спится.
и, кстати, сегодня что-то девушек наблюдается больше чем меньше
10. bytecoded 26 10.11.14 05:25 Сейчас в теме
Поле формы «очистить» нельзя, можно очистить (обнулить, опустошить, установить пустую ссылку) какой-либо реквизит формы или объекта. Метод Очистить() у ссылочных полей не существует, только у табличных частей; чтобы очистить реквизиты, нужно приравнять их к пустому значению соответствующего типа. Например, "" для строк, 0 для числа, ПустаяСсылка() или Неопределено для ссылочного реквизита и так далее.
alexalexme; Osminog1C; Ermigen; mrPepper; SG7R; Eillecho; VAAngelov; klaus38; Светлый ум; Nikitos_NSK; Kaspirovsky; Merkalov; iLonmaks; Terabaytus; user811769; NN2P; roket; IrinaKostroma; SoftPlus; Alex_E; dj_serega; Alissa_Maty; +22 Ответить
11. dj_serega 392 10.11.14 11:00 Сейчас в теме
(10) bytecoded, По красоте разложил :)
Sashabel970; Alissa_Maty; +2 Ответить
12. Salavat 13 10.11.14 12:09 Сейчас в теме
(10) bytecoded,
или Неопределено
- это универсальное (как уже сказали вскользь).
к реквизиту любого типа применимо.
14. dj_serega 392 10.11.14 16:45 Сейчас в теме
(12) Salavat, Кстати после того как я узнал что так можно, начал использовать всегда. Еще не вылезло боком :)
17. Salavat 13 11.11.14 10:02 Сейчас в теме
(14) dj_serega, (15) bytecoded, я сам это ни так давно (сравнительно) узнал, но, как было написано (не помню уж где) - в 1С это так именно сделано.

например, чтоб очистить весь объект документа - делается цикл по реквизитам с присваиванием им Неопределено.
три строки кода.

примерно из той же области - преобразуются числовые данные в булевые. и в таком духе.
15. bytecoded 26 11.11.14 06:28 Сейчас в теме
(12) Salavat, да, верно. Впрочем, я все же стараюсь использовать типизированные пустые значения ради дальнейшей экономии времени на размышлениях типа «так, а в этой переменной что должно быть?».
16. Никулин Леонид 4 11.11.14 08:03 Сейчас в теме
13. SemenovaMarinaV 10.11.14 12:46 Сейчас в теме
Спасибо 10 и я тоже поняла
18. PerlAmutor 129 23.10.18 09:39 Сейчас в теме
Так как тема выдается первой в поисковике, приведу еще один вариант, функция БСП: ОбщегоНазначенияБПКлиентСервер.ПустоеЗначениеТипа()

Код довольно простой:

// Предназначена для получения пустого значения заданного типа:
//	примитивного, или ссылочного. Используется
//
// Параметры:
//	ЗаданныйТип   - тип, пустое значение которого нужно получить
//
Функция ПустоеЗначениеТипа(ЗаданныйТип) Экспорт

	Если ЗаданныйТип = Тип("Число") Тогда
		Возврат 0;

	ИначеЕсли ЗаданныйТип = Тип("Строка") Тогда
		Возврат "";

	ИначеЕсли ЗаданныйТип = Тип("Дата") Тогда
		Возврат '00010101000000';

	ИначеЕсли ЗаданныйТип = Тип("Булево") Тогда
		Возврат Ложь;

	Иначе
		Возврат Новый (ЗаданныйТип);

	КонецЕсли;

КонецФункции // ПустоеЗначениеТипа();
Показать
volkov-mv; +1 Ответить
19. AsPin123 13.12.18 09:36 Сейчас в теме
Еще один способ, работает на клиенте:
Объект.ФизическоеЛицо = ПредопределенноеЗначение("Справочник.ФизическиеЛица.ПустаяСсылка");
20. TrofimovOK 14.02.19 11:04 Сейчас в теме
(19) Да это работает, но будет вызов сервера. При присвоении ссылке неопределено вызов сервера не происходит. Прикрепляю сравнение замера производительности.
Прикрепленные файлы:
21. triviumfan 93 28.09.20 14:12 Сейчас в теме
(20) Не может быть такого. ПредопределенноеЗначение() не делает серверный вызов - только что проверил.
При этом...
При этом не следует реализовывать дополнительные механизмы кеширования на клиенте предопределенных значений. Указанные выше функции не ухудшают клиент-серверное взаимодействие: серверный вызов выполняется только при первом обращении к значению, а результат автоматически кешируется.

https://its.1c.ru/db/v8std/content/443/hdoc
22. triviumfan 93 28.09.20 14:25 Сейчас в теме
(21) Странно, а тут указано обратное:
Вызов функции ПредопределенноеЗначение() приводит к обращению на сервер, поэтому нужно стремиться к тому, чтобы использовать эту функцию как можно реже.

Прежде всего, ее, конечно, не следует использовать тогда, когда доступны менеджеры прикладных объектов, вне кода тонкого клиента или веб-клиента; в модулях объектов, наборов записей, общих модулях для которых не установлен флажок компиляции на тонком клиенте, в серверных процедурах, в серверных функциях модулей форм и т. д.

Но кроме этого, и в клиентском коде форм нужно использовать ее внимательно. Например, если требуется сравнение с одним из предопределенных значений, можно получить это значение еще при создании формы на сервере и поместить его в данные формы.

https://its.1c.ru/db/pubessence/content/150/hdoc
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот