Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 сен 2021, 16:31

8.3: Как увидеть, из чего состоит объект, названия полей и т.п.?

Автор vovkalenka, 27 фев 2017, 20:27

0 Пользователей и 1 гость просматривают эту тему.

vovkalenka

Здравствуйте!
Работаем с языком 1с недавно, но сталкиваемся с частой проблемой: иногда важно быстро увидеть, что представляет собой объект.
Например, делаем мы обработку события:
Процедура УстановкаНомераПоКадровымДокументамПриУстановкеНовогоНомера(Источник, СтандартнаяОбработка, Префикс) Экспорт
Здесь Источник - это объект, который содержит информацию о вызывающей программе.
Или выполняем запрос, получаем некий объект, в котором названия полей заранее можем не знать.

Если взять язык php, то там есть простейшая конструкция:
print_r(объект/структура/массив/чтоугодно);

Показывает то, к чему её применили, в удобочитаемом виде:
(
    [krugliyfrukt] => apple
    [zheltiyfrukt] => banana
    [c] => Array
    (
        [0] => x
        [1] => y
        [2] => z
    )
)


А есть ли похожее решение в 1с?

AsadRoman

Цитата: vovkalenka от 27 фев 2017, 20:27
Здравствуйте!
Работаем с языком 1с недавно, но сталкиваемся с частой проблемой: иногда важно быстро увидеть, что представляет собой объект.
Например, делаем мы обработку события:
Процедура УстановкаНомераПоКадровымДокументамПриУстановкеНовогоНомера(Источник, СтандартнаяОбработка, Префикс) Экспорт
Здесь Источник - это объект, который содержит информацию о вызывающей программе.
Или выполняем запрос, получаем некий объект, в котором названия полей заранее можем не знать.

Если взять язык php, то там есть простейшая конструкция:
print_r(объект/структура/массив/чтоугодно);

Показывает то, к чему её применили, в удобочитаемом виде:
(
    [krugliyfrukt] => apple
    [zheltiyfrukt] => banana
    [c] => Array
    (
        [0] => x
        [1] => y
        [2] => z
    )
)


А есть ли похожее решение в 1с?

Если это объект конфигурации, то через метаданные(). А если нет, то, смею предположить, что у Вас там "структура".
Для Структуры:
Для Каждого Элемент из Источник Цикл
        Сообщить(Элемент.Ключ + ": " + Элемент.Значение);
    КонецЦикла;

alex0402

Спасибо за Сказать спасибо

LexaK

используйте функцию ТипЗнч(Источник) по типу вы будете знать какие данные вам пришли
вот пример

Если ТипЗнч(Источник) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
//Источник - это док. Реализация товаров,
//обрабатываем реализацию, все поля ее известны из конфигуратора
ОбработатьРеализацию(Источник);

ИначеЕсли ТипЗнч(Источник) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
//Источник - это док. Поступление товаров,
//обрабатываем поступление, все поля его известны из конфигуратора
ОбработатьПоступление(Источник);

Иначе
Сообщить("Не поддерживаемый тип данных: " + Источник);

КонецЕсли;

возможны другие варианты анализа Источниа, почитайте про метод Метаданные().
ответ Понравился? (в смысле пригодился?)

Norfolk

Цитата: alex0402 от 28 фев 2017, 09:13
остановить в отладчике и посмотреть.
Остановить действительно в отладчике и нажать shift+F9 (вычислить выражение). В поле выражение пишете ЭтотОбъект или ЭтаФорма и видите список реквизитов. Для чего изголяться и писать программный код?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск