8.х Процедуры проведения в типовых

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

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.757
    Симпатии:
    147
    Баллы:
    104
    Здравствуйте.

    В типовых БП 3 и УТ 11 в процедурах проведения вызываются процедуры общего модуля. В которых производится заполнение движений. Но при этом в ОМ нет возможности воспользоваться контекстной подсказкой если мы передаём движения как параметры.
    Вот возникли два вопроса:

    1. Для чего заполнение движений выносят в ОМ ? В чём профит?

    2. Как то можно сделать что бы контекстная подсказка работала?

    Видел как то статью на эту тему. Как заставить работать контекстную подсказку если она не доступна. Но вот найти не могу эту статью... Да и может она вообще про другое... и я что то перепутал.
  2. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну БП3, УТ11 не смотрел. Но заполнение движений в общих модулях ЕМНИП и в УПП уже присутствует.
    Ну как в чем профит, такая идеология. Достаточно заполнить структуру, передать в общий модуль, и движения будут сделаны. Таким образом каждый документ отвечает не за запись в регистр, а за то чтобы корректно передать нужные данные для записи, а собственно сами движения делаются в одном месте (общем модуле).

    Не совсем понял, а почему должна работать контекстная подсказка в общем модуле (ну так, в принципе)? 1С - язык с динамической слабой неявной типизацией. Таким образом в общем модуле 1С просто не знает, какой тип имеют передаваемые в функцию параметры. Что оно должно вывести в качестве подсказки?
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.757
    Симпатии:
    147
    Баллы:
    104
    Я не писал что она "должна" работать. Я понимаю что не работает и почему. Мне интересно как сделать так что бы работало :)
    Вот как мне уже на другом форуме написали можно явно получить объект в переменную. А потом её удалить.

    Не очень удобно без подсказки если много измерений и ресурсов в регистре.

    А вот формирование движений из общего модуля вещь удобная. Все документы что делают движения по регистру только передают в процедуру данные.
    Надо ещё поковырять типовые :)
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Обычно для целей отладки для удобства (если в функции необходимо обращаться к какому-то объекту метаданных конфигурации) пишут в самом начале процедуры например так:
    Код:
    Функция СделатьЧтоТо(ДокументПараметрФункции)
      Если Ложь Тогда
        ДокументПараметрФункции = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
      КонецЕсли;
    
    ...
    
    Так уже подсказка работать будет.
    TODD22 нравится это.
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.757
    Симпатии:
    147
    Баллы:
    104
    ПустаяСсылка() не подходит :) Надо СоздатьДокумент(). От пустой ссылки нельзя Движения получить.

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