Базовый курс. МГ сессия от 27.04.2011

Отвечаем на новую серию вопросов.

1. Предопределенные и обычные элементы.
Можно ли изменить такой стандартный реквизит, как «предопределенный» для  существующего  элемента  справочника?  
Иногда  в  процессе работы возникает   такая   необходимость,   сделать   из   обычного  элемента предопределеный, чтобы обращаться к нему в коде.
Возможно ли это?

2. Модуль менеджера и общий модуль.
применение  модуля  менеджера  VS применение общих модулей;
есть ли какие-то  плюсы при доопределении методов класса в модуле менеджера по сравнению с организацией аналогичной процедуры в общем модуле?

3. Копирование объекта.
Событие ПриКопировании: когда я попадаю в обработчик элемент уже скопирован?

4. Директивы компиляции.
Какова область действия директивы компиляции?

5. Внешние отчеты и обработки.
В чем разница в понятиях ВнешнийОтчет и Внешняя обработка с точки зрения ролей. Ведь это внешние файлы?

6. Ссылка, уникальный идентификатор.
В чем разница между Ссылка и GUID’ом?

7. Открытие формы выбора.
В задаче про выбор обеда,использовали возможность открыть форму справочника для выбора с заданными “настройками”.
Форму в конфигураторе не создавали. По СинтаксисПомощнику получается, что есть 5 параметров управляемой формы.
Мы предполагаем/знаем, что открывая ФормуВыбора справочника, платформа добавит к форме параметры расширения справочника?
Использование динамического списка  платформой для этого случая является “такой” реализацией и в случае ее изменения схема решения задачи не работает?
Правильно ли я понимаю, что при открытии формы, передаваемая вторым параметром структура, является контейнером содержащим все параметры для всех реквизитов формы?

8. ЭтотОбъект и Объект.
Для прикладных объектов есть свойство ЭтотОбъект и он есть в синтаксис помощнике.
Вы в примере с подборами в форме используете Объект.
Видимо, это свойство формы и его нет в СинтаксисПомощнике. А что в нем?

9. Скорость поиска.
В одном из прекладных решений на платформе 1с: Предприятия 8.1 я встерил хранение штрихкодов в табличной части справочника Номенклатуры, а не в регистре сведений.
Разработчики утверждают, что поиск по табличным частям справочника работает так же быстро как поиск по регистру сведений.

10. Проверка на новый элемент.
При решении домашнего задания № 6 (базовый курс) я столкнулся с проблемой – мне в форме объекта нужно определить является ли текущий элемент новым или это уже записаный элемент. Раньше я использовал метод объекта ЭтоНовый(), но теперь он доступен только на стороне сервера.
 В том же задании я хотел отловить событие в форме списка при переносе элемента в другую группу.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте
залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись —
напишите нам на e-mail поддержки.

комментариев 13 на “Базовый курс. МГ сессия от 27.04.2011”

  1. Виталий Межаков 30.04.2011 в 01:07

    Дошли руки до дополнительной информации по курсу после трудовой недели =) Спасибо за ответы!

  2. Извините, не знаю, в какой теме задать свой вопрос.
    Все работало хорошо в Windows XP. Но как только я перешел на Windows 7 проф. – нажил себе проблему и не знаю как с ней справиться.
    7.7 работает нормально, а в 8.2 окно запуска появляется, выбираю базу, выбираю режим конфигуратора или предприятия (неважно) и все… – через несколько секунд окно запуска пропадает, в диспетчере задач восьмерки не вижу, на экране тоже. В руководстве администратора есть только про ОС Vista, а про W7 ничего нет. Не сталкивались ли Вы с такой проблемой? 

    • Странная ситуация.
      Какой релиз платформы?
      Можно попробовать выключить антивирус..

      • Выключал и антивирус и брандмауэр. Релизы от 8.2.12.92 до 8.2.13.219. На ХР работали без вопросов, а тут чудеса какие-то, хотя я, как технарь, в чудеса не верю. Но вот пока не нахожу решения.

        • Да, странно.
          Как вариант – поставить чистую В7, и сразу на нее ставить 8.2. Посмотреть будет ли работать (скорее всего да). Далее ставить остальное ПО, и анализировать работоспособность платформы.

        • Была такая проблема с Kaspersky Internet Security 2011, отключение антивируса не помогало, только после удаление антивируса проблема решилась.

    • На всякий случай проверьте права на все папки в которые 8ка пишет файлы. Я помню, 7.7 при отсутствии прав так и закрывалась тихо, без вопросов, может в 8 также.

  3. Спасибо за ответы.
    Вопрос №5 не прояснился. Давайте сформултрую его по другому. Пишу внешнюю обработку Обработка1. Пишу внешний отчет Отчет1.
    Для роли1 включаю флажок Интер.Открытие внешних обработок. Для роли2 включаю флажок Интер.Открытие внешних отчетов.
    Вопрос: Сможет ли обладатель роли1 открыть Отчет1, а обладатель роли2 открыть  Обработка1?
     

    • Нет, не сможет.

      • А как система их различит? И в какой момент?

        • Проверка происходит в момент открытия.
          При отсутствии соответствующих прав будет выдаваться подобная ошибка:
          Ошибка загрузки документа.
          по причине:
          Ошибка подключения внешних метаданных
          Отсутствуют права на интерактивную загрузку внешних обработок
          по причине:
          Нарушение прав доступа!

          Что касается способа проверки, то выяснился интересный момент, который рассмотрим в мастер-группе.

  4. 1.  Есть еще один вариант. Использовать новый справочник. Этим мы не затрагиваем типовую конфигурацию (если ее используем), что большой плюс. И можем воспользоваться предопределенными элементами. Создаем новый справочник с одним реквизитом (который и будет хранить ссылку на нужные нам элементы). Создаем предопределенные элементы, которые нам нужны. В режиме предприятия делаем привязку нужных нам элементов к предопределенным. Дальше можно написать функцию, которая по имени предопределенного вернет нам нужное значение. Что мы получаем в результате таких действий:
    1. Не затрагиваем конфигурацию (если она на поддержке)
    2. Не используем обработки замены.
    3. Не меняем в SQL данные.
    4. Получаем гибкий механизм. В случае необходимости добавляем новый предопределенный элемент в наш справочник, делаем привязку и пользуемся.  :)
    Ну к примеру: нам нужно к некоторым свойствам номенклатуры (которые созданы в режиме предприятия) обращаться по имени. Заводим в наш справочник предопределенный элемент. В режиме предприятия указываем, что этот предопределенный связан с таким-то свойством. И через функцию, например, ПолучитьЗначениеПредопределенного(НашСправочник.НашеНовоеСвойство) получаем нужное нам свойство.

    • Хорошее решение. Спасибо, Александр!