@stictt
просто рак

1с Как сделать вызов формы на какое то действие по обьекту?

С 1С знаком не очень долго, задача сделать произвольную ведомость, с определенными условиями, скажем, при клике на номенклатуру, открывался не модуль элемента, или что там откроется, а произвольная форма, который мы сами определим, Как знакомому с другими зыками программирования, я думал, а если упаковать номенклатуру в другую номенклатуру и переопределить так сказать модуль по умолчанию. но возникает много проблем, да и вопросов, чья форма откроется, если указание поля будет по ссылке, и тд. Вот примерно на такие костыли хотел идти. Хотя возникла идея создать синхронизатор внутри номенклатуры, когда создают его, создают и другой обьект. зеркальный, но все это городульки. Хочу узнать есть ли способ лучше ?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
У вас мешанина терминов. Если вы попытаетесь гуглить свой вопрос, то получите фигню.

"Справочник" (у вас Номенклатура) - это, грубо говоря, табличка в СУБД без явного ограничения количества, где каждая запись соответствует элементу справочника.
"Ведомость" (у вас Произвольная Ведомость) - это ограниченный пользователем перечень каких-то данных. Можно реализовывать Отчетом или Обработкой, если результат будет уходить на принтер и не нужно хранить в базе. Если нужно хранить в базе, то делается документом с табличной частью; классика - зарплатная ведомость.
"Модуль элемента" - это вообще-то область описания обработчиков событий или программного интерфейса. Контекст упоминания говорит, что вы скорее всего имели в виду "Форму элемента" (она же "Карточка элемента").
"Определенное условие" - абстрактное понятие, видимо связанное с описанием логических взаимосвязей. В мире 1С - это могут быть условия отборов (фильтры), условия оформления (старые долги - красным) или текстовые примечания с юридическими условиями по договорам.

Вы забываете, что решения на платформе 1С - это не классическое ООП, а DSL (ПОЯ), и потому у вас идет нагромождение бредовых нежизнеспособных идей, которые я даже не буду комментировать.

Как я понял, вам нужно видеть справочник номенклатуры, но по некоторому условию по клике на элемент открывать не карточку этого элемента, а форму какого-то отчета, куда параметром передать ссылку на элемент, по которому кликнули. Вариантов реализации масса и зависят от точного задания. Самое простое - это в списке Номенклатуры (элемент списка на форме списка) переопределить событие Выбор - там сделать проверку вашего условия, по выполнению которого отключить стандартное поведение и открыть требуемую форму. Если нужно более универсально и переопределять из любого места в коде, то в форме элемента в событиях создания или открытия (в зависимости от типа формы) можно отказаться от стандартного открытия и вызвать нужную форму.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump
Системный администратор со стажем.
1с Как сделать вызов формы на какое то действие по обьекту?
Написать обработчик в форме, если речь идет о визуальном объекте и действии пользователя.

скажем, при клике на номенклатуру
Вы не сможете этого сделать. Номенклатура это просто справочник - встроенный объект платформы 1с.
Кликать вы можете в какой-то форме. Вот в этой форме и вешайте обработчик который при клике вызовет нужное вам действие - музыку включит, кино покажет, или форму с нужными вам данными откроет.

а если упаковать номенклатуру в другую номенклатуру и переопределить так сказать модуль по умолчанию
Даже представить сложно что вы там собрались переупаковывать и переопределять. Ничего не понятно, выражайте мысли яснее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы