Данный код позволяет открыть список документов с установленным отбором, также можно открыть список элементов справочника с нужным отбором
Для того, чтобы открыть форму списка с заранее установленным отбором используйте следующие способы:
Первый способ заключается в том, что при открытии формы можно задать параметр формы Отбор, и открыть форму списка с этим параметром.
Параметр Отбор представляет собой структуру. Имена элементов соответствуют именам полей, по которым производится отбор, а значения содержат значения отбора. Это параметр расширения управляемой формы динамического списка. То есть он существует у форм, основным реквизитом которых является реквизит типа ДинамическийСписок, например у форм списка и форм выбора.
Например, в следующем примере открывается список приходных накладных с отбором по полю Номер, равному 333.
Второй способ
Можно открыть форму списка без параметров:
И затем, в обработчике события формы списка приходных накладных ПриСозданииНаСервере написать код, который создает отбор в динамическом списке, являющемся основным реквизитом формы:
Преимущества данного метода в том, что ВидСравнения у отбора можно задавать не только Равно, как в первом случае, а и Больше, Меньше и т.п.
Но у такого способа есть и очень существенный недостаток: с этим отбором форма будет открываться всегда. Откуда бы ее ни вызвали. Поэтому такую форму не следует назначать основной. А если все же она основная - то перед установкой отбора необходимо предусмотреть какой-то анализ того, откуда открывается эта форма. Например, анализируя параметры формы.
Третий способ
И наконец, условие отбора можно поместить в произвольный запрос, выбирающий данные для динамического списка.
Например, нам нужно открыть список приходных накладных, в которых присутствует номенклатура, выделенная в списке номенклатуры.
Для этого в форме списка номенклатуры создадим команду и соответствующую ей кнопку Приходные накладные.
Обработчик выполнения этой команды заполним следующим образом:
В этом обработчике мы открываем форму списка приходных накладных, передавая в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры.
Затем создадим форму списка документов ПриходнаяНакладная и создадим параметр формы ФильтрПоТовару, который мы будем использовать для открытия формы с нужным отбором.
Теперь откроем палитру свойств основного реквизита формы Список. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмём Открыть.
В поле Запрос введём следующий текст запроса:
В запросе мы используем параметр Товар, в который и будет передаваться ссылка на текущую строку в списке номенклатуры, содержащуюся в параметре формы списка приходных накладных ФильтрПоТовару.
Для этого в обработчике события формы списка ПриСозданииНаСервере напишем код для установки значения параметра запроса Товар:
Здесь Список.Параметры - это список параметров запроса динамического списка для реквизита Список. Значение параметра Товар устанавливается равным значению параметра формы ФильтрПоТовару.
В результате по нажатию кнопки Приходные накладные в форме списка номенклатуры мы будем получать список только тех приходных накладных, в которых присутствует номенклатура, выделенная в данный момент в списке номенклатуры.
Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола
Иногда в процессе работы с удаленными рабочими столами на клиентских машинах встречается проблема - при подключении к серверу высвечивается сообщение "Для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола".
К сожалению, это является достаточно частой проблемой Microsoft.
Для ее решения нужно будет выполнить следующие шаги:
В этом случае необходимо удалить текущую лицензию из кэша, и получить новую.
Для удаления лицензии RDP с клиентского компьютера, откройте ветку реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
и удалите все подразделы.
После этого повторите подключение к серверу RDP. При первом подключении запустите клиент «от имени Администратора».
Ветка будет пересоздана и ошибка будет устранена. Ошибка RDP: Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования
Обычно эта ошибка появляется после удаления ветки реестра HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
Делается это с целью очистить кэш лицензий.
Клиент RDP во время подключения пытается восстановить недостающие разделы, и для этого ему нужны права администратора.
Для решения проблемы необходимо:
Запускать rdp-клиент из под учетной записи с правами администратора.
Если включен UAC.
Вариант 1. Отключить его (требуется перезагрузка).
Вариант 2. Запустить rdp-клиент из командной строки, открытой «от имени администратора».
в 1С:Бухгалтерии 2.0
заносится в справочнике "Организации". В главном меню выберите "Предприятие" и зайдите в "Организации". В открывшемся списке выберите вашу организацию. Когда форма организации откроется найдите там поле ОКАТО.
В Бух 3.0
Откройте справочник "Справочники и настройки учета"- "Организации", и затем в поле "Налоговый орган (основной)" выберите текущую "Регистрацию в налоговом органе" и укажите ОКАТО в поле "ОКАТО налогового органа"
И на всякий случай для 7.7
Справочники- налоги- налоги и отчисления- налог на доходы
Кодирование: Ctrl+Пробел - вызов подсказки Ctrl+Q - вызов шаблона Ctrl+F1 - поиск в синтакс-помощнике Ctrl + L - удалить текущую строку Alt+Shift+F - отформатировать код Исследование: F12 - ставим курсор на процедуре или функции и переходим к определению процедуры или функций. Ctrl+(минус) - перемещает назад в модуль, из которого ушли через F12 Ctrl+T - найти в дереве конфигурации Ctrl+F - найти объект метаданных или его реквизит в дереве метаданных. Отладка: F5 - начать/продолжить отладку F9 - установить/снять точку останова F10 - шагнуть через процедуру или функцию, на следующую строку кода F11 - идти по порядку с заходом во все процедуры и функции. Alt+F9 - список точек останова Shift+F9 - вычислить выражение Ctrl+Shift+F9 - отк./вкл. точку остан. Ctrl+Alt+W - открыть табло Ctrl+Alt+C - открыть стек вызовов Закладки: Alt+F2 - установить/снять закладку F2 - к следующей закладке Shift+F2 - к предыдущей закладке Быстрый переход по Процедурам, Функциям, Условиям, Циклам: Ctrl+[ - перейти назад Ctrl+] - перейти вперед Ctlr+G - перемещения к строке кода Окно сообщений: Ctrl+Alt+Z - очистить. Ctrl+Shift+Z - очистить и закрыть
Рассмотрим более подробно:
Глобальные действия
Создать новый документ - Ctrl + N
Открыть существующий документ - Ctrl + O
Активизировать поле поиска в командной панели - Ctrl + D
Открыть "Глобальный поиск по текстам" - Ctrl + Shift + F
Открыть "Результаты глобального поиска по текстам" - Ctrl + Shift + H
Запустить 1С:Предприятие без отладки - Ctrl + F5
Открыть окно "Конфигурация" - Ctrl + Shift + С
Обновить конфигурацию БД - F7
Открыть "Шаблоны текста" - Ctrl + Shift + T
Открыть встроенный "Калькулятор" системы 1С:Предприятие - Ctrl + F2
Открыть "Свойства" - Alt + Enter
Открыть "Дополнительно" - Shift + Alt + Enter
Открыть "Служебные сообщения" - Ctrl + Alt + O
Закрыть "Служебные сообщения" - Ctrl + Shift + Z
Очистить служебные сообщения - Ctrl + Alt + Z
Открыть "Справку" - F1
Открыть "Содержание справки" - Shift + F1
Открыть "Индекс справки" - Shift + Alt + F1
Открыть "Поиск по справке" - Ctrl + Alt + F1
Открыть "Синтакс-Помощник - Ctrl + Shift + F1
Поиск по индексу в "Синтакс-Помощнике" - Ctrl + F1
Общие действия
Удалить - Del
Добавить - Ins
Сохранить активный документ - Ctrl + S
Печать активного документа - Ctrl + P
Печать на текущий принтер - Ctrl + Shift + P
Копировать в буфер обмена - Ctrl + C - Ctrl + Ins
Вырезать в буфер обмена - Ctrl + X - Shift + Del
Вставить из буфера обмена - Ctrl + V - Shift + Ins
Добавить к буферу обмена - Shift + Num+
Вычесть из буфера обмена - Shift + Num-
Выделить все - Ctrl + A
Отменить последнее действие - Ctrl + Z - Alt + BackSpace
Вернуть отмененное действие - Ctrl + Y - Shift + Alt + BackSpace
Найти - Ctrl + F
Найти следующий - F3
Найти следующий выделенный - Ctrl + F3
Найти предыдущий - Shift + F3
Найти предыдущий выделенный - Ctrl + Shift + F3
Заменить - Ctrl + H
Найти в дереве - Ctrl + T
Следующий элемент в результатах поиска и окне сообщений - F8
Предыдущий элемент в результатах поиска и окне сообщений - Shift + F8
Развернуть (узел дерева, группу табличного документа, группировку модуля) - Ctrl + Num+
Свернуть (узел дерева, группу табличного документа, группировку модуля) - Ctrl + Num-
Развернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные - Ctrl + Alt + Num+
Свернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные - Ctrl + Alt + Num-
Развернуть (все узлы дерева, группы табличного документа, группировки модуля) - Ctrl + Shift + Num+
Свернуть (все узлы дерева, группы табличного документа, группировки модуля) - Ctrl + Shift + Num-
Следующая страница - Ctrl + PgDn - Ctrl + Alt + F
Предыдущая страница - Ctrl + PgUp - Ctrl + Alt + B
Включить/выключить жирность - Ctrl + B
Включить/выключить курсив - Ctrl + I
Включить/выключить подчеркивание - Ctrl + U
Переход к предыдущей главе справки - Alt + Left
Переход к следующей главе справки - Alt + Right
Управление окнами
Закрыть активное окно, модальный диалог или приложение - 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 + F4
Следующее окно - Ctrl + Shift + F6
Предыдущее окно - Ctrl + F6
Каскадом - Alt + О + К
Закрыть окно сообщений - Ctrl + Shift + z
Следующая страница - Ctrl + Alt + F
Предыдущая страница - Ctrl + Alt + B
Разделить окно - Alt + О + Р
Поиск и замена
Заменить - 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 + П + О
В версии 1С 8.2 есть процедуры для работы со временем и часовыми поясами. Основное предназначение этих функций - обеспечение работы филиалов организации, располагающихся в различных часовых поясах. УниверсальноеВремя(<МестноеВремя>, <ЧасовойПояс>) - Преобразует местное время в заданном часовом поясе в универсальное время.
В первом параметре передается время, которое мы хотим перевести в универсальное, во втором - часовой пояс. Если второй параметр не указан, то используется текущий часовой пояс.
Для обратного преобразования используется функция МестноеВремя(). МестноеВремя(<УниверсальноеВремя>, <ЧасовойПояс>) - Преобразует универсальное время в местное время заданного часового пояса.
Приведенные ниже примеры преобразуют текущую дату в универсальное время и обратно:
Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Возвращаемое значение:
Тип: Строка.
Описание: Получает навигационную ссылку в формате 1С:Предприятия на текущую форму.
Доступность: Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение.
Вариант 2: Глобальный контекст (Global context)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Параметры: <Объект> (обязательный)
Тип: Ссылка на объект информационной базы. Ссылка на объект. <ИмяРеквизита> (необязательный)
Тип: Строка. Имя реквизита объекта или ресурса Регистра сведений, для которого нужно выяснить ссылку. Если это реквизит табличной части объекта, то параметр указывается как <имя табличной части>.<имя реквизита>, то есть с разделителем "." (точка).
<Индекс> (необязательный)
Тип: Число. Индекс строки в табличной части, в том случае если объект является реквизитом табличной части. Первая строка имеет индекс равный 0.
Возвращаемое значение: Тип: Строка.
Описание: Получает текст ссылки на объект информационной базы или его реквизит в формате 1С:Предприятия.
В первом случае принимает в качестве параметра ссылку на объект (это может быть как ссылка, так и ключ записи регистра сведений). Объектом могут быть: справочник, документ, ключ записи регистра сведений, бизнес процессы, задачи.
Во втором, в качестве параметров принимает ключ объекта (это может быть как ссылка, так и ключ записи регистра сведений) и имя реквизита (ресурса). Если нужно получить ссылку на реквизит табличной части, перед именем реквизита необходимо добавить имя табличной части и точку ".".
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Выполняет обращение к серверу только при получении ссылки на реквизит. При получении ссылки на объект информационной базы запрос на сервер не выполняется.
Получить навигационную ссылку для константы?
Вопрос: В конфигурации есть константа с типом ХранилищеЗначения для хранения изображения. Пытаюсь реализовать Загрузку и Выгрузку изображения: СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Константы.Логотип.Получить());
где СсылкаНаКартинку - реквизит формы с типом строка, а на форме есть элемент, у которого путь к данным = СсылкаНаКартинку
Возможно ли реализовать отображение картинки таким образом, или стоит хранить картинку где-либо еще? Ответ:
Навигационную ссылку на константу получить не получится(
Получится только так:
т.е. в процедуру ПриСозданииНаСервере поместить картинку во временное хранилище и она там сидит пока закроете форму
Есть форма списка справочника "Сотрудники".
В нем есть реквизит "Фото", который имеет тип "СправочникСсылка.ХранилищеДополнительнойИнформации" (справочник "ХранилищеДополнительнойИнформации" по структуре полностью совпадает анологичным справочником в 1С 8.1).
В реквизиты формы списка добавил "АдресКартинки" тип "строка", в элементы добавил поле "Картинка" (вид - поле картинки) с путем к данным "АдресКартинки". Как вывести Картинку?
Ответ:
"Хранилище" - это "стандартный" реквизит справочника "ХранилищеДополнительнойИнформации".
Имеется регистр сведений с именем "Изображения" следующей структуры:
Измерения:
- ИдИзображения (тип - уникальный идентификатор);
Реквизиты:
- Изображение (тип - ХранилищеЗначений)
Реализовать возможность записи изображений в него, проблемы не составило. А застрял на получении навигационной ссылки на нужную запись регистра? Ответ - Для регистра сведений первым параметром должен быть ключ записи, а не ссылка на объект.
Т.е. если есть регистр сведений ХранилищеКартинок с изменением Ном (тип справочник Ном) и ресурс Картинка (тип хранилище значений) - код для получения навигационной ссылки должен быть примерно таким:
При использовании в web-клиенте
Стояла следующая задача: отправлять уведомления о изменениях в документах на почту и вкладывать в письмо гиперссылку на измененный документ. База опубликована на web-севере. Полученная в 1С ссылка методом ПолучитьНавигационнуюСсылку() имела следующий вид https://localhost/#e1cib/data/Документы.Счет?ref="ab99005056c0000811e00f627bcddd55"
Вложенная в таком виде ссылка не открывала нужный документ, а лишь инициировала переход в базу.
Как оказалось проблема была в следующем, в URL-адресах не должны присутствовать кавычки, их заменяем на %22 https://localhost/#e1cib/data/Документы.Счет?ref=%22ab99005056c0000811e00f627bcddd55%22
Схема программной установки нужной нам строки активной.
Для начала хочу напомнить, что данные табличной части документа(или таблицы значений) и табличное поле – это разные объекты. Для того чтобы сделать какие-то визуальные действия мы работаем с табличным полем. В данном случае, мы будем использовать его свойство "ТекущаяСтрока", как раз оно и отвечает за то, какая строка активна. Чтобы выделить в табличном поле необходимую нам строку понадобится два шага: 1. Найти нужную нам строку в объекте данных которые отображает табличное поле
Подчеркну что здесь понадобиться именно объект данных. Например, у нас имеется документ РеализацияТоваровУслуг у которого есть табличная часть «Товары» и мы решили сделать активной 2-ю строку на форме документа. Тогда в модуле формы документа мы напишем:
Или мы знаем, что во второй строке в колонке Номенклатура у элемента Код равен «001» тогда мы используем конструкцию:
2. Установить значением текущей строки найденную строку
Теперь нам нужно присвоить значение переменной НужнаяСтрока свойству табличного поля ТекущаяСтрока:
Каждый из тех кто продает свой интеллектуальный труд, не раз сталкивался с необходимостью создания демо-версии разработки, дабы продемонстрировать клиенту функциональность, но при этом сохранить для клиента потребность в приобретении полнофункциональной версии. В этой статье я хотел бы рассмотреть несколько не сложных примеров создания демо-версий обработок/отчетов для платформы «1С:Предприятие 8».
Перед тем как приступить, собственно, к сути вопроса, хотелось бы сделать небольшое отступление для «крутых хакеров». Как известно, штатные возможности 1С, не представляют достаточно надежных средств для защиты исходного кода, поэтому приведенные здесь примеры – это исключительно защита от ПОЛЬЗОВАТЕЛЯ и ничего более.
Да и в целом, по моему глубокому убеждению, открытость кода в 1С – это одно из важнейших (если не самое важное) её достоинств. Поэтому я сторонник «установки пароля на модуль, поставки без исходного текста», только в случае демо-версии разработки. А при приобретении обработки, клиент приобретает её ЦЕЛИКОМ, в том числе и исходный код.
Для начала, немного общих моментов. Для того что бы ограничить использование нашего «уникального» функционала, будь-то алгоритм проведения документа или процедура формирования отчета, необходимо вынести код в модуль объекта и скрыть его от пользователя. Это можно достичь двумя путями. Во-первых установка пароля на модуль объекта. Что бы установить пароль, откройте модуль объекта, далее в меню «Текст» выберите пункт «Установить пароль». Во-вторых поставка без исходного кода. Что бы получить обработку/отчет без исходного кода, необходимо сначала создать поставку включающую в себя наш отчет без исходного кода, а затем сохранить его как внешний. Настройка поставки производится в диалоге «Конфигурация > Поставка конфигурации > Настройка поставки».
Итак, пример № 1. Ограничение по времени использования. Заключается в том, что функционал работает в течении определенного, ограниченного времени, например 10 дней. Для этого, нам надо как-то «запомнить» дату первого запуска, сделаем это с помощью реестра Windows.
Таким образом, осталось только вставить проверку на продолжение работы в нашу основную процедуру, например:
Для особо хитрых пользователей, можно сделать запрос точного времени из Интернета, что бы защититься от изменения системного времени. Например, так:
Пример №2. Ограничение по количеству выполнений. То есть к примеру, отчет в демо-версии можно сформировать не более 5-ти раз. Делается аналогично предыдущему варианту, разница заключается лишь в том, что в реестр на этот раз будем записывать номер текущего запуска.
Пример №3. Реализация защиты «пароль-ответ». Недостаток предыдущих способов, заключается в том, что полнофункциональная версия является отдельной разработкой, которую клиенту необходимо переслать, привести, установить и т.д. При использовании же, следующего способа, всё что потребуется для получения полной версии разработки – это зарегистрировать обработку, т.е. ввести правильный код.
Суть этого способа состоит в том, что при запуске у клиента формируется некий уникальный ключ, для которого, по только нам известному алгоритму, можно сформировать «ответный пароль». И в случае совпадения пары ключ-ответ обработка считается успешно зарегистрированной.
В качестве такого уникального ключа можно, к примеру, использовать серийный номер жесткого диска, MAC-адрес, имя пользователя и т.д. Рассмотрим пример с серийным номером жесткого диска.
Алгоритм получения «ответного значения» по ключу, ограничен лишь Вашей фантазией. Здесь же, в качестве примера, я буду использовать простую перестановку символов в обратном порядке.
Таким образом, наша процедура проверки и подтверждения регистрации будет выглядеть так:
Осталось только вставить проверку регистрации в нашу основную процедуру:
На данный момент, существуют различные декомпиляторы, плагины к Total Commander и др. разработки, позволяющие получить исходный программный код, даже если он закрыт паролем или поставляется в скомпилированном варианте. Дабы чуть-чуть усложнить жизнь пользователям умеющим пользоваться Google, можно ключевые моменты алгоритма, такие как работа с реестром или проверка регистрационного кода, дополнительно вынести во внешний шифрованный скрипт.
Начиная с Windows Script 5.0, появилась возможность чтения зашифрованных сценариев машинами сценариев. Поэтому любой сценарий написанный на VBScript или JavaScript, может быть выполнен в зашифрованном виде. Что бы преобразовать код на VBScript в зашифрованный вид, воспользуемся бесплатной утилитой «Windows Script Encoder», которую можно скачать с сайта Microsoft. В результате, например скрипт создания в реестре Windows раздела «HKEY_CURRENT_USER\Software\1C\1Cv8\Report», будет выглядеть следующим образом: #@~^ZAAAAA==jY~UtVV{ZMnlD+64N+^OvJU^DbwYcj4+^Vr#@#@&j4VsR"noqDrOPJuF;jw?KWDhCM+ 'FZ'F;-%'InwKDOwr~\(HE^V@#@&hyAAAA==^#~@
Приведу пример функции, осуществляющей проверку введенного пользователем регистрационного кода, с использованием шифрованного скрипта:
Эта функция вернет «Истина», если в качестве регистрационного кода передать ей строку «dce8a7196f14». Аналогичным образом можно скрыть и всю работу с реестром. Но, тем не менее, не следует забывать о существующих специализированных программных продуктах, позволяющих отслеживать чтение и запись реестра.
В заключении, хочется сказать, что как известно, надежная защита для программного продукта – это такая защита, стоимость взлома которой, превышает стоимость законного приобретения. Поэтому для крупных проектов следует использовать более надежные средства от незаконного копирования и использования, такие как вынос ключевых функций во внешние dll, аппаратные ключи защиты и пр. Здесь же я попытался привести несколько простых примеров в качестве основ так сказать… Источник
Круглов Дмитрий дмитриевич:
Скрипт определяет наличие предыдущих платформ и деинсталлирует их..
далее устанавливает последнююю версию, прописывает нужные базы и прямые ярлыки
Рябко Михаил Евгеньевич:
При установке файла 1CEnterprise 8.2.msi через GPO платформа ставилась, но потом ее не могли удалить (после выключения из групповых политик установки). Никакой unistaller ee не брал. Потом почистили реестр, вроде победили.
Более того, инсталлер не прописывал ярлыки в каталог %SystemRoot%\Installer\{8150646B-4F88-4415-AF2A-F96199E3DA37},из за этого все ярлыки были без картинок.
Даже если бы все работало, этот способ не очень понравился, т.к. для 8.2 через те же GPO нельзя прописать базы. А смысл тогда?
Далее пробовали через скрипт. Такое же непредсказуемое поведение по деинсталляции платформы. Кроме этого появлялось 2 ярлыка после установки. Один - который прописан в скрипте, другой - после работы инсталлятора. Ну ладно, написал файл трансформации, чтобы лишний ярлык не создавал, но проблема ошибки при выполнения скрипта ("Требуется объект") и деинсталляции осталась.
Точно также проблема деинсталляции и с ярлыками остается при прямой установке 1CEnterprise 8.2.msi (без трансформации, запуском из проводника), разве что из списка программ удаляется, а все файлы остаются.
В итоге пришли к решению в лоб. Раз уж запуск 1cestart.exe на расшаренной папке дает более-менее положительный результат вручную, то нужно и идти по этому пути. Написал скрипт установки. Вроде работает. Правда, чтобы ограничится установкой без запуска, пришлось создать базу-пустышку и намеренно внести ошибку в параметр запуска. Далее по комментариям все должно быть понятно.
А так есть подозрение, что причина в кривом файле 1CEnterprise 8.2.msi (ярлыки то хотя бы он должен создавать нормально?). То ли дело установка через Setip.exe - тут все в шоколаде и работает.
Итак, альтернативный скрипт (сохранить с расширением *.vbs)
В качестве примера использования можно указать вот такую ситуацию: в зависимости от типа клиента (договора, документа и т.п) формируются разные тексты договоров с разным количеством таблиц. В реальности, конечно должены использоваться и макет и описанные здесь динамические механизмы.
В моем примере я заранее создал новый пустой документ. Тестировалось на Office 2007.
Часто при создании документа из макета используют метод замены кусков текста. В примере представлен другой вариант выполнения того же действия - с использованием закладок. Также представлен пример построения нумерованного списка, вставки картинки, настройки ее параметров.
Пример использования описанных возможностей прост. При формировании коммерческого предложения бывает необходимо описать список условий, добавить изображение образца продукции.
Для отображения закладок включите эту опцию в настройках вашего Word'а.
В моем примере я заранее создал новый пустой документ, путь к документу и картинке прописан в тексте. Не забудте указать свои пути.
Восстановить нумерацию документов или справочников нам поможет специальная обработка «Универсальные подбор и обработка объектов». Эту обработку можно найти на диске ИТС (УниверсальныеПодборИОбработкаОбъектов.epf).
Порядок работы с обработкой:
Открываем обработку через меню «Файл» – пункт «Открыть»:
Выбираем файл «УниверсальныеПодборИОбработкаОбъектов.epf» и нажимаем «Открыть»:
В открывшемся окне в поле «Объект поиска» выбираем вид документа (которые требуется перенумеровать), для справочника - выбираем нужный справочник:
Далее устанавливаем отбор на закладке «Отбор по значениям реквизитов», например, нам надо восстановить нумерацию документов «Реализация товаров и услуг» начиная с 01 января 2010 года по текущую дату. Нажимаем в командной панели кнопку «Добавить». В окне выбора поля выбираем «Дата», в колонке «Тип сравнения» указываем «Больше», в поле «Значение» устанавливаем 01.01.2010, для справочника - сразу нажимаем «Найти объекты»:
После этого нажимаем «Найти объекты»:
Программа перемещает нас на закладку «Найденные объекты», на которой мы видим список отобранных документов для перенумерации. На рисунке наглядно показано, с какой даты изменена нумерация (убраны так называемые лидирующие нули):
Далее мы переходим на закладку «Обработки», в левой части выбираем пункт «Перенумерация объектов» (дважды кликаем по нему мышкой):
В следующем окне указываем с какого номера перенумеровывать (поле «Начальный номер»). В нашем случае это – 1. Если мы хотим восстановить нумерацию учитывая префикс, устанавливаем переключатель в положение «Не изменять существующие префиксы»:
После нажатия кнопки «Выполнить» происходит перенумерации документов.
При копировании из «1С:Предприятие» через буфер обмена текст вставляется в другой кодировке?
Избавляемся от этой проблемы с помощью нехитрых манипуляций.
Попробуем скопировать из конфигуратора любую часть текста, например строку:
Бывает так, что при вставке из буфера обмена в текстовый документ (например, блокнот или Word) получаем текст в виде иероглифов!
Конечно, при копировании можно контролировать текущую раскладку, чтобы был включен русский язык, тогда проблем при копировании не возникнет. Но кому хочется следить за этим и делать что-то второй раз, копируя данные повторно?
С помощью программы regedit (Пуск\Выполнить\regedit) нужно открыть реестр Windows и найти путь: НKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Codepage
В строке с именем 1252 установить строковый параметр c_1251.nls.
После этого перезагружаем компьютер и забываем о проблеме некорректного отображения текста.