Продвинутый курс. Финальное задание 9-го потока

Финальное задание участников 9-го потока продвинутого курса по программированию.

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

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

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

комментария 42 на “Продвинутый курс. Финальное задание 9-го потока”

  1. dmitry.zaichenko 03.10.2012 в 11:08

    Добрый день!
    Присоединяюсь ко всем благодарностям. Со своей стороны добавлю свое СПАСИБО огромное за качественное и понятное объяснение материала.
    Что нового узнал – открыл новое в запросах, журналах регистрации…всего не перечислишь. Например, в СКД понял то, что раньше делалось интуитивно. Хорошо запомнился бизнес-процесс, потому что последний ))) А так во всех темах были открыты и добавлены знания. Вот только Расчету и БухУчету было мало посвящено времени.. Интересно, а Вам поступали предложения разделить данный курс на платформу с Управленческим учетом и БухУчет с Расчетом? В нем можно было бы детально разбирать кейсы с практической точки зрения. Было бы интересно.
    От каких заблуждений избавился. Тут не перечесть, многие вещи делал не правильно или не до конца правильно. Некоторые вещи даже не пробовал применять, так как не было понятно с какой стороны к ним подходить и как их использовать.
    Применять навыки. Работаю в холдинге с множеством фирм и пытаюсь совмещать во многом несовместимое, но нужно, то совмещаю))). Тут нужны все знания, что получены у Вас и еще немножко…

    Спасибо за Ваш труд.

    P.s. практику выслал на почту.

    • Dobrenko Oleg 03.10.2012 в 19:19

      Здравствуйте, Дмитрий.
      Благодарим за отзыв по курсу!
      >Со своей стороны добавлю свое СПАСИБО огромное за качественное и понятное объяснение материала.
      Передам Евгению :)
      Практическое задание зачтено, ждем от Вас шаг №4.

  2. Добрый день!
    Прежде всего огромное спасибо за знания и навыки, полученные при прохождении курсов. Заканчивая продвинутый курс понимаешь еще сильней, что обучение только начинается и еще не один раз придется вернуться к просмотру материала курсов.
    Данный курс, прежде всего, помог закрепить все знания и навыки, полученные в базовом курсе, еще детальнее их систематизировать. Что касается нового, то здесь трудно все перечислить (третье домашнее задание (с «типами») до сих пор снится :-)).
    В Компании, где в настоящее время я работаю, используются далеко не стандартные конфигурации: УПП, ЗиУП и Розница. Применять полученные знания приходится ежедневно и … это очень заметно, т.к. все легче выполняются те, казалось бы «невыполнимые» и растущие запросы пользователей.
    Еще раз хочу поблагодарить создателей курса и преподавателей и … не прощаюсь, еще необходимо разобраться и в конвертации, а так же дойти до финала курса по УПП.
    PS Практическое задание – выгрузка ИБ выслано на mg@spec8.ru для проверки.

    • Dobrenko Oleg 02.10.2012 в 08:42

      Здравствуйте, Михаил. Для публикации в списке финалистов требуется ФИО и Город.
      Благодарим вас за отзыв по курсу!
      Практическое задание в процессе обработки.
      Ждем от вас шаги 3 и 4.

      • Березовский Михаил Георгиевич, г. Красноярск.
        Шаг №3 скоро доделаю и вышлю на почту. Насчет шага №4 … боюсь, что данный пункт я не осилю. Уже есть черновой набросок, который и собирался опубликовать – по обменам с использованием GUID между различными конфигурациями (в т.ч. с использованием MS SQL Server). Время закончить «качественную» статью, к сожалению, не хватит (началась подготовка к закрытию квартала, участие в мастер-группах по конвертации плюс ко всему вышел блок объемно-календарного планирования в курсе УПП – ускоренными темпами идет разбор функционала и запуск планирования).
        С практическим заданием много времени потратил – хотел реализовать бизнес процесс не внося изменения в модули форм документов (для этого и использовал подписки на события … на работе первоочередная задача реализовать бизнес-процесс и как можно меньше затронуть стандартный функционал), но пока не получилось.

        • Dobrenko Oleg 03.10.2012 в 19:37

          Михаил, практическое задание принимаю, но заключительные 2 шага всё таки нужно выполнить, для того чтобы попасть в галерею финалистов. Можете провести мини-семинар и прислать фото, это много времени не займет :)

          • Олег, у меня завтра макси семинар получится с руководителями всех подразделений в присутствии ген. директора (по поводу обучений ключевых пользователей работе в УПП (скорее всего будем докупать для них доп. комплекты) … недавно семинар был для фирмы франчайзи на тему “почему мы категорически против табличной части в справочнике “Номенклатура”). Мини семинары проходят чуть ли ни ежедневно.
            Фотографию и автопортрет уже отправил.

            • Dobrenko Oleg 04.10.2012 в 09:48

              Ок, Михаил, авансом публикуем Вас в галерее финалистов и ждем фото семинара :)

  3. Добрый день!
    Вот я и закончил уже 2-ой свой курс (первый был базовый) по конфигурированию в 8.2 :)
    Что я могу сказать по окончанию. )
    Хочу отметить, что курс отличается глубиной изложения материала.
    Делается упор на внутреннее строение компонент платформы. Я считаю –
    это просто необходимо для создания правильных (оптимальных) решений на базе 8.2
    В этом плане курс нельзя заменить какой-нибудь книгой. Я точно не встречал, книгу в которой
    был бы изложен такой объем с глубоким разбором компонент. То-то он такой длительный.
    Особенно хочу отметить разбор Запросов. Запросы в 8.2 – это ВСЕ :))
    На 8.2 работаю уже год. И после просмотра курса решение оч. многих задач
    у меня стали сводится к одному запросу, после которого остается лиш простой перебор,
    а то и вовсе выгрузить.)) Так же большой плюс – что д/з по ведению учета практичные и сложные.
    Честно говоря запаривался делать последние объемные задания, особенно когда работы на работе было много :)
    Вобщем доволен, что прошел этот курс.

    Практическая задача и Автопортрет выслал на mg@spec8.ru

    • Dobrenko Oleg 02.10.2012 в 08:30

      Здравствуйте, Антон. Для публикации в галерее финалистов необходима информация из какого вы города.
      Благодарим за отзыв по курсу!
      >иногда с перерывами в месяц :), но все же занимаюсь .
      Аналогичная ситуация :)
      От вас требуется шаг №4, практическое задание в процессе обработки.

      • День добрый.
        Живу в г. Иркутск.
        Сейчас что-нибудь буду думать по 4 шагу.

      • Моя великая статья! )
        http://infostart.ru/public/154407/
        только они ее еще модерируют. Как-то долго. Я ее 6 часов назад отправил.

        • Dobrenko Oleg 03.10.2012 в 19:43

          Антон, практическое задание принято, поздравляем Вас с успешным окончанием продвинутого курса!

  4. Сергей Малькевич 01.10.2012 в 07:12

    Добрый день!

    По пройденному курсу:

    Прежде всего, выражаю благодарность авторам за качество и полноту учебных материалов.

    Курс приобретал для углубленного изучения управляемых форм и СКД, а также систематизации знаний по платформе 8.2 1С. Запомнились алгоритмы: использование цикла вместо рекурсии. Соединение таблицы самой с собой в запросе. СКД, расчетная часть (не было опыта по расчетам)

    Работаю программистом 1С, текущий проект в фирме АНТ-Информ полностью на управляемых формах. То есть курс уже пригодился.

    К сожалению, времени на учебу было мало, торопился быстрее просмотреть материал и сделать практическое задание, вместо того чтобы детально и вдумчиво разбирать каждое задание.

    • Dobrenko Oleg 01.10.2012 в 11:05

      Здравствуйте, Сергей.
      Благодарим за отзыв по курсу. Практическая часть принята, как на счет шага №4?

      • Сергей Малькевич 01.10.2012 в 11:32

        Шаг 4 сегодня постараюсь сегодня доделать вечером )
        А статьи на других ресурсах не считаются? )

        • Dobrenko Oleg 01.10.2012 в 22:30

          >Шаг 4 сегодня постараюсь сегодня доделать вечером )
          Отлично!
          >А статьи на других ресурсах не считаются? )
          К сожалению нет :)

  5. Решад 29.09.2012 в 16:55

    Добрый день!
    Большое спасибо за ценные знания и навыки, полученные при изучении продвинутого курса. Содержание и объем курса настолько велико, что с первого раза в памяти не укладывается. Когда при разработке сталкиваюсь с какой-то проблемой, вспоминаю, что это уже где-то в курсе встречалось и начинаю пересматривать некоторые уроки.
    Несмотря на то, что наша компания уже довольно долго работает на платформе 8.2, мы сопровождаем типовые конфигурации, которые пока еще работают в режиме обычного приложения. Поэтому новым для меня в продвинутом курсе по программированию были все особенности работы с управляемыми формами, передача данных из модуля формы в модуль объекта, назначение и использование стандартных параметров, ключевых параметров, настройка и использование динамических списков. Много нового узнал об оптимизации производительности, использовании агрегатов, использовании хранилища настроек, использовании RLS, реализации обмена через xml-файлы.
    Главное заблуждение, наверное, состояло в том, что имея достаточный опыт практической работы с платформой 1С, можно не заниматься изучением курсов, а при затруднениях обращаться к документации. Но просматривая Ваши уроки убедился, что пробелы в знаниях лучше выявить и устранить заранее, чем терять время при решении практических задач. В частности, в некоторых случаях, когда отчет разрабатывался с использованием обычных макетов, сейчас уверенно смогу использовать СКД. Еще одно заблуждение о сложности работы с xml-файлом сейчас уже не будет помехой при разработке обменов данными.
    В качестве применения полученных знаний можно отметить то, что при доработках типовых конфигураций, которые пока еще работают в режиме обычного приложения, использовал управляемые формы. Доработки были выполнены для частных случаев заполнения сложных документов в конфигурации «Управление производственным предприятием». Навыки, полученные при решении заданий по бухгалтерскому учету, помогли в разработке дополнительной процедуры закрытия затратных счетов для конфигурации «Бухгалтерия предприятия». Надеюсь, что когда произойдет переход типовых конфигураций в режим управляемого приложения, смогу без проблем перенести все доработки в новые конфигурации.
    Еще раз спасибо Вам за Ваши курсы. Мы еще в 2011 году приобрели тренинг «УПП от А до Я» и убедились в качественной и полной подаче материала и с нетерпением ждем очередных модулей. Будем внимательно следить за появлением новых курсов.

    • Dobrenko Oleg 30.09.2012 в 13:30

      Здравствуйте, Решад!
      Благодарим за развернутый отзыв по курссу!
      Обратная связь по практической части:
      1.Установка параметра сеанса.
      -Искать пользователя лучше не по имени, а по id (реквизит соответствующего типа)
      -Процедура «установка параметров сеанса» отрабатывает не только при старте системы, но и перед использованием значений параметров сеанса. Не плохо было бы это учесть.
      2. Для документов лучше всего созданные формы сделать не основными. Для того чтобы при создании документа без привязки к бизнес процессу открывалась стандартная форма.
      3. У бизнес процесса нужно (обязательно!) создать реквизиты (типа ДокументСсылка.) и заполнять их при проведении документов.

      Ждем от Вас статью.

      • Решад 30.09.2012 в 18:46

        Здравствуйте.
        Ответы на замечания.

        1. Согласен, но для данного задания посчитал это несущественным. Что касается вызова процедуры УстановкаПараметровСеанса, если в конфигурации других параметров сеанса нет, а параметр сеанса Пользователь, уже инициализирован, я считаю, что эта процедура повторно вызываться не будет. Если бы при разработке было предусмотрено обращение к неинициализированным параметрам, тогда и пришлось бы учитывать эту ситуацию.

        2. В моем решении основная форма используется в обоих случаях с изменением вида при помощи функциональной опции. Можно создать документ без привязки к бизнес-процессу. Открывается основная форма. Эта же основная форма открывается из задачи бизнес-процесса, при этом при помощи функциональной опции ПоказыватьКонтрагента с параметром ТочкаМаршрута форма видоизменяется:

        Если Объект.Задача.Пустая() Тогда
            // документ создан без привязки к бизнес-процессу, указываем параметр, связанный с точкой Старт, для которой не может быть создано задач
            Форма.УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("ТочкаМаршрута", БизнесПроцессы.ПродажаТоваров.ТочкиМаршрута.Старт));
        Иначе
            // указываем параметр, связанный с точкой маршрута задачи
            Форма.УстановитьПараметрыФункциональныхОпцийФормы(Новый Структура("ТочкаМаршрута", Объект.Задача.ТочкаМаршрута));
            Объект.Клиент = Объект.Задача.БизнесПроцесс.Клиент;
        КонецЕсли;

        3. Для связи бизнес-процесса с документами используется регистр сведений ДокументыБизнесПроцессов. Он недоступен в интерфейсе, так как для него выключено использование стандартных команд. При необходимости к нему можно обратиться пользователю с полными правами через меню «Все функции». Использование этого регистра совместно с регистром сведений ПараметрыТочкиМаршрута позволяет легко привязать к любой точке действия любой документ конфигурации. В чем недостаток этого решения?

        • Dobrenko Oleg 03.10.2012 в 18:56

          Здравствуйте, Решад!
          Благодарю за ожидание.
          Получил обоснование решения на МГ, замечания отклоняются. Действительно, творчески подошли к решению :)
          Единственное замечание – в открытой форме списка БП не происходят изменения при его завершении.
          Практическая задача зачтена, ждем от Вас 4й шаг.

      • Решад 03.10.2012 в 16:29

        Добрый день!

        Вот ссылка на статью:

        http://infostart.ru/public/154560/

  6. Новым было практически всё – работы с управляемыми формами до расчетаЗП. Когда отстал от потока, делал задания днями и ночами. С трудом верилось, что всё – таки дойду до финала в этом потоке, а не перенесу его на следующий=)Но тем не менее этого не случилось и буквально на “одном вздохе” я выполнял упражения.
    Избавился от заблуждений, что бизнес-процессы это что-то недосягаемое)) а так в каждой главе узнавал всё новое. На работе мне удалось применить навыки работы с хранилищем, работы с управляемыми формами (а именно с их параметрами с “ДополнительнымиСвойствами”), обработки (в т.ч. и внешние печ.формы), отчеты (ещё благодаря и курсу “БыстрыйСтарт”) для типовых делаю буквально в считанные минуты, обновления конфигураций стали также проходить быстрее. Понял,что самое главное – знать какой тип данных принимает значение.

    • Dobrenko Oleg 28.09.2012 в 15:36

      Благодарим за отзыв по курсу!
      По практическому заданию:
      Исправьте программу таким образом, чтобы уже открытые динамические списки (формы списков) автоматически обновлялись при изменении данных, которые они отображают.
      К примеру выполнили заключительную задачу бизнес процесса – форма списка БП автоматически обновилась. Провели документ “Оплата от клиента” – обновилась форма списка задачи.

      • При проведении документов форма списка задач вроде обновляется
        только что проверил =). А для того, чтобы обновить форму списка
        бизнесПроцессов ловим событие “ОбновитьКартуМаршрута”, которое
        посылалось для обновления формы БП и позиционируемся на нашем
        текущем БП.
        Создаём форму списка и в процедуре “ОбработкаОповещения” модуля
        формы помещаем код:

        &НаКлиенте
        Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
            ТекПроцесс = Элементы.Список.ТекущаяСтрока;
            Если ИмяСобытия="ОбновитьКартуМаршрута" Тогда
                ОповеститьОбИзменении(ТекПроцесс);
            КонецЕсли;
        КонецПроцедуры
  7. Павел Королев 26.09.2012 в 23:08

    Здравствуйте! :)

    Первоначально, в очередной раз хочу поблагодарить преподавателей и разработчиков курсов за предоставленную возможность обучаться и развиваться!

    По сравнению с базовым курсом информации в продвинутом я узнал меньше, но более детальней. Очень порадовал блок по расчету себестоимости, потому что на практике подобные задания практически не появлялись. Также, хочу выделить блоки по обмену и XML, которые позволили лучше разобраться с обменом данными в распределенных базах.

    Крайне важными для меня были блоки по оптимизации производительности решений, да и в целом по администрированию (например, никогда не работал с технологическим журналом, программно с журналом регистрации). Очень порадовали блоки «Кейсы», которые дает довольно большой объем знаний и помогает лучше сориентироваться в реальных задачах.

    Как итог по двум курсам, могу сказать, что “Базовый курс” должен быть обязательно пройден программистами, которые действительно хотят разобраться с 1С и в дальнейшем стать серьезными специалистами. А вот “Продвинутый” как раз способствует развитию программиста в специалиста, за счет более серьезной работы с 1С.

    Шаг №2,3 на почте.

    Шаг №4 на модерации :), насколько понимаю ссылка будет http://infostart.ru/public/153732/

    • Dobrenko Oleg 27.09.2012 в 11:44

      Здравствуйте, Павел :)
      Благодарим за отзыв по курсу!
      Шаг №4 принят.
      Обратная связь по шагу №2:

      1. Основной реквизит адресации у задачи должен быть текущий пользователь, а не должность. Параметр сеанса соответствующего типа.
      2. Модуль сеанса:
      – в идеале нужно производить синхронизацию по ключевому реквизиту в справочнике.
      – если пользователь не найден, то нужно его создавать.
      3. У задачи не должно быть тех реквизитов, которые вы создали, т.к. они относятся исключительно к бизнес процессу!
      4. В пользовательском режиме при проведении документа (соответствующего текущей задаче, открытого из формы бизнес процесса) не происходит обновление схемы маршрута.
      5. Формы документов, которые открываются из формы бизнес процесса (и из формы списка задач) лучше сделать не основными! Для того чтобы при работе с документами, не связанными с бизнес процессом, открывались стандартные формы.
      6. Для того, чтобы при изменении данных оповещать динамические списки лучше использовать метод “ОповеститьОбИзменении”
      7. Как вы обновляете карту маршрута бизнес процесса, при проведении документа ОплатаОтКлиента, открытого из формы бизнес процесса?

      • Павел Королев 27.09.2012 в 12:39

        Изначально комментарий добавил не сюда, удалите пожалуйста тот :)

        Доброго утра, Олег.
        1) Изначально так и делал. :) Добавил параметр сеанса «Текущий пользователь» и сделал указание должности в справочнике «Сотрудники». Затем везде к должности обращался через этот параметр сеанса, и меня это немного смутило..
        2) Здесь все завязано с 1 пунктом, правда пользователей не создавал. Видимо связано с заданиями, которые прорешивал к Спецу, когда достаточно было искать пользователей как преодпределенных.
        3) Спасибо Олег, учту.
        4) Не могу воспроизвести ситуацию. Извините, я наверное не удобно сделал тестовые данные. Например, если зайти под Ивановым (он менеджер), создать новый БП, выбрать контрагента и нажать «Стартовать», тогда карта обновляется. Далее нажимаем «Заказ клиента» и проводим – карта обновляется. Если дальше создать «Оплата клиента», то бизнес-процесс не должен пойти дальше, т.к. Иванов не менеджер, а оплату может делать только бухгалтер (Сидоров).
        Наверное, чтобы не было таких «казусов» более правильно было бы добавить проверку при формировании документов, так сказать сделать ограничение по ролям доступа.
        5) Об этом не подумал, спасибо :)
        6) Если речь идет об обновлении карты маршрута после проведения задачи, то я оповещаю не динамический список, а форму элемента бизнес-процесса. Немного не понял этот пункт по обратной связи.
        7) Обработчик «ПослеЗаписи» формы документа «ОплатаОтКлиента» имеет код

        &НаКлиенте
        Процедура ПослеЗаписи(ПараметрыЗаписи)
           
            Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда      
                Оповестить("ОплатаОтКлиента", , Объект.Ссылка);
            Иначе
                Оповестить("ОплатаОтКлиентаСохранение", , Объект.Ссылка);
            КонецЕсли;
           
            ОповеститьОВыборе(Неопределено);

        КонецПроцедуры

        Наверное, здесь такая же ситуация как и в пункте 4. Этот документ нужно проводить бухгалтером (Сидоровым)

        • Dobrenko Oleg 28.09.2012 в 07:16

          Здравствуйте, Павел.
          >6) Немного не понял этот пункт по обратной связи.
          Ну вот представьте, открываете вы форму документа из формы бизнес процесса (при этом у вас уже была открыта форма списка задачи). Проводите документ-> происходит программное выполнение задачи. После этого нужно оповестить форму списка задачи об изменении.
          >7)
          Я имел в виду код, который обновляет схему бизнес процесса в самой форме бизнес процесса (после того как из формы БП вы открыли новый документ и провели его, заполнив при этом соответствующие реквизиты БП).
          схема=.ОлучитьСхемуБизнесПроцесса();
          Конкретно меня интересует как вы получаете сам при этом.

          • Павел Королев 28.09.2012 в 10:11

            Доброго утра, Олег!
            6) Стало понятно :) Но думаю такой задачи не было.
            7) Делаю так:
            а) Захожу Сидоровым в базу, провожу документ оплаты из формы бизнес-процесса
            б) Вызывается обработчик:

            &НаКлиенте
            Процедура ПослеЗаписи(ПараметрыЗаписи)
               
                Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда      
                    Оповестить("ОплатаОтКлиента", , Объект.Ссылка);
                Иначе
                    Оповестить("ОплатаОтКлиентаСохранение", , Объект.Ссылка);
                КонецЕсли;
               
                ОповеститьОВыборе(Неопределено);

            КонецПроцедуры

            Соответственно происходит оповещение “ОплатаОтКлиента”

            в) После происходит “ОповеститьОВыборе”
            г) Вызывается обработка выбора уже в самом бизнес-процессе:

            &НаКлиенте
            Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
                ОбновитьГрафическуюСхему();      
            КонецПроцедуры

            д) В процедуре “ОбновитьГрафическуюСхему” есть код:

                Если Объект.Ссылка.Пустая() Тогда
                     Возврат; // Карту не будем показывать вообще
                КонецЕсли;
               
                КартаМаршрута = Объект.Ссылка.ПолучитьОбъект().ПолучитьКартуМаршрута();
            • Dobrenko Oleg 28.09.2012 в 15:44

              Здравствуйте, Павел.
              Практическое задание принято, поздравляем вас с успешным окончанием продвинутого курса!
              С вами было приятно вести беседу, успехов в работе.

              • Павел Королев 28.09.2012 в 15:48

                Благодарю Олег!
                Я тоже рад такому преподавателю! :)