8.х Процедура владельца формы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем pa.balabenkov, 24 ноя 2014.

  1. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    День добрый! Есть обработка у неё есть Владелец (ФормаДокумента). В ходе выполнения модуля обработки есть необходимость обратится к процедуре модуля формы владельца.(Процедура экспортная). Вызов идет так -

    ВладелецФормы.НужнаяПроцедура(Параметры);

    Все работает нормально. Но владельцем может быть любой документ и не факт, что НужнаяПроцедура в модуле будет(она может быть просто не нужна, в каком то отдельном случае). Есть возможность проверить наличие НужнойПроцедуры в модуле ВладельцаФормы?

    Сейчас сделал через Попытку. Сделать аналог в модуле обработке на вариант слишком много нюансов придется учитывать и отборов то же.
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну если правильно поняла, то только через попытку, если не хотите по типам документов задавать условие
  3. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Процедура самописная? может есть смысл вынести её в общий модуль , а при открытии обработки передавать параметр вызывать её или нет
  4. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Общий модуль не подойдет. Она "слишком разная" для каждого конкретного документа. Плюс ко всему работает с конкретной отдельной строкой табличного поля документа. А в некоторых документах табличных полей больше чем одно
  5. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а что вас смущает в использовании конструкции Попытка Исключение?
  6. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ну так может тогда туда и передавать конкретную строку и обрабатывать, просто в процедуре поставить проверку на неопределенно. Или сделать параметру значение по умолчанию. А в процедуре описать что если так то так то то выходим
    --- Объединение сообщений, 24 ноя 2014 ---
    Сам смысл Попытки) получится или нет. Вернее даже наверно так, данная конструкция предусмотрена для обработки исключительных ситуаций. А зачем нам их обрабатывать если мы можем сделать их неисключительными. Сам написал и сам думаю что логика в этом какая то есть).
    Можно же просто задать правильно структуру параметров и уже в процедуре прописать выполнять или нет в зависимости от того каков параметр.
    Хотя опять же я предложил как вариант, а свой код ближе к телу, так что исполнителю решать.
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну я автора спросила, спасибо что и свое мнение озвучили. Тут еще вопрос в том, сколько доков ТС должен будет поменять чтоб вынести процедуру в ОМ? Приемлимо ли это с точки зрения дальшейго обновления
  8. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    ничем не смущает, просто ищу возможные варианты более оптимального решения

    в каждом документе и в каждом конкретном случае своя логика для этой процедуры.
  9. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    пардон, а сколькьо таких документов? по типу разумеется
    --- Объединение сообщений, 24 ноя 2014 ---
    как вариант создать вначале обработки список таких документов и просто проверять, если текущий входит в список, тогда вызывать эту процедуру, иначе едем дальше
  10. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Т.е. в нескольких документах есть одноименная процедура но с разными алгоритмами? Тогда опять же проверку можно сделать внутри процедуры, но зато если в дальнейшем встретятся документы с одинаковой алгоритмикой то вам достаточно будет добавить условие на или Вид документа, а не добавлять в очередной документ процедуру. Опять же если конфигурация типовая, то в дальнейшем сами понимаете какие грабли ждут.

    Ну я в общем то предлагал тоже самое. Вот кстати никогда не работал с данным объектом. Но можно завязать на него я так понимаю. И в состав добавлять те документы по которым необходимо вызывать, а внутри процедуры делать проверку на условие.

    Механизм функциональных опций - это один из инструментов разработки. Он позволяет определить в конфигурации ту функциональность, которая может использоваться или не использоваться при внедрении в зависимости от потребностей конкретной организации.
  11. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    таких документов всего 37...причем НЕ нужна эта процедура в 2х или 3х. Вызывается она ходе выполнения обработки, в цикле заполнения строки документа. Она по сути проверяет можно в очередную ячейку записывать данные или нет.
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Опять чел за универсальность:D, но это не к 1С.
    Единственное правильное решение - вам уже писали - выносите в общий модуль команду обработки. В нее передавайте ссылку. На основании ссылки можно определить что это за зверь, и уже под этого зверя обрабатывать.
  13. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    И соответственно сами документы тоже активно используют эту процедуры. При "штатном" редактировании.
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Функциональные опции служат немного для другого.
  15. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Общий модуль не подойдет, тогда нужно будет предавать уйму параметров, определять какой документ и какая ТЧ, ТекущиеДанные, какие параметры у самого документа, константы и т.д. и тп.
  16. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Вы смеетесь сейчас ??? Какие параметры передавать ?????????? Я вам говорю - ссылку передавайте, там уже все параметры переданы.
  17. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ничего не мешает собрать эти параметры при открытии обработки и передать.. это примерно тоже самое что писать обработку подбора для каждого документа свою... есть универсальная съедает кучу параметров и работает.

    Но опять же упорство проявлять не буду поэтому резюмирую Попытка Исключение тоже будет работать.
  18. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Попытка/Исключение предназначена для обработки "внештатной" ситуации, например, записи дока/запись в регистр, чтобы отработать исключение, чтобы данные сохранить или не сохранить вообще(откатить).
  19. TopicStarter Overlay
    pa.balabenkov
    Offline

    pa.balabenkov

    Регистрация:
    14 ноя 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    ссылку...к примеру на только только что созданный, не записанный документ... ТекущиеДанные какие будут?

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

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Вместо ссылки передаете идентификатор нового элемента.

Поделиться этой страницей