1с 7 тип значения
Это именованное значение данных для хранения и последующего доступа.
Могут быть произвольного допустимого в рамках 1С и контекста типа.
Объявление переменных
Явное объявление переменных в 1с, в общем случае, не обязательно и может производится непосредственно перед использованием.
Примеры явного объявления переменной:
Пример объявления в функции:
В данном случае мы видим две переменные :
Именование переменных
Не могут начинаться на цифру, но могут ее содержать.
Не рекомендуется именовать переменные используя имена конструкций языка, свойств реквизитов объектов, в некоторых случаях система не даст этого сделать, в других может привести к неявным ошибкам.
Например, находясь в контексте формы, нельзя использовать имя переменной Заголовок, т.к. в этом случае будет происходить непосредственное изменение заголовка окна формы.
Имя должно быть понятным, запоминаемым. Допускается использование префиксов для удобства восприятия, например: лЛокальнаяПеременная, фПеременнаяФормы.
Обычно применяется выделение регистром для визуального осмысления: ВременнаяПеременнаяДляХраненияПромежуточныхРасчетов
Длина имени переменных не ограничена в разумных пределах, опирайтесь на удобство чтения кода.
Инициализация переменных
В момент объявления переменные явно присвоить значение возможно только, если это параметр функции
Также не является обязательным инициализация ранее объявленной переменной сразу, это может быть сделано непосредственно перед использование.
Видимость переменных
В версии 8 в отличии от 7.7. глобальных переменных не существует и их видимость определяется контекстом исполнения
Передача значений переменных
В случае, если вам все-таки требуется передать значение, необходимо:
- подумать над тем, верный ли выбрали тип или место исполнения (возможно вы гоняете не те данные или не туда)
- использовать более универсальный тип для передачи
- преобразовывать тип в более простой перед транспортировкой, и обратно преобразовывать в месте получения
Конвертация значений будет рассмотрена в других разделах.
Хороший дизайнер строит ясную структуру. А плохой напихивает все, что знает, и не может привести к своей мысли зрителя.
— А. Логвин
Иногда надо получить "Тип.Вид" неизвестного значения в виде "Справочник.Сотрудники" или "Документ.Реализация", но надо учитывать, что, возможно, попадётся "Строка", для которой "Вид()" неприменим.
Ставить кучу "Если ТипЗначенияСтр()=" или "Попытка" некрасиво. Поступим иначе:
спзн.ПолучитьЗначение(1) - Тип
спзн.ПолучитьЗначение(2) - Вид (если есть)
Специальные предложения
ТипВид=ТипЗначенияСтр(текЗначение)+?(ТипЗначения(текЗначение) > 3, "."+текЗначение.Вид(), "");
Споткнётся на таких вещах:
текЗначение = ВидРасчета.Авторские;
текЗначение = Перечисление.ТипыЧасов;
текЗначение = глВзятьКонтекст(контекст);
Но идея тоже красивая!
Ну хорошо ;). Если сделать вот такТипВид=ТипЗначенияСтр(текЗначение)+?(ТипЗначения(текЗначение)%14 > 3, "."+текЗначение.Вид(), "");
то 1. вернет тоже, что и твой код
2.НеизвестныйОбъект против твоей пустой строки
3. ГрупповойКонтекст против твоей пустой строки
Отлично! Можешь написать статью, я дам ссылку отсюда.
А вообще я использовал "ЗначениеВСтроку" потому что потом, с помощью "ЗначениеВСтрокуВнутр", достаю ID объекта.
Так вроде уже добавлено - в обсуждении.Илья "баткович", как вас по фамилии? а не проще через
Попытка
Вид=ТекЗначение.Вид()
Исключение
Сообщить("нету вида");
КонецПопытки Чтобы удостовериться, что вы не робот, пожалуйста введите код защиты:
Я не робот!
Просмотры 9775
Загрузки 0
Рейтинг 10
Создание 12.10.06 00:00
Обновление 12.10.06 00:00
№ Публикации 16911
Тип файла Нет файла
Конфигурация Конфигурации 1cv7
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
См. также
27.01.2016 85830 Serginio 116
Печать таблицы значений в 1С 7.7 при отладке
Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.
30.06.2021 1400 Zoltan_Black 11
Расчет страховых взносов в 1С 7.7 "Учет и отчетность предпринимателя, ред. 1.2" с апреля 2020
В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.
09.04.2020 13894 Юджин58 39
Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки.
Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.
14.10.2019 5139 ksnik 14
1С:Предприятие 7.7. Оптимизация. Промо
Разгоняем 1С:Предприятие 7.7. Выжимаем последние соки.
31.01.2009 49395 alexk-is 110
Заполнение реквизитов документов из предыдущего документа
Функция для автоматического заполнения реквизитов документов.
04.02.2019 5632 drevilo 2
Проверка часового пояса
При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.
16.05.2016 11548 kudenzov 3
[ПОЛЕЗНЯШКА, 7.7] Как посчитать итоги по документам черным запросом с изподвывертом?
Мелкая полезняшка, считает запросом итоговую сумму документов и количество документов.
12.03.2016 20273 CheBurator 18
Как уменьшить количество заблокированных объектов Промо
История о том как я решил пересобрать форму справочника клиентов и чем это все закончилось.
12.01.2012 15782 ShEvOvIcH 18
09.03.2016 33551 Serginio 22
Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм
Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).
23.11.2015 17865 etmarket 14
12.11.2015 48159 Serginio 36
Технология обновления нетиповых конфигураций 1С:Предприятия 7.7 Промо
Данная статья рассчитана на уже подготовленного пользователя, владеющего некоторыми навыками программирования и работы в конфигураторе. Статью можно использовать как поэтапное руководство к действию. Статья была написана для повышения качества работ выполняемых сотрудниками компании Информ Сервис при обновлении нетиповых конфигураций. Я надеюсь, что эта информация окажется полезной и для вас.
12.12.2008 64153 alexk-is 25
Процедура расшифровки ячейки таблицы в отчетах 1С 7.7
Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.
В 1С очень много предопределенных типов значений, их можно подразделить на несколько групп.
Группы типов данных
- простые (примитивные) типы
- типы-объекты и их подчиненные
- типы-объекты из метаданных (прикладные типы)
- интерфейсные типы
- прочие типы общего назначения
Простые типы
Типы-объекты
- Коллекции значений (Массивы, Структуры, ТаблицыЗначений и другие)
- Интеграционные (Com, файлы, внешние объекты, zip, WS)
- Общего назначения
Объекты из метаданных (прикладные)
Интерфейсные
Связанные с окнами, формами и элементами форм (полей, надписей, табличных данных и других)
Другие варианты подразделения значений
Задание типов значений
Значение может быть установлено:
Непосредственно
Через создание объекта
Через результат вызова системной функции
Через обращение к свойству объекта
Составные и простые типы
Если не указано специально, то тип значений не ограничивается.
Например, для простого случая
Данный объект также используется для ограничения выбора или внесения данных в диалоговых формах
Приведение значений
Производится автоматически при присвоении к реквизиту (свойству) объекта, если данный реквизит не может хранить данное значение
Также при операциях конкатенации, производится к сначала первому слагаемому, при вычитании, если допустимо, ко втором, а затем уже к результату.
Приведение значений через встроенные функции преобразования
Следует обратить внимание, что некоторые преобразования система не сможет сделать, и это вызовет ошибку исполнения, поэтому проверка должна производится разработчиком
Проверка типов
Сравнение производится через специальные функции ТипЗнч() и Тип().
Первая возвращает значение передаваемого типа, вторая задает тип для проверки
ЭтоЧисло = 15; //ответ на вопрос: тип значения переменной "ЭтоЧисло" является ли типом "Число" ЭтоБулево = ТипЗнч(ЭтоЧисло) = Тип("Число"); //Первый знак "=" - присвоение //Второй " i-11">Сравнение значений
- при сравнении на равенство по четкому совпадению типа и значения, приведение не производится
- сравнение на > или < (на больше-меньше) допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Более подробно на типах останавливаться не буду, лучше их прочувствовать в реальных задачах или узких примерах
ignsv --> ignsvТип(Объект) - дает мне СОМ объект. а мне бы "глубже" попасть к СправочникСсылка.Контрагенты
MATEVI --> MATEVIчерез Метаданные, ПолныйИдентификатор()
ignsv --> ignsvОле.Метаданные(Объект).ПолныйИдентификатор() - тип "задача" вообще не понятно что такое "задача" - думал получить "" спр.Контрагенты
Оле.ЗначениеВСтроку(Объект) - вот нашел такой вариант дает ("Справочник","Контрагенты","Код")
а как с него вытащить "Контрагенты"?
///БазаИ.ТИпЗначенияСтр(СпрИ) так вообще ошибку дает .
пока что зделал так
откидывае все что не с контрагентов. потом буду разбираться с другими методами.
mister-x --> mister-xЧитайте также: