Базовый курс. Решение ДЗ №7

Представляем решение 7-го ДЗ.

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

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

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

комментариев 14 на “Базовый курс. Решение ДЗ №7”

  1. Тимур 23.06.2011 в 17:44

    Посмотрел решение, подправил свою конфигурацию.
     
    При решении пытался использовать столкнулся с сортировкой по МоментуВремени документа: возвращался действительно почему-то первый документ, вместо последнего. Решение ДЗ прояснило: это странность платформы.
     
    В решении не понравилось “ленивое” использование функции “СинхронизацияПользователей” для получения текущего пользователя. При каждой печати будет дополнительно произведена лишняя синхронизация. По-моему стоило создать отдельную функцию “ПолучитьТекущегоПользователя” и использовать именно ее.

    • Да, думаю Ваше предложение является рациональным.

  2. PakushinDenis 16.05.2011 в 16:47

    ДЗ 7 выполнено

    • А можно немного развернуть детали решения?

      • PakushinDenis 17.05.2011 в 09:18

        Документ посупления и авансовый отчет были объеденены в один по средством перечисления.ВидПоступления  со значениями соответственно (ПриходнаяНакладная и Авансовый отчет) – считаю, что смысловая нагрузка для пользователя ослабевает, однако это позволяет сократить виды документов отражающих, по сути одно и то же действие (различия только в шапке документа).  Правда вызвало некоторое затруднение с созданием менеджера печати форм (однако и эту трудность победил). Момент качества товара, правда, реализована по-средством опять-таки Перечисления. Момент градуировки при этом больше контролируется разработчиком и поставщиком задачи, хотя можно было бы и обойтись справочником с предопределенными элементами, что даст в последствии больше возможности варировать определениями видов Брака Товара.
        Далее был создан документы “КонтактыСКонтрагентами”, где в шапке указывается вид контактной информации, его значение, Контактное лицо из справочника “КонтактныеЛицаКонтрагента” (извините, что позаимствовал у Вашего решения такой ход решения с промежуточными справочниками – надежно выглядит :)) и поле, “ТЕМА”.
        Момент с реализацией, еще – поставил в зависимость значение поля скидка в ТабличнойЧасти документа – заполненность поля ВидБрака от значения справочника СкидкиТовара (для проставления значения по умолчанию) с соответствующим пересчетом ТабЧасти Суммы.
        Ввод на основании по последнему виду документов организовал по-средством выборки с помощью запроса последнего документа и копированием ТабЧастей в новые документы.

        • PakushinDenis 17.05.2011 в 11:36

          Плохо смотрел постановку задачи – переделал “КачествоТовара” из Перечисления в Справочник. (

  3. Вячеслав 12.05.2011 в 11:01

    Всё, разобрался :)

  4. Вячеслав 12.05.2011 в 10:16

    А зачем в модуле менеджера документа РеализацияТоваров для получения текущего пользователя обращаться к функции ОбщиеФункцииСервер.СинхронизацияПользователей()? Не проще ли было бы напрямую воспользоваться методом ПользователиИнформационнойБазы.ТекущийПользователь()?


  5. 1. ПолучитьЕдиницуИзмерения
    Зачем явно возвращать пустую ссылку? Ведь можно вернуть пустую строку, которую система приведет к пустой ссылке самостоятельно. Это не принципиально, но Возврат “” – нагляднее.
    При возврате не проверяется на Коэффициент = 1, но логично предположить, что единица подставляемая в документ по-умолчанию должна быть равна базовой.
    2. ЮрФизЛицо
    Имеет ли смысл создавать перечисление, состоящее всего из двух вариантов? Почему бы не использовать реквизит типа Булево?

    • 1. На мой взгляд явная пустая ссылка нагляднее.
      2. Перечисление имеет смысл создавать, если количество более 2х.
      Тем не менее даже для двух значений иногда имеет смысл применять перечисление.
      Наиболее удачный пример – Пол (мужской или женский). В этом примере использование типа Булево возможно, но код и формы элементу будут не наглядными.
      Что касается ЮрФизЛица, то думаю не принципиально какой тип использовать Булево или ПеречислениеСсылка.

  6. Для ДАЛЬНЕЙШЕЙ работы лучше брать Вашу конфигурацию или свою? В последнем случае, если Контрагент и Подотчетное лицо не разнесены по разным документам поступления, –  произвести это или пойдет вариант одного поступления?

    • Лучше использовать свою конфигурацию.
      Вашу реализацию подотчетного лица можно оставить без изменения.

  7. В конструкторе запросов для документа появляется поле МоментВремени, в конфигураторе такого атрибута у документа нет. Откуда оно берется?

    У меня на релизе платформы 1С:Предприятие 8.2 (8.2.13.219) упорялочивание в запросе по полю МоментВремени работает правильно, а у вас какой релиз в видео?

    • >Откуда оно берется?
      Это виртуальное поле, которое образуется от даты и ссылки.
      В решении использовался релиз 8.2.12.