Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 💫 читайте на сайте

1C 77 Данная Команда не Может Выполняться в Формуле Элемента Диалога • Редактор картинок

Закрыть окно Ctrl F4 Следующее окно Ctrl Shift F6 Предыдущее окно Ctrl F6 Каскадом Alt О К Закрыть окно сообщений Ctrl Shift z Следующая страница Ctrl Alt F Предыдущая страница Ctrl Alt B Разделить окно Alt О Р.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Если формула содержит операторы с одинаковым приоритетом, например операторы деления и умножения, Excel в Интернете эти операторы оцениваются слева направо. Общие модули в 1С 8.3, как создать и вызвать Обращайтесь в форму связи

TurboBL

Понятно, хотелось добиться универсальности и простоты, что и достигнуто.
Но при этом:
Некомпетентность: GetNMethods можно вынести из цикла.
Лень: не зря же FindMethod виртуальная, почему же она
не переопределена ни в одном из наследуемых классов для более
оптимального поиска?
Аналогичная ситуация и с FindProp.

ЦЕЛЬ КОМПОНЕНТЫ
Дабы устранить эту досадную оплошность при поиске методов и свойств,
мною и была создана данная ВК. Суть ее работы в следующем:
оптимизация алгоритма преобразования имен методов/свойств в их номера.
Попутно сделана возможность обращаться к методам и переменным модулей
ГрупповыхКонтекстов.

Вот и все.
Более никаких изменений в существующем коде конфигурации не требуется.
При загрузке компонента берет на себя всю работу по поиску номеров
методов и свойств объектов 1С.
Компонента использует «хитрый» способ загрузки, позволяющий ей загружаться
без регистрации в реестре, те ВСЕГДА и для любого пользователя.

ВЫЗОВ МЕТОДОВ МОДУЛЕЙ ГРУППОВЫХ КОНТЕКСТОВ
Да. Свершилось.
Теперь можно через контекст обратится к методам и переменным модуля контекста.
Например:

//где Печать() — процедура в модуле ФормыСписка справочника.
или например:
// в модуле проведения дока Процедура

ОБЪЕКТ «УскорительГК»
Объект «УскорительГК» был предназначен для возможности обращения
через контекст к методам и переменным ВНЕШНИХ ОТЧЕТОВ.
Теперь это делается автоматически, и его метод «Ускорить» ничего не делает.
Теперь этот объект можно использовать для проверки того, что TurboBL загружена:

Объект «Addin.TurboBL» теперь несуществует, и его создание нельзя использовать
для проверки загруженности компоненты.

СОВМЕСТИМОСТЬ С 1С++
Функционал компоненты включен в состав 1С++, поэтому применять их совместно нет смысла.

БЛАГОДАРНОСТИ
Выражаю глубокую признательность Дмитрию Гусеву aka Deb,
за плодотворное сотрудничество и помощь в тестировании компоненты.
Алексею Федорову aka АЛьФ, за сотрудничество и подсказки по правильной работе таблиц.

PS
Данная разработка не придерживается технологии Внешних Компонент.
«1С-Совместимо» нет и не будет.
Используйте на свой страх и риск.

ИСТОРИЯ ВЕРСИЙ
Версия 1.1.0.1
— Радикально упрощено использование компоненты.
— Добавлена возможность вызова методов модулей через контекст.
— Добавлена проверка установленных компонент при загрузке.
— Исправлены мелкие баги.

Версия 1.1.0.2
— Исправлена ошибка потери возвращаемого значения из функции, вызываемой через Контекст
— Исправлена ошибка, приводящая в определенных ситуациях к вылету 1С

Версия 1.1.0.3
— Изменен способ загрузки ВК, что уменьшило ее размер и позволило ей загружаться всегда.
— Добавлено автоматическое ускорение контекстов внешних отчетов.
— Исправлено обращение к шаблонам таблиц в форме при вызове функций модуля через контекст
— Исправлены мелкие баги.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

Горячие клавиши в 1С предприятии и конфигураторе
Помогла статья? Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Обзор формул

Tab и Shift Tab — для выбора кнопки следует щелкнуть по ней мышью или сделать ее активной указанными клавишами и нажать клавишу Enter.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Удаление конечного листа Если удалить лист 2 или 6, Excel в Интернете скорректирует сумму с учетом изменения диапазона листов между ними. 1С 8 Функции для вызова диалога ввода данных в системе | Обращайтесь в форму связи

Пример переноса кода в общий модуль 1С

Так как для нашей задачи нам хватает вызова с клиента и не нужны данные из базы, ставим только флаг «Клиент». Если вы хотите в дальнейшем использовать этот же модуль для более сложных расчетов, то отметьте в свойствах еще и «Сервер». Подготовительный этап завершен и можем переходить к написанию кода.

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

При разработке общих модулей следует учитывать общепринятые правила по их созданию:

  • Помещать в отдельный общий модуль процедуры и функции, относящиеся к сходному функционалу;
  • В наименовании модуля отражать его принадлежность к контексту (Клиент, Сервер) и избегать общих слов (обработчики, процедуры и т.д.);
  • Разделять внутреннюю серверную логику приложения и клиентскую для интерфейса;
  • Будьте внимательны, создавая глобальный общий модуль. Отсутствие необходимости обращаться к процедуре через имя модуля может привести к путанице, особенно, если систему поддерживает несколько групп разработчиков.

Правильно созданные модули помогут вам намного быстрее ориентироваться в структуре конфигурации и делать доработки. Если вы видите возможность сделать полезную функцию универсальной и вынести ее в общий модуль, то сделайте это. В будущем вы и ваши коллеги будете благодарны за это решение.

Коллекции значений в 1С

Общие модули в 1С 8.3

Справа откроются свойства добавленного общего модуля, и нам предстоит разобраться, что обозначает каждое из них. Они могут быть различной направленности, поэтому, перед тем как настраивать новый объект, желательно определиться, что мы там будем хранить. Если что, в будущем можно будет изменить свойства в соответствии с задачами:

  • «Глобальный». Данный флаг ставится, если модуль предназначен для хранения процедур и функций, которые должны вызываться без указания имени модуля. Естественно, они должны быть экспортными, а их имена уникальными в разрезе всего глобального контекста. По использованию они не будут отличаться от стандартных функций платформы;
  • «Клиент». Зависит от настроек системы и регламентирует, могут ли процедуры модуля выполняться на стороне клиента;
  • «Сервер». Помечаются общие модули, в составе которых планируется помещать алгоритмы для выполнения на сервере;
  • «Внешнее соединение». Процедуры модуля с активацией этого свойства смогут выполняться через подключение внешнего источника;
  • «Вызов сервера». Отвечает за разрешения процедурам из модуля вызывать сервер, выполняясь на клиенте;
  • «Привилегированный». Активация этой настройки позволит при работе кода процедур модуля не проверять права доступа. Вызвать общий модуль с такой настройкой можно только на сервере. Настройки «Клиент» и «Внешнее соединение» будут сброшены;
  • «Повторное использование». Может принимать значения: «Не использовать», «На время сеанса», «На время вызова». При многократном вызове одной процедуры система может использовать рассчитанные ранее данные в рамках процедуры (вызов) или жизни всего сеанса (запуска 1С). Стоит быть очень осторожным с этой настройкой, так как из-за неправильного использования таких модулей могут возникать ошибки.

Бывают ситуации, когда требуется создать общий модуль с вызовами процедуры на сервере и клиенте с отличиями в алгоритме. Для разграничения кода используются директивы препроцессора с проверкой. В результате для серверного вызова это будет один код, а для клиентского – другой.

Списки используются для передачи параметров в запрос, в качестве объекта сравнения в СКД и построителе, а также в отборах в интерфейсе.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
При многократном вызове одной процедуры система может использовать рассчитанные ранее данные в рамках процедуры вызов или жизни всего сеанса запуска 1С. Переменная не определена в 1С 8.3 Обращайтесь в форму связи

Ошибка вывода печатной формы

Информация в окне сообщения об ошибке указывает, что в Модуле менеджера документа ПоступлениеТоваровУслуг не определено значение переменной Ответственный . Для исправления ошибки:

  1. Перейдите в Конфигуратор . В Модуле менеджера документа ПоступлениеТоваровУслуг перейдите на строку 4804.
  2. Укажите для вывода в печатную форму поля Ответственный — текущего пользователя, используя специальную команду 1С:
    • Пользователи.ТекущийПользователь().
  3. Сохраните изменения и обновите информационную базу.
  4. Перейдите в пользовательский режим для проверки выполненных изменений.

После исправления программного кода накладная сформируется без ошибки.

Циклы в 1С 8.3 на примерах

Ошибка исполнения кода на Клиенте

Все это привело к тому, что в 1С команды делятся на исполняемые &НаСервере и &НаКлиенте . И при написании программного кода нужно это учитывать, иначе программа не сможет выполнить заданную операцию. При работе с переменными при написании программного кода важно понимать:

Разделение команд в программном коде не зависит от того, используете ли вы файловую или клиент-серверную 1С. Разграничение должно четко исполняться, иначе будут возникать ошибки, одну из которых БухЭксперт8 разберет на примере.

Ошибка связана с тем, что данная операция исполняется только на сервере, т. е. &НаСервере . И несмотря на то, что сама команда исполнения корректна, ошибка будет формироваться до тех пор, пока ее не перенесут в область команд исполнения &НаСервере , например так:

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

См. также:

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Карточка публикации

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts