Передача элемента управляемой формы в общий модуль
Проблема такая, Конфигурация ЗУП версии 3.1, мне нужно в процедуру, которая отвечает за печать в справочнике сотрудника (которая находится в общем модуле), в нее передать значение элемента, который сам по себе ссылка на другой справочник, пробовал писать процедуру на сервере, как где то читал, но ничего не помогает, заранее благодарю.
Пример оставлю здесь, где то читал, что если поместить в соответствие, то затем я смогу и в общий модуль передать.
И выходит такая ошибка:
{ОбщийМодуль.СотрудникиБазовый.Модуль(1248,2)}: Процедура или функция с указанным именем не определена (ПередатьОкладИзФормы)
<<?>>ПередатьОкладИзФормы(); (Проверка: Сервер)
Пример оставлю здесь, где то читал, что если поместить в соответствие, то затем я смогу и в общий модуль передать.
&НаСервере
Процедура ПередатьОкладИзФормы() Экспорт
ЗначениеОклада = ЭтаФорма.ТекущаяДолжностьПоШтатномуРасписанию.ОкладТариф;
ЗначениеОкладаСоответствие = Новый Соответствие;
ЗначениеОкладаСоответствие.Вставить("Оклад", ЗначениеОклада);
КонецПроцедуры
ПоказатьИ выходит такая ошибка:
{ОбщийМодуль.СотрудникиБазовый.Модуль(1248,2)}: Процедура или функция с указанным именем не определена (ПередатьОкладИзФормы)
<<?>>ПередатьОкладИзФормы(); (Проверка: Сервер)
По теме из базы знаний
- Под капотом управляемых форм
- Трюки 1С 8 – Управление обычными формами из общего модуля
- Внеконтекстный вызов методов объекта обработки (отчета) в управляемой форме
- Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы
- Консоль запросов для управляемых форм
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Попробовал
Модуль Формы элемента:
Общий Модуль.СотрудникиВызовСервера:
Ошибка:
{ОбщийМодуль.СотрудникиВызовСервера.Модуль(153,13)}: Процедура или функция с указанным именем не определена (ПередатьОкладИзФормы)
Оклад = <<?>>ПередатьОкладИзФормы(); (Проверка: Сервер)
Модуль Формы элемента:
Функция ПередатьОкладИзФормы() Экспорт
ЗначениеОклада = ЭтаФорма.ТекущаяДолжностьПоШтатномуРасписанию.ОкладТариф;
ЗначениеОкладаСоответствие = Новый Соответствие;
ЗначениеОкладаСоответствие.Вставить("Оклад", ЗначениеОклада);
Возврат ЗначениеОкладаСоответствие;
КонецФункции
Общий Модуль.СотрудникиВызовСервера:
Функция ПередачаОкладаСФормы() Экспорт
Оклад = ПередатьОкладИзФормы();
КонецФункции
Ошибка:
{ОбщийМодуль.СотрудникиВызовСервера.Модуль(153,13)}: Процедура или функция с указанным именем не определена (ПередатьОкладИзФормы)
Оклад = <<?>>ПередатьОкладИзФормы(); (Проверка: Сервер)
(28) Да не надо здесь ничего РЕШАТЬ. И вопроса-то нет никакого.
1. Надо просто использовать модули в соответствии с их назначением. Это вопрос базовых знаний, а не опытных умений. Это первое.
2. Надо знать что такое процедура, что такое функция, как между ними передаются параметры, и использовать их правильно. Это тоже вопрос базовых знаний, а не опытных умений.
Обеим этим вещам учат на первых страницах всех самоучителей и на первых занятиях всех курсов.
А когда человек не знает, и что страшнее - не пытается знать, то зачем ему пытаться "что-то сказать"? Зачем пытаться помогать человеку правильно выстраивать пунктуацию в предложении, если он и букв-то не знает?
1. Надо просто использовать модули в соответствии с их назначением. Это вопрос базовых знаний, а не опытных умений. Это первое.
2. Надо знать что такое процедура, что такое функция, как между ними передаются параметры, и использовать их правильно. Это тоже вопрос базовых знаний, а не опытных умений.
Обеим этим вещам учат на первых страницах всех самоучителей и на первых занятиях всех курсов.
А когда человек не знает, и что страшнее - не пытается знать, то зачем ему пытаться "что-то сказать"? Зачем пытаться помогать человеку правильно выстраивать пунктуацию в предложении, если он и букв-то не знает?
(15) так может перед решением задачи надо какие-то курсы пройти/обучиться самостоятельно, попробовать на простейших примерах, не?
то, что вы никогда не делали, по вашим словам - это прям совсем базовый уровень, без его понимания и практики на простецких задачках - ничего не получится вообще.
то, что вы никогда не делали, по вашим словам - это прям совсем базовый уровень, без его понимания и практики на простецких задачках - ничего не получится вообще.
(18) Во первых то что вы говорите, это честно говоря какое то неадекватное поведение, существует форум, на нем люди задают вопросы, мне нельзя получается задавать вопросы? Я устроился на свою первую работу и за все свои 7 месяцев я с такими вещами не сталкивался, сталкивался с другими проблемами и их спокойно решал, сейчас я вообще в первые столкнулся с типовой конфигурацией и пока что я в ней еще путаюсь, у всех людей совершенно разный может быть опыт и время для того, чтобы чему то научится. Правильно ли я понимаю, что мне сейчас нужно просто встать и не знаю там... Уволится или еще что? Я просто заметил, что почему то именно программисты 1с строят из себя каких то пупов земли, которые считают, что все остальные должны все знать на том же уровне, что и они, честно говоря даже слишком часто. Пока работал и искал тоже какие то похожие вопросы, просто миллиард тем на форуме, где супер опытные программисты любую вещь называют базовой и вместо того, чтобы просто зайти помочь человеку, либо пройти мимо, как сделал бы адекватный человек, нет, вам нужно обязательно вставить свои пять копеек, как это вообще вас касается?
(24) А давно опытные медики тратят свое и чужое время на выяснение причин выполнения операции другим человеком? Что даст ответ на этот вопрос? Если причина будет уважительная, то, сломя голову, побежите помогать? Откуда столько обиженных 1сников, не понимаю.
(19) Ну Штож......сеанс антиинфантилии считаю начатым.
Вопросы задавать можно и нужно, только вопросы должны быть адекватные.
Вопрос №1:
- Мне тут надо апендикс вырезать пациенту. Сделал разрез, сделал надрез, но что-то какой-то он слишком длинный получается, не подскажете, что делать?
- Да все как обычно: скальпелем делаешь разрез в правом нижней части брюшной полости, чуть выше тазовой кости......
- А что такое скальпель? Что такое брюшная полость? Что такое тазовая кость?
- Ты прикалываешься?
- Нет, устроился на работу хирургом, за 7 месяцев как-то не приходилось сталкиваться со всем этим.
Вопрос №2:
- Мне тут надо апендикс вырезать пациенту. Сделал разрез, сделал надрез, часть гноя вылилась в брюшную полость, не подскажете, что сделать, чтобы собрать то, что вылилось?
- Берешь специальный отсос и собираешь остатки, обрабатываешь антисептиком на всякий.
Не находите, что адекватность вопроса №2 на порядкИ выше?
Я низачто не поверю, что программист 1С за 7 месяцев работы ниразу:
- не вызывал процедур/функций с передачей в них параметров
- не получал любую форму любого объекта
Методы работы с объектами конфигурации/их методами/процедурами/функциями едины и не зависят от конфигурации
С этим никто и не спорил как бы. Вопрос в обладании БАЗОВЫХ знаний взаимодействия между объектами/процедурами/функциями
Решать вам
Зачем пошли в эту профессию, если все так плохо?
Я еще раз повторю: получение любой формы любого объекта и вызов процедуры/функции с передачей в них параметров - это именно что базовые навыки, чуть ли не первых 2-ух занятия на курсах.
Просто зашел и в (8) дал четкий ответ, решающий вашу проблему. Как можно продолжать что-то советовать, если из дальнейшего диалога выясняется, что вы базовых вещей не знаете/понимаете?
(25)
См. пример вопроса №1.
Помощь уже оказана в письменном виде, но как оказалась, просящий помощи не понимает смысла ответа, для него это просто набор слов.
Во первых то что вы говорите, это честно говоря какое то неадекватное поведение, существует форум, на нем люди задают вопросы, мне нельзя получается задавать вопросы?
Вопросы задавать можно и нужно, только вопросы должны быть адекватные.
Вопрос №1:
- Мне тут надо апендикс вырезать пациенту. Сделал разрез, сделал надрез, но что-то какой-то он слишком длинный получается, не подскажете, что делать?
- Да все как обычно: скальпелем делаешь разрез в правом нижней части брюшной полости, чуть выше тазовой кости......
- А что такое скальпель? Что такое брюшная полость? Что такое тазовая кость?
- Ты прикалываешься?
- Нет, устроился на работу хирургом, за 7 месяцев как-то не приходилось сталкиваться со всем этим.
Вопрос №2:
- Мне тут надо апендикс вырезать пациенту. Сделал разрез, сделал надрез, часть гноя вылилась в брюшную полость, не подскажете, что сделать, чтобы собрать то, что вылилось?
- Берешь специальный отсос и собираешь остатки, обрабатываешь антисептиком на всякий.
Не находите, что адекватность вопроса №2 на порядкИ выше?
Я устроился на свою первую работу и за все свои 7 месяцев я с такими вещами не сталкивался, сталкивался с другими проблемами и их спокойно решал
Я низачто не поверю, что программист 1С за 7 месяцев работы ниразу:
- не вызывал процедур/функций с передачей в них параметров
- не получал любую форму любого объекта
сейчас я вообще в первые столкнулся с типовой конфигурацией и пока что я в ней еще путаюсь
Методы работы с объектами конфигурации/их методами/процедурами/функциями едины и не зависят от конфигурации
у всех людей совершенно разный может быть опыт и время для того, чтобы чему то научится.
С этим никто и не спорил как бы. Вопрос в обладании БАЗОВЫХ знаний взаимодействия между объектами/процедурами/функциями
Правильно ли я понимаю, что мне сейчас нужно просто встать и не знаю там... Уволится или еще что?
Решать вам
Я просто заметил, что почему то именно программисты 1с строят из себя каких то пупов земли, которые считают, что все остальные должны все знать на том же уровне, что и они, честно говоря даже слишком часто.
Зачем пошли в эту профессию, если все так плохо?
Пока работал и искал тоже какие то похожие вопросы, просто миллиард тем на форуме, где супер опытные программисты любую вещь называют базовой
Я еще раз повторю: получение любой формы любого объекта и вызов процедуры/функции с передачей в них параметров - это именно что базовые навыки, чуть ли не первых 2-ух занятия на курсах.
просто зайти помочь человеку, либо пройти мимо, как сделал бы адекватный человек, нет, вам нужно обязательно вставить свои пять копеек, как это вообще вас касается
Просто зашел и в (8) дал четкий ответ, решающий вашу проблему. Как можно продолжать что-то советовать, если из дальнейшего диалога выясняется, что вы базовых вещей не знаете/понимаете?
(25)
А давно опытные медики тратят свое и чужое время на выяснение причин выполнения операции другим человеком? Что даст ответ на этот вопрос?
См. пример вопроса №1.
Если причина будет уважительная, то, сломя голову, побежите помогать?
Помощь уже оказана в письменном виде, но как оказалась, просящий помощи не понимает смысла ответа, для него это просто набор слов.
(38) Так скажите, самому интересно, как это можно получить форму, вызвать у нее экспортный метод и получить значение реквизита формы? А если несколько форм открыто, он несколько раз вызовется и из каждой достанет?) Я только способ с ПолучитьОкна() могу подобрать под такую "ЧЕТКУЮ" формулировку.
(41)
И второе - а что, собственно говоря не так? Получить можно хоть от кого. Хоть от "передающего", хоть от "создающего", хоть от "рядом лежащего". И все это подпадает под "получить".
получить форму ... или передать ее в качестве
Глаза разуваем потихоньку... Это первое.
И второе - а что, собственно говоря не так? Получить можно хоть от кого. Хоть от "передающего", хоть от "создающего", хоть от "рядом лежащего". И все это подпадает под "получить".
(41) В (8) четко указано, что либо получить форму заново, либо передать ее в качестве параметра.
Получение формы заново влечет за собой необходимость ее наполнения и нужный реквизит формы может таки не заполнится - это уже тонкости.
переданая форма содержит все свои реквизиты заполненными, так, как они заполнились при ее открытии.
Получение формы заново влечет за собой необходимость ее наполнения и нужный реквизит формы может таки не заполнится - это уже тонкости.
переданая форма содержит все свои реквизиты заполненными, так, как они заполнились при ее открытии.
(46) Да, действительно четкий ответ... Ты форму получи и все, метод там вызови. А, ну еще с сервера уйди - форма только на клиенте доступна, вызови какой-то экспортный метод, который заполняет твой реквизит, вместо того, чтобы скопировать алгоритм, если он все-таки есть. А, ну еще там обработчики событий формы не вызываются, так что тоже придется код перетащить, ну ты это, давай, удачи тебе) Мы то опытные, помогли чем смогли.
(50)
- Как испечь хлеб?
- Надо взять муку...
- Что это за ЧЕТКИЙ ответ??? А если нет у меня муки? Мука доступна только в магазине, значит надо идти в магазин, а если там нет того сорта, значит придется идти копать землю, садить в неё зернышки... Что за четкий ответ такой "взять муку"???
Ты форму получи и все, метод там вызови. А, ну еще с сервера уйди - форма только на клиенте доступна, вызови какой-то экспортный метод, который заполняет твой реквизит, вместо того, чтобы скопировать алгоритм, если он все-таки есть. А, ну еще там обработчики событий формы не вызываются, так что тоже придется код перетащить, ну ты это, давай, удачи тебе) Мы то опытные, помогли чем смогли.
- Как испечь хлеб?
- Надо взять муку...
- Что это за ЧЕТКИЙ ответ??? А если нет у меня муки? Мука доступна только в магазине, значит надо идти в магазин, а если там нет того сорта, значит придется идти копать землю, садить в неё зернышки... Что за четкий ответ такой "взять муку"???
(50)
Ну так опытные обычно форму передают и работают с ней в общем модуле, если это вообще требуется для решения задачи, а не выносят в общий модуль какой-то один алгоритм, непонятно что делающий, который можно было бы реализовать в пределах той же формы, откуда он вызывается.
Мы то опытные, помогли чем смогли.
Ну так опытные обычно форму передают и работают с ней в общем модуле, если это вообще требуется для решения задачи, а не выносят в общий модуль какой-то один алгоритм, непонятно что делающий, который можно было бы реализовать в пределах той же формы, откуда он вызывается.
(52) а ничего, что контекст выполнения и принятого варианта решения известен только ТС?
я показал, что ситуации могут быть разные, можно решать 2-мя способами для разных контекстов выполнения
И это раньше того, как "опытные медики тратят свое и чужое время на выяснение причин выполнения операции другим человеком?".
Тратят, но в зависимости от своего опыта на момент выдачи совета, могут делать это меньше, потому что уже потратили на это время раньше, только неопытным это не понятно почему-то.
я показал, что ситуации могут быть разные, можно решать 2-мя способами для разных контекстов выполнения
И это раньше того, как "опытные медики тратят свое и чужое время на выяснение причин выполнения операции другим человеком?".
Тратят, но в зависимости от своего опыта на момент выдачи совета, могут делать это меньше, потому что уже потратили на это время раньше, только неопытным это не понятно почему-то.
(56) Ну вы сами как считаете? Человек, который должен быть знать все эти нюансы, которых так много, что я даже перечислить все смогу - от одного следует другое, не додумался бы передать форму в качестве параметра? И вы тыкаете после этого тем, что человек ничего не понял? Самим то не стыдно?
(58)
Совет о передачи формы в качестве параметра был в (8), после этого, в (11), ТС говорит, что не знает как это делать.
Я ему должен рассказать о том, что такое параметры метода/какие виды бывают/как определять их значения или какие ко мне претензии?
Ну вы сами как считаете? Человек, который должен быть знать все эти нюансы, которых так много, что я даже перечислить все смогу - от одного следует другое, не додумался бы передать форму в качестве параметра?
Совет о передачи формы в качестве параметра был в (8), после этого, в (11), ТС говорит, что не знает как это делать.
Я ему должен рассказать о том, что такое параметры метода/какие виды бывают/как определять их значения или какие ко мне претензии?
(62) Вопрос читали вообще?) Да уж, глухому не расскажешь - 1снику не докажешь... Я думаю, что вы прекрасно понимаете то, что ваш изначальный ответ не имеет смысла, но, раз вы продолжаете ср#ть, не снимая штаны, то это ваш удел. Желаю вам и самим сталкиваться с похожими ответами, если, не дай бог, вы захотите испечь хлеб)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот