1с перебрать свойства объекта
Управление окнами
Закрыть активное окно, модальный диалог или приложение - Alt + F4
Закрыть активное обычное окно - Ctrl + F4
Закрыть активное окно (кроме обычных) - Shift + Esc
Активизировать следующее обычное окно - Ctrl + Tab - Ctrl + F6
Активизировать предыдущее обычное окно - Ctrl + Shift + Tab - Ctrl + Shift + F6
Активизировать следующую секцию окна - F6
Активизировать предыдущую секцию окна - Shift + F6
Вызвать системное меню приложения или модального диалога - Alt + Space
Вызвать системное меню окна (кроме модальных диалогов) - Alt + Hyphen(-) - Alt + Num-
Вызвать главное меню - Alt - F10
Вызвать контекстное меню - Shift + F10
Переход по истории активности окон
Переместиться назад - Ctrl + "-"
Переместиться вперед - Ctrl + Shift + "-"
Вернуть активность обычному окну - Esc
Форма
Перейти к следующему элементу формы/выполнить действие кнопки по умолчанию - Enter
Выполнить действие кнопки по умолчанию - Ctrl + Enter
Перейти к следующему элементу формы - Tab
Вернуться к предыдущему элементу формы - Shift + Tab
Активизировать командную панель, связанную с активным элементом управления/формой - Alt + F10
Открыть "Список элементов управления формы" - Ctrl + Shift + L
Перемещение по элементам управления, объединенным в одну группу - Up, Down, Left, Right
Работа со списком и деревом
Открыть - F2
Обновить - Ctrl + Shift + R
Скопировать - F9
Новая группа - Ctrl + F9
Удалить строку - Shift + Del
Перемещение строки вверх - Ctrl + Shift + Up
Перемещение строки вниз - Ctrl + Shift + Down
Перенести элемент в другую группу - Ctrl + Shift + M
Перейти на уровень вниз с одновременным раскрытием группы - Ctrl + Down
Перейти на уровень вверх (к "родителю") - Ctrl + Up
Закончить редактирование - Shift + F2
Развернуть узел дерева - Num+ - Ctrl + Num+
Свернуть узел дерева - Num- - Ctrl + Num-
Развернуть узел дерева и все подчиненные - Num* - Ctrl + Alt + Num+
Свернуть узел дерева и все подчиненные - Ctrl + Alt + Num-
Развернуть все узлы дерева (выполняется в любом месте дерева) - Ctrl + Shift + Num+
Свернуть все узлы дерева (выполняется в любом месте дерева) - Ctrl + Shift + Num-
Изменение флажка - Пробел
Поле ввода
Переключить режим вставки/замены - Ins
Кнопка выбора - F4
Кнопка открытия - Ctrl + Shift + F4
Очистить поле - Shift + F4
Удалить символ слева от курсора - BackSpace
Удалить символ справа от курсора - Del
Удалить слово слева от курсора - Ctrl + BackSpace
Удалить слово справа от курсора - Ctrl + Del
Перейти в начало строки - Home
Перейти в конец строки - End
Поле картинки
Увеличить масштаб - Num+
Уменьшить масштаб - Num-
Прокрутить - Up, Down, Left, Right
Прокрутить на размер окна вверх - Page Up
Прокрутить на размер окна вниз - Page Down
Прокрутить на размер окна влево - Alt + PgUp
Прокрутить на размер окна вправо - Alt + PgDn
Редактор управляемых форм
Переключиться на закладку "Форма" - Alt + 1
Переключиться на закладку "Модуль" - Alt + 2
Переключиться на закладку "Форма" и активизировать закладку "Элементы" - Alt + 3
Переключиться на закладку "Форма" и активизировать закладку "Реквизиты" - Alt + 4
Переключиться на закладку "Форма" и активизировать закладку "Команды" - Alt + 5
Переключиться на закладку "Форма" и активизировать закладку "Командный интерфейс" - Alt + 6
Переключиться на закладку "Форма" и активизировать закладку "Параметры" - Alt + 7
Переключиться на закладку "Форма" и активизировать окно предварительного просмотра формы - Alt + 8
Редактор форм
Протестировать форму - Ctrl + R
Переместить элемент управления - Up, Down, Left, Right
Копировать элемент управления - Ctrl + (Up, Down, Left, Right)
Копировать элемент управления с инверсией выравнивания по сетке - Ctrl + Alt + (Up, Down, Left, Right)
Изменить размер элемента управления - Shift + (Up, Down, Left, Right)
Изменить размер элемента управления с инверсией выравнивания по сетке - Shift + Alt + (Up, Down, Left, Right)
Инверсия использования сетки - Alt + (Up, Down, Left, Right)
Открыть окно "Привязка границ для элемента…" - Ctrl + Shift + S
Начало редактирования - F2
Редактор табличных документов
Перейти к ячейке - Ctrl + G
Перемещение по ячейкам - Up, Down, Left, Right
Перемещение по ячейкам к следующей заполненной или пустой - Ctrl + (Up, Down, Left, Right)
Перемещение по ячейкам к следующей заполненной или пустой с выделением ячеек - Ctrl + Shift + (Up, Down, Left, Right)
Выделение ячеек - Shift + (Up, Down, Left, Right)
Выделение ячеек от текущей до начала строки - Shift + Home
Выделение ячеек от текущей до конца строки - Shift + End
Выделение строк - Alt + Shift + (Up, Down)
Выделение строк до следующей заполненной или пустой ячейки - Ctrl + Alt + Shift + (Up, Down)
Выделение колонок - Alt + Shift + (Left, Right)
Выделение колонок до следующей заполненной или пустой ячейки - Ctrl + Alt + Shift + (Left, Right)
Выделение ячеек от текущей до начала документа - Ctrl + Shift + Home
Выделение ячеек от текущей до конца документа - Ctrl + Shift + End
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Прокрутить на страницу влево - Alt + PgUp
Прокрутить на страницу вправо - Alt + PgDn
Перейти к редактированию содержимого ячейки - Enter
Переключение режима редактирования/ввода в ячейке - F2
Перейти в начало строки - Home
Перейти в конец строки - End
Перейти в начало текста - Ctrl + Home
Перейти в конец текста - Ctrl + End
Установка имени текущей области - Ctrl + Shift + N
Редактор текстовых документов и модулей
Переключить режим вставки/замены - Ins
Перейти в начало строки - Home
Перейти в конец строки - End
Выделить до начала строки - Shift + Home
Выделить до конца строки - Shift + End
Перейти в начало текста - Ctrl + Home
Перейти в конец текста - Ctrl + End
Выделить до начала текста - Ctrl + Shift + Home
Выделить до конца текста - Ctrl + Shift + End
Прокрутить на одну строку вверх - Ctrl + Up
Прокрутить на одну строку вниз - Ctrl + Down
Перейти к началу предшествующего слова - Ctrl + Left
Перейти к началу следующего слова - Ctrl + Right
Выделить слово - Ctrl + W
Выделить предшествующее слово - Ctrl + Shift + Left
Выделить следующее слово - Ctrl + Shift + Right
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Выделить предыдущую страницу текста - Shift + PgUp
Выделить следующую страницу текста - Shift + PgDn
Снять выделение - Esc
Перейти к строке - Ctrl + G
Удалить символ слева от курсора - BackSpace
Удалить символ справа от курсора - Del
Удалить слово слева от курсора - Ctrl + BackSpace
Удалить слово справа от курсора - Ctrl + Del
Установить/снять закладку - Alt + F2
Следующая закладка - F2
Предыдущая закладка - Shift + F2
Удалить текущую строку - Ctrl + L
Форматировать блок - Shift + Alt + F
Добавить комментарий - Ctrl + Num/
Удалить комментарий - Ctrl + Shift + Num/
Cдвинуть блок вправо - Tab
Сдвинуть блок влево - Shift + Tab
Синтаксический контроль - Ctrl + F7
Процедуры и функции модуля - Ctrl + Alt + P
Перейти к объявлению процедуры или переменной - F12
Контекстная подсказка - Ctrl + Пробел
Свернуть группу (курсор может быть в любом месте группы) - Ctrl + Num -
Развернуть группу (курсор может быть в любом месте группы) - Ctrl + Num +
Cвернуть все группы - Ctrl + Shift + Num -
Развернуть все группы - Ctrl + Shift + Num +
Обновить группировки - Ctrl+ Shift + R
Активизация шаблона - Ctrl + Q
Перейти по операторным скобкам назад - Ctrl + [
Перейти по операторным скобкам вперед - Ctrl + ]
Перейти по операторным скобкам назад с выделением текста - Ctrl + Shift + [
Перейти по операторным скобкам вперед с выделением текста - Ctrl + Shift + ]
Отладчик
Начать/продолжить отладку - F5
Перезапуск приложения для отладки - Ctrl + Shift + F5
Прекратить отладку - Shift + F5
Шагнуть в - F11
Шагнуть через - F10
Шагнуть из - Shift + F11
Идти до курсора - Shift + F10
Установить/снять точку останова - F9
Отключить/включить точку останова - Ctrl + Shift + F9
Список точек останова - Alt + F9
Вычислить выражение - Shift + F9
Открыть табло - Ctrl + Alt + W
Открыть стек вызовов - Ctrl + Alt + C
Редактор картинок
Переключение картинка/коллекция - Ctrl + K
Параметры картинки/коллекции - Shift + Alt + P
Отразить слева направо - Ctrl + H
Отразить сверху вниз - Ctrl + Shift + H
Выделение прямоугольником - Shift + Alt + S
Масштаб - Ctrl + M
Ластик - Ctrl + Shift + E
Заливка - Ctrl + Shift + F
Карандаш - Ctrl + Shift + I
Кисть - Ctrl + Shift + B
Линия - Ctrl + Shift + L
Кривая - Shift + Alt + С
Аэрограф - Ctrl + Shift + A
Текст - Shift + Alt + T
Увеличение масштаба - Ctrl + Num+
Уменьшение масштаба - Ctrl + Num-
Палитра свойств
Сохранить свойства - Enter
Восстановить значения свойства - Esc
Раскрыть категорию свойств - Num+
Закрыть категорию свойств - Num-
Перейти в начало палитры - Home
Перейти в конец палитры - End
Перейти к предыдущему свойству - Up
Перейти к следующему свойству - Down
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Перейти к предыдущей категории - Ctrl + PgUp
Перейти к следующей категории - Ctrl + PgDn
Редактор карты маршрута
Перейти на следующий элемент карты - Tab
Перейти на предыдущий элемент карты - Shift + Tab
Уменьшить ширину элемента карты - Shift + (Left)
Увеличить ширину элемента карты - Shift + (Right)
Уменьшить высоту элемента карты - Shift + (Up)
Увеличить высоту элемента карты - Shift + (Down)
Перемещение выделенного варианта вверх (только при выделенном варианте в - Ctrl + (Up)
элементе "Выбор варианта")
Перемещение выделенного варианта вниз (только при выделенном варианте в - Ctrl + (Down)
элементе "Выбор варианта")
Поиск - Ctrl + F
Найти следующий - F3
Найти предыдущий - Shift + F3
Замена - Ctrl + H
Конфигурация
Открыть конфигурацию - Alt + К + Enter
Поиск во всех текстах - Alt + К + Т
Объединение конфигураций - Alt + К + О
Загрузить измененную конфигурацию - Alt + K + З
Конвертирование данных - Alt + К + Е
Администрирование
Пользователи - Alt + А + П
Сохранить данные - Alt + А + Х
Восстановить данные - Alt + А + В
Выгрузить данные - Alt + А + Ы
Загрузить данные - Alt + А + Г
Настройка журнала регистрации - Alt + А + Н
Распределенная ИБ - Alt + А + Р
Управление - Alt + А + Р + У
Автообмен - Alt + А + Р + А
Действия
Открыть в отладчике - Alt + Д + Т
Синтаксический контроль запросов - Alt + Д + К
Синтаксический контроль - Alt + Д + И
Процедуры и функции модуля - Alt + Д + Р
Файл
Новый - Ctrl + N
Открыть - Ctrl + O
Сохранить - Ctrl + S
Печать - Ctrl + P
Сравнить файлы - Alt + Ф + Р
Закрыть - Alt + Ф + З
Просмотр - Alt + Ф + Р + Р + Enter
Параметры страницы - Alt + Ф + М
Работа с закладками
Предыдущая закладка - Shift + F2
Закладка - Alt + F2
Следующая закладка - F2
Работа с блоком
Форматировать - Ctrl + Shift +F
Сдвинуть вправо - Tab
Сдвинуть влево - Shift + Tab
Добавить комментарий - Ctrl + Num /
Удалить комментарий - Ctrl + Shift + Num /
Поиск и замена
Заменить - Ctrl + Shift + F3
Искать - Ctrl + F3
Повторить поиск - F3
Искать назад - Alt + F3
Искать вперед - Shift + F3
Переход к строке - Ctrl + Shift + L
Сервис
Калькулятор - Ctrl + F2
Синтаксис помощник - Alt + С + С
Настройка шаблонов - Alt + С + Н
Временная блокировка - Alt + С + В
Запуск предприятия - F11
Запуск отладчика - F12
Помощь
Помощь - F1
Содержание - Shift + F1
Поиск в Синтакс-Помощнике - Ctrl + F1
О программе - Alt + П + О
Общие
Свойства - Alt + Enter
Выход - Alt + F4
Форум
Конфигуратор
Все начинается с запуска Конфигуратора. Программы для 1С:Предприятие называются "конфигурациями" и создаются они в специальном режиме для разработчика "Конфигуратор". Обычные пользователи работают в режиме "Предприятие".
Объекты, свойства и методы
Самое главное понятие 1С -- это "объект". Объект -- это элемент реального мира. Объектом может быть все что угодно: компьютер, облако, кошка. Но нас интересуют только те объекты, которые имеются в офисной деятельности предприятия: документы, отчеты, справочники. Программа для 1С представляется как совокупность объектов, взаимосвязанных между собой, т.е. конфигурация объектов. Например, документ "Приказ о приеме на работу", справочник "Сотрудники", отчет "Сотрудники, принятые за период".
У объектов имеются некоторые атрибуты (свойства, реквизиты). Например, сотрудник имеет фамилию, имя, отчество, оклад, табельный номер. Приказ о приеме имеет номер и дату. Набор свойств объекта задается разработчиком.
Также объекты имеют определенные методы (процедуры и функции). Например, вы можете выбрать всех сотрудников с помощью метода справочника ВыбратьЭлементы(), или можно сохранить документ методом Записать().
Встроенный язык
Поведение объектов конфигурации задается на встроенном языке. Программист может писать на встроенном языке 1С свои собственные модули, состоящие из процедур и функций. Встроенный язык позволяет работать со справочниками, документами и другими объектами 1С. Можно, например, с помощью методов объектов выбрать все элементы справочника Сотрудники для вывода в отчет, или создать и сохранить любой документ.
Модули, процедуры и функции
Вся конфигурация, как вы уже наверное заметили, состоит из модулей. Это могут быть модули документов или модули отчетов или другие модули. Модули состоят из процедур и функций. Процедура -- это небольшая программа для выполнения определенной задачи. Функция отличается от процедуры, только тем, что имеет результат. Говорят, "функция возвращает результат". Например, модуль "Приказа о приеме на работу" может иметь следующие процедуры ПроверитьПравильность( ) и НапечататьПриказ( ).
Глобальный модуль
В системе 1С есть так называемый Глобальный модуль.Он относится к конфигурации в целом. Глобальный модуль нужен для того, что писать процедуры и функции, доступные в любом месте программы (в любом другом модуле). Для этого необходимо просто указать ключевое слово Экспорт. Также можно создать глобальные переменные, которыми можно будет пользоваться в любом месте программы. Но чем меньше будет таких глобальных переменных, тем лучше, так как модули получаются более независимыми друг от друга, что снижает количество ошибок в программе и облегчает отладку.
(10) все просто.
Сообщить(Реквизит + " +" может быть использован как в сложении, так и в конкатенации строк.
Реквизит это не строка. Платформа пытается привести к числу. Тоже не получается. Вот и ошибка: "Преобразование значения к типу Число не может быть выполнено"
Когда ставим "" + Реквизит, то уже объект Реквизит платформой неявно приводится к строке. Вот и отрабатывает.
Или сразу указываем "Реквизит.Имя". Это уже строка и конкатенация строк отрабатывает штатно.
(10)
Следите за пальцами
Реквизит - тип ОбъектМетаданных
"" + Реквизит - тип Строка, т.к при сложении все преобразуется к типу первого слагаемого
Реквизит.Имя - тип Строка
А сложение Реквизит + " clear">
(1) А что есть ОбъектБД? Что значит, не работает, какую ошибку выдает?
Для ссылочных типов вместо НайтиПоТипу можно использовать ОбъектБД.Метаданные()
(2) Либо Документ.Ссылка либо Справочник Ссылка (составной тип на форме).
Сообщить("" + Реквизит.Имя + " clear">
листинг 3.17. Использование итератора «Для Каждого»
(5) Нет, к реквизиту можно обратиться или через точку, или через квадратные скобки. Так что вот такой код точно сработает для ссылочных типов:
Для Каждого Реквизит Из ОбъектБД.Метаданные().Реквизиты Цикл Сообщить(Реквизит.Имя + " clear">
(8) Потому что у вас переменная Реквизит. А это не строка, а ОбъектМетаданных. У меня Реквизит.Имя - а это уже строка
(10) все просто.
Сообщить(Реквизит + " +" может быть использован как в сложении, так и в конкатенации строк.
Реквизит это не строка. Платформа пытается привести к числу. Тоже не получается. Вот и ошибка: "Преобразование значения к типу Число не может быть выполнено"
Когда ставим "" + Реквизит, то уже объект Реквизит платформой неявно приводится к строке. Вот и отрабатывает.
Или сразу указываем "Реквизит.Имя". Это уже строка и конкатенация строк отрабатывает штатно.
(10)
Следите за пальцами
Реквизит - тип ОбъектМетаданных
"" + Реквизит - тип Строка, т.к при сложении все преобразуется к типу первого слагаемого
Реквизит.Имя - тип Строка
А сложение Реквизит + " clear">
(17) много чего есть, только не доступные через метаданные объекта.
Реквизиты, ТабличныеЧасти и СтандартныеРеквизиты доступны. Общие резквизиты - нет.
"вончо" написал. даже работает)
Процедура ТыкНаСервере(ОбъектБД) МетаданныеОбъектБД = Метаданные.НайтиПоТипу(ТипЗнч(ОбъектБД)); Для Каждого Реквизит Из МетаданныеОбъектБД.Реквизиты Цикл Сообщить(""+Реквизит + " = " + ОбъектБД[Реквизит.Имя]); КонецЦикла; Для Каждого ТЧ Из ОбъектБД.Метаданные().ТабличныеЧасти Цикл Сообщить(""+ТЧ); НомерСтроки = 1; Для Каждого Строка Из ОбъектБД[ТЧ.Имя] Цикл Для Каждого Реквизит Из ТЧ.Реквизиты Цикл Сообщить("Строка номер " + НомерСтроки + " " + Реквизит + " timeline-seperator text-center text-primary no-margin no-border"> Показать
(2) Насколько понимаю, так не попадут "Стандартные" (Ссылка, Проведен, Номер, ПометкаУдалениея, Дата, Номер).
Ага.
А потом: Таблицы. Колонки. ДополнительныеСвойства.
далее выгружаем в ТЗ, у которой смотрим все столбцы..
PS если надо, по содержимому отсекаем табличные части..
Ссылки все равно не видит. Пишет поле объекта не обнаружено при попытке Реквизит.Отгруженно.получитьобъект();
Реквизит.Отгруженно ссылка на другой документ. Цикл должен перебрать все реквизиты в документе найти реквизит.отгружеено получить объект и уже в другом документе заполнить некоторые реквизиты
(11)Пипец. Проверить наличие реквизита и получить его значение - две совершенно разные задачи. А кто-то похоже еще и не различает метаданные и реквизиты конкретного документа.
А зачем перебирать все реквизиты если имя нужного реквизита уже известно?
и как верно заметили выше, для чего вам перебирать, если вы заранее знаете реквизит, который нужен?
(21)Очень информативно. Напоминает лечение даже не по фотографии, а по описанию фотографии слепым.
Может таки сподобитесь и покажете код, а не рассказ о нём?
Это уж вы, батенька, сами должны заполнить сию переменную ссылкой на конкретный документ. Надеюсь, вы не крутите цикл по реквизитам в цикле по документам одного типа?
(17)Вы хотите сказать, что Документ.АвансовыйОтчет может иметь разное количество реквизитов в конкретных экземплярах?
Зачем для каждого документа в выборке проверять наличие реквизита? Результат проверки что ли может быть разный?
(18) Я для примера написал, если делать выборку каким-то запросом, то не факт, что там будет только АвансовыйОтчёт
В документе есть реквизит с ссылкой на другой документ задача обратиться к этому реквизиту получить документ на который ссылается этот реквизит и уже в этом документе проставить некоторые значения
В каком документе? Точнее, в каком типе/виде документов? Только Авансовый отчет? Или еще есть другие типы/виды?
Если только Авансовый отчет, то нафига перебирать метаданные документа?
Реквизит один? Известный?
Это все предлагается угадать?
(25) Документ не авансовый отчет. Допустим реквизит 1 и известный. Тип реквизита ссылка на другой документ. Задача обратиться к этому рееквизиту и получить документ на который ссылается реквизит и там проставить некоторые значения.
(26) Ну так и делайте ДокОбъект = [Документ не авансовый отчет].[реквизит 1 и известный].ПолучитьОбъект()
(26)Думаете, повторение одного и того же как мантры сильно повышает информативность повторов? Еще древние установили что "Сколько раз не скажи ХАЛВА во рту слаще не станет".
А какой? Один? Или несколько? Список известен?
Из вас все надо клещами тянуть? Кому это надо? Вам или нам?
При написании небольших автоматизированных тестов часто надо обойти всю конфигурацию и проверить, например, для всех форм какое-нибудь свойство. Это всё легко делается через свойство глобального контекста "Метаданные", но чтоб дорбаться до обхода реквизитов надо написать кучу вложенных циклов. При этом код становится слабочитаемым и слабомодифицируемым.
Ниже приведен небольшой модуль, который решает задачу легко и удобно. Создана специальная функция РазвернутьСтрокуОбходаМетаданных, которая может по строке типа "Метаданные.Справочники.*.Реквизиты.*" построить массив строк с перечислением всех реквизитов всех справочников. При помощи этой и нескольких других функций в экспортных функциях модуля реализованы вполне прикладные задачи - получение всех реквизитов, всех макетов, всех форм конфигурации и построение таблицы всех составных типов.
Похожие FAQ
Еще в этой же категории
Как программно получить Картинку из базы и сохранить ее преобразовав в другой формат? 4
//Получим и сохраним Общую картинку из библиотеку картинок конфигурации ИмяКартинки = Метаданные.ОбщиеКартинки.OutlookExpress; ВыбраннаяКартинка = БиблиотекаКартинок ; // Сохраним полученную картинку в c: temp ВыбраннаяКартинка.Записать(" c: te Получить список Справочников конфигурации 2
НаКлиенте Процедура ПоКнопкеЧтениеИзМетаданных(Команда) // Вставить содержимое обработчика. Перем СписокСправочников; СписокСправочников = Новый СписокЗначений; СписокСправочников = СправочникиИзМетаданных(); Для Сч = 0 По СписокСправочников Получить список Документов конфигурации 0
//ЭлементыФормы.ОбъектПоиска - Поле Выбора на форме СписокВыбора = ЭлементыФормы.ОбъектПоиска.СписокВыбора; Для Каждого Документ Из Метаданные.Документы Цикл //Проверим, есть ли права на просмотр? Да- добавляем, Нет - пропускаем Если ПравоДосту Перебор Основных Реквизитов формы 0
//Перебор Основных Реквизитов формы Для Каждого Рек из ЭтаФорма.Метаданные().Реквизиты Цикл Сообщить(рек.Имя+" - " +рек.Синоним+" - " +Строка(рек.Тип)); КонецЦикла; // или так Для Каждого Рек из Метаданные().Реквизиты Цикл Сообщить(рек.Имя+" Пример обращения к метаданным 0
спрНомен = Метаданные.Справочники.Номенклатура; Сообщить(" Имя справочника " " " + спрНомен.Имя + " " " " ); Сообщить(" Комментарий " + спрНомен.Комментарий); Сообщить(" ВидИерархии " + спрНомен.ВидИерархии); Сообщить(" КоличествоУровней " + Посмотреть все в категории Метаданные
Читайте также: