Базовый курс. МГ сессия от 27.04.2011
Отвечаем на новую серию вопросов.
1. Предопределенные и обычные элементы.
Можно ли изменить такой стандартный реквизит, как «предопределенный» для существующего элемента справочника?
Иногда в процессе работы возникает такая необходимость, сделать из обычного элемента предопределеный, чтобы обращаться к нему в коде.
Возможно ли это?
2. Модуль менеджера и общий модуль.
применение модуля менеджера VS применение общих модулей;
есть ли какие-то плюсы при доопределении методов класса в модуле менеджера посравнению с организацией аналогичной процедуры в общем модуле?
3. Копирование объекта.
Событие ПриКопировании: когда я попадаю в обработчик элемент уже скопирован?
4. Директивы компиляции.
Какова область действия директивы компиляции?
5. Внешние отчеты и обработки.
В чем разница в понятиях ВнешнийОтчет и Внешняя обработка с точки зрения ролей. Ведь это внешние файлы?
6. Ссылка, уникальный идентификатор.
В чем разница между Ссылка и GUID’ом?
7. Открытие формы выбора.
В задаче про выбор обеда,использовали возможность открыть форму справочника для выбора с заданными “настройками”.
Форму в конфигураторе не создавали.По СинтаксисПомощнику получается, что есть 5 параметров управляемой формы.
Мы предполагаем/знаем, что открывая ФормуВыбора справочника, платформа добавит к форме параметры расширения справочника?
Использование динамического списка платформой для этого случая является “такой” реализацией и в случае ее изменения схема решения задачи не работает?
Правильно ли я понимаю, что при открытии формы, передаваемая вторым параметром структура, является контейнером содержащим все параметры для всех реквизитов формы?
8. ЭтотОбъект и Объект.
Для прикладных объектов есть свойство ЭтотОбъект и он есть в синтаксис помощнике.
Вы в примере с подборами в форме используете Объект.
Видимо, это свойство формы и его нет в СинтаксисПомощнике. А что в нем?
9. Скорость поиска.
В одном из прекладных решений на платформе 1с: Предприятия 8.1 я встерил хранение штрихкодов в табличной части справочника Номенклатуры, а не в регистре сведений.
Разработчики утверждают, что поиск по табличным частям справочника работает так же быстро как поиск по регистру сведений.
10. Проверка на новый элемент.
При решении домашнего задания № 6 (базовый курс) я столкнулся с проблемой – мне в форме объекта нужно определить является ли текущий элемент новым или это уже записаный элемент. Раньше я использовал метод объекта ЭтоНовый(), но теперь он доступен только на стороне сервера.
В том же задании я хотел отловить событие в форме списка при переносе элемента в другую группу.
— залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись —
напишите нам на e-mail поддержки.
Дошли руки до дополнительной информации по курсу после трудовой недели =) Спасибо за ответы!
Извините, не знаю, в какой теме задать свой вопрос.
Все работало хорошо в 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 также.
Спасибо за ответы.
Вопрос №5 не прояснился. Давайте сформултрую его по другому. Пишу внешнюю обработку Обработка1. Пишу внешний отчет Отчет1.
Для роли1 включаю флажок Интер.Открытие внешних обработок. Для роли2 включаю флажок Интер.Открытие внешних отчетов.
Вопрос: Сможет ли обладатель роли1 открыть Отчет1, а обладатель роли2 открыть Обработка1?
Нет, не сможет.
А как система их различит? И в какой момент?
Проверка происходит в момент открытия.
При отсутствии соответствующих прав будет выдаваться подобная ошибка:
Ошибка загрузки документа.
по причине:
Ошибка подключения внешних метаданных
Отсутствуют права на интерактивную загрузку внешних обработок
по причине:
Нарушение прав доступа!
Что касается способа проверки, то выяснился интересный момент, который рассмотрим в мастер-группе.
1. Есть еще один вариант. Использовать новый справочник. Этим мы не затрагиваем типовую конфигурацию (если ее используем), что большой плюс. И можем воспользоваться предопределенными элементами. Создаем новый справочник с одним реквизитом (который и будет хранить ссылку на нужные нам элементы). Создаем предопределенные элементы, которые нам нужны. В режиме предприятия делаем привязку нужных нам элементов к предопределенным. Дальше можно написать функцию, которая по имени предопределенного вернет нам нужное значение. Что мы получаем в результате таких действий:
1. Не затрагиваем конфигурацию (если она на поддержке)
2. Не используем обработки замены.
3. Не меняем в SQL данные.
4. Получаем гибкий механизм. В случае необходимости добавляем новый предопределенный элемент в наш справочник, делаем привязку и пользуемся. :)
Ну к примеру: нам нужно к некоторым свойствам номенклатуры (которые созданы в режиме предприятия) обращаться по имени. Заводим в наш справочник предопределенный элемент. В режиме предприятия указываем, что этот предопределенный связан с таким-то свойством. И через функцию, например, ПолучитьЗначениеПредопределенного(НашСправочник.НашеНовоеСвойство) получаем нужное нам свойство.
Хорошее решение. Спасибо, Александр!