Материалы курса «Подготовка к Аттестации по Платформе 8.2» — Пакет стартовых задач

Первый пакет разобранных задач по Аттестации

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

Почему именно эти задачи и почему именно таким «пакетом»?

Потому что в них прорабатываются все основные приемы и подходы, используемые для решения аттестационных задач — те, что будем использовать дальше, при разборе следующих.

Хотелось бы, что Вы сначала проработали именно этот пакет, от начала до конца, и только затем переходили к следующим задачам — так многое будет более понятным и узнаваемым.

Порядок работы с этим блоком:

  • Нужно скачать все задачи модуля
  • Обязательно попытаться решить их самостоятельно
  • Просмотреть решения задач от начала до конца
  • Если после просмотра остаются вопросы — задать их комментариями к этой странице

Общий объем: 10 часов 25 минут видео, в пересчете на учебные часы составляет около 14 учебных часов…

Содержание блока

  • Стартовая задача № 1 (оперативный учет)
    2 часа 17 минут
  • Стартовая задача № 2 (оперативный учет)
    1 час 03 минуты
  • Стартовая задача № 3 (бухгалтерский учет)
    1 час 12 минут
  • Стартовая задача № 4 (бухгалтерский учет)
    1 час 12 минут
  • Стартовая задача № 5 (расчетные задачи)
    1 час 28 минут
  • Стартовая задача № 6 (расчетные задачи)
    1 час 14 минут
  • Стартовая задача № 7 (бизнес-процессы)
    1 час 05 минут
  • Стартовая задача № 8 (бизнес-процессы + упр.формы)
    55 минут

Описания задач в PDF и видео-решения находятся в архиве Стартовый пакет из 8 задач: DevAtt-Start.rar на стартовой странице.

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

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

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

Комментарии / обсуждение (1 349):

  1. Андрей

    Добрый день!

    Вопросы по задаче 1, обработке проведения документа «Продажа товаров»,
    по списанию стоимости:

    — Почему в запросе задействовано левое, а не внутреннее, соединение
    таблицы ДокТч и регистра СтоимостьТоваров?

    — Зачем в запросе ДокТЧ.Склад (в регистре СтоимостьТоваров склада нет)?

    • GROOVY

      1. Нам же надо продать ВЕСЬ товар из документа, а не только тот который был в остатках.
      2. Для формирования движений.
      Советую еще раз пересмотреть видео и базу.

      • Андрей

        Спасибо. В вопросом 1 про левое соединение примерно понятно, — должна быть возможность продать товар, который еще не поступил или почему-то кончился. Так? Причем стоимость товара при такой продаже будет равна нулю (из запроса), ну и что. 
        Про 2-й вопрос. Пересмотрел еще раз видео и базу, в регистре Стоимость товаров склада не обнаружил. Наверное, запрос (в самом низу модуля, тот, который формирует движения по стоимости) возвращает склад просто так, тем более, что ошибки в этом нет.

        • GROOVY

          1. Если товара нет в остатках, то просто соединение не покажет нам 0. И в итоге мы этот товар просто «проскочим» в контроле и расчете себестоимости.
          2. Возможно ошибся, видимо копировал модуль от куда-то.

  2. Андрей Буравов

    Павел, смотрю сейчас первый урок. Заметил что у вас работает intellisense + запросы синтаксически подсвечиваются.
    Вы используете Снегопат или стоит что-то другое? 

    • GROOVY

      Снегопат + шаблоны. Видео про то что я использую будет Вам доступно очено-очень скоро. На странице со всеми материалами.

      • xalker

        А использование снегопата не запрещено самой 1С? Просто интересно ) Помнится были споры

      • xalker

        С интересом жду видео. Скачал демку, даже она привнесла приятные нотки в работу ) Не знаю есть ли необходимость в полной версии )

  3. Admin_Net_1C

    Добрый день, Павел.
    В видео-уроке по задаче №1 в модуле проведения документа ПродажаТоваров, есть код:

    Движения.ОстаткиТоваров.Очистить();

    Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
    Движения.ОстаткиТоваров.Записать();
    Иначе
    МоментИтогов = МоментВремени();
    КонецЕсли;

    Таким образом, при оперативном проведении документа данные в регистр ОстаткиТоваров не записываются, т.к. перед записью мы их очистили. В поставляемой ИБ с  решением задачи так и происходит.
    Это ошибка или я не правильно понял логику работы?

    • GROOVY

      Мы очистили движения документа, старые, чтобы они не влияли на получения оперативных итогов.

  4. alexey_taa

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

    • GROOVY

      Будет считаться ошибкой.

      Есть проблемы с реализацией этого условия?

  5. nina

    Есть к примеру в билете 2 задачи, с пересекающимися данными по бух и упр. (что-нибудь типа товары/остатки)
    Надо ли пытаться сделать один универсальный запрос и один алгоритм(проверка остатков и т.д.), или можно разбить алгоритм проведения на 2 блока(упр. и бух.),  со своими запросами и блоками кода)?

    • GROOVY

      Изобретательность и искуство работы с запросами не будет оценено на сертификации. Но я не призываю Вас не делать правильно.

      • Андрей

        (перечитывая в 5-й раз) » Но я не призываю Вас не делать правильно.» (с)

        Есть ощущение что сказано верно, но суть фразы постоянно ускользает :-) :-) :-)

    • I. Shalaev

      Дело здесь в том, что данные (например, товары/остатки) по упр. учету могут существенно отличаться от данных бух. учета.
      Связано, это хотя бы с тем, что в каркасной конфигурации существует документ «Операция».
      Поэтому не правильно получать данные для бух. учета по тем же регистрам накопления.

      • GROOVY

        Я добавлю… Не только для регистров бухгалтерии можно предусмотреть документ «Операция». Ну так, гипотетически…

    • Андрей

      Добрый день. Есть не проблемы, а вопросы. Как лучше сделать, в форме приходного документа не разрешать услуги, или в обработке проведения игнорировать записис услугой? Если второе, то будет ли снижена оценка за получения свойства номенклатуры «Услуга» через точку, или надо это делать запросом? Если запросом, то использование конструктора движений в приходных документах не проходит. 

      • GROOVY

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

        • Андрей

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

          • GROOVY

            Простите, проморгал…

            Я не думаю что такой контроль вообще нужен. Но если нужен то правильнее реализовать его запросом к ТЧ документа с условием по признаку.

  6. Евгения

    Здравствуйте.
    Возник вопрос по задаче №2, точнее по задаче 1.4 из сборника задач для подготовки к экзамену (редакция 3, 2011 г.). Задача отличается от рассмотренной во втором примере наличием трех вместо двух методов списания себестоимости (FIFO, по средней или LIFO).
    Можно ли пояснить, как необходимо доработать решение задачи в этом случае.
    P.s. В результате поиска возможного решения остановилась на следующем: при смене учетной политики на метод списания «по средней» все существующие остатки со всех партий списываются данным документом, а все списанные товары приходуются этим же документом, но на «нулевую партию». На нее же записываются товары, поступающие во время действия метода списания «по средней». При переходе же на другой метод списания (FIFO или LIFO) имеющиеся остатки никак не изменяются, а вновь пришедшие товары сохраняются в разрезе своих партий.
    Однако при таком решении при переходе на метод списания «по средней» безвозвратно теряется информация о партиях товаров. Верен ли данный способ решения или нужно, например, каким-либо образом использовать последовательность документов?
    Заранее спасибо за ответ.

    • Евгения

      Исправляю опечатку в предыдущем комментарии: задача в сборнике 1.5

    • GROOVY

      На сертификации именно такое решение и ожидается.

      И не дай бог Вам подобный опыт применить в реальной жизни ;)

  7. Андрей

    Не снижается ли оценка на экзамене за поцедуру проведения приходного документа, сделанную конструктором? Ведь такая процедура не учитывает возможное дублирование строк.

  8. mrvaldem

    Добрый день.
    Вопрос 1:  в оперативных задачах, для того что бы не учитывались собственные движения при перепроведении Вы всегда очищаете набор движений и записываете. В УТ 11 не записывают , а учитывают собственные движения в запросе, выбирая их из физической таблицы движений. Какой подход эффективнее и правильнее?
    Вопрос 2: почему всегда перезаписываете движения в регистры, даже те которые не менялись? или такой подход только для быстроты решения задачи. 

    • GROOVY

      1. Физически запись произойдет только после окончания транзакции. То что мы очищаем набор записей по сути заставляет систему при чтении данных из регистра самостоятельно учитывать старые движения. Т.е. мы заставляем саму систему делать то вы говорите в УТ сделано.
      2. Пример приведите в котором не надо писать движения.

      • mrvaldem

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

        • mrvaldem

          2. снимается.  это неправильно. это касается проверок — можно проверять только измененные движения.

        • GROOVY

          1. Посчитайте трудозатраты и учтите ограниченное время экзамена.

  9. racushka

    Здравствуйте, у меня вопрос по второй задаче, для оперативного проведения документа мы записываем пустой набор, чтобы очистить записи. Можно ли вместо этого передавать в качестве параметра Граница, с видом границы не включая,  или тогда что-то неверно будет? Что-то я запуталась…

    • GROOVY

      В этом случае система не будет читать основные итоги (они уже рассчитаны), а будет производить временный расчет, что может быть на порядок дольше.

  10. Dary

    Добрый день. Вопрос по задаче 2.
    Следуя правилу «не создавать то что в задаче не требуется (Цена)», разъясните, что в условии задачи 2 заставляет создавать регистр «Продажи»? Или это методология решений 1С?

    • GROOVY

      А давайте я с Вами подискутирую как с Белоусовым. Это будет дискуссия №3, но я думаю это полезно для всех нас.

      Итак,

      Без регистра «Продажи» как Вы построите все отчеты?

      ЗЫ: Я нацелен на долгий диалог. Абсолютно серьезно.

      • Dary

        Без регистра «Продажи», запрос в отчете  «Анализ продаж»  можно сформировать с использованием вложенного запроса,  в виде объединения 1)выборка из табличных частей проведенных документов ПродажаТоваров  за период (номенклатура,0,0, выручка) и 2)выборка из рег.нак.ОстаткиТоваров (Номенклатура, Количество,Себестоимость,0).  Поле «Прибыль» расчитывается вместе с группировкой результата. 

        • GROOVY

          Ага, можно. «Имитационное получение показателя» — 2 балла.

          Вопрос: Любое ли списание товаров является продажей?

          Бонус: Не запаримся ли мы группировать данные документа для вывода в отчет? :) И не придется ли нам отчет строить соединяя данные документа с реальной таблицей движений регистра? (а иначе как мы сможет отследить соответствие что оборот = продаже?).

          • Dary

            День добрый.  
            Спасибо, учту. 
            Ответ: Зависит от рассматриваемой системы. В данной  задаче списание товара организовано только при продаже документом ПродажаТоваров. По условию, не всякая продажа является списанием. 
            Ответ на бонус: Понимаю, что сбор данных таким способом менее эффективен, чем выборка оборотов из регистра. Трудоемкость этого варианта запроса, возможно, сравнима с запросом  для движений документа ПродажаТовара. Если в задаче 2, выборка  ТЧ из документа Продажа количественно (услуги не в счет) не  будет соответствовать расходу по регистру ОстаткиТоваров, значит в системе ошибки (можно добавить поле «разница»). 
            В таком решении  время  создания регистра и движений по нему, пошло на создание запроса в отчете Продажи, потому-что основной учетный блок  выделен как «учет остатков». 

  11. A.Boyko

    Если при проведении документа мы формировали  временную таблицу ДокТЧ и нам требовалось добавить реквизиты документа, то мы задвали их параметрами, и потом устанавливали параметры запроса из ссылки документа. Например для реквизита «Склад» создавали во ВТ новое поле, объявляли его как &Склад и устанавливали параметр запроса «Склад» равным Ссылка.Склад, а не сразу заводили поле ВТ «Ссылка.Склад».

    Т.е. наш вариант
    «Выбрать  Номенклатура, &Склад ИЗ Документ.РеализацияТовара.Товары КАК РеализацияТоваровТовары»
     
    Альтернатива:
    «Выбрать  Номенклатура, Ссылка.Склад  ИЗ Документ.РеализацияТовара.Товары КАК РеализацияТоваровТовары»

    Это принципиально?
     

    • GROOVY

      Во втором варианте система построит запрос с левым соединением к таблице документа.

      • Андрей

        Поясните плз, что Вы имеете ввиду под «построит запрос с левым соединением к таблице документа». Дайте более развёрнутое пояснение?

        И в продолжении темы — а что несёт меньшие «накладные расходы» для системы — выборка
        Выбрать
           РеализацияТоваровТовары .Номенклатура,
          РеализацияТоваровТовары .Ссылка.Склад Как Склад
         ИЗ Документ.РеализацияТовара.Товары КАК РеализацияТоваровТовары
        где Ссылка = &Ссылка
         
        или
         
        Выбрать
           РеализацияТоваровТовары .Номенклатура,
          &Склад Как Склад
         ИЗ Документ.РеализацияТовара.Товары КАК РеализацияТоваровТовары
        где Ссылка = &Ссылка

        • GROOVY

          ВЫБРАТЬ
          ДокТЧ.Номенклатура
          ИЗ
          Документ.Название.ТЧ.

          Построит запрос к таблице «Документ.Название.ТЧ»

          ВЫБРАТЬ
          ДокТЧ.Номенклатура,
          ДокТЧ.Ссылка.Дата
          ИЗ
          Документ.Название.ТЧ.

          Построит запрос к таблице «Документ.Название.ТЧ» и к таблице «Документ.Название»

          ВЫБРАТЬ
          ДокТЧ.Номенклатура,
          ДокТЧ.Ссылка.Дата,
          ДокТЧ.Номенклатура.Код
          ИЗ
          Документ.Название.ТЧ.

          Построит запрос к таблице «Документ.Название.ТЧ», «Документ.Название» и «Справочник.Номенклатура»

          При этом система будет строить запросы левым соединением. Чем больше точек в запросе, тем больше таблиц используются при построении запроса и больше соединений.

          В продолжении темы, надеюсь теперь очевидно что второй вариант более легче.

  12. Dimasmos

    Еще вопрос по 5 задаче. Когда делается запрос для расчета  в общем модуле. Для расчета ДопНачислений (0:45) делается соединение по номеру строки с ФИЗИЧЕСКОЙ ТАБЛИЦЕЙ ДопНачисление виртуальных таблиц ДопНачисление по основной и дополнительной базам. А почему в первом запросе пакета по расчету ОсновныхНачислений не используете физическую таблицу ОсновныеНачисления, а используете связь между собой только виртуальных таблиц ДанныхГрафика и ФПД?
    Когда я 2 года назад был на семинаре в 3 учебном центре (и заочно решал задачи), то преподаватель ЗП Больсунов жестко требовал от нас использования в таких запросах физической таблицы, что ОсновныеНачисления, что ДопНачисления. Неиспользование этой таблицы в таком запросе, как я понял, считал грубой ошибкой.
    Кто прав?

    • GROOVY

      В таблице «ДанныеГрафика» гарантированно содержатся все строки реальной таблицы. При ее использовании соединяться еще с реальной таблицей неправильно.

  13. Dimasmos

    В 5 задаче в Общем модуле для расчета зарплаты вы поставили галочку «Вызов сервера», но не поставили «Привилегированный». Но ведь она позволяет рассчитывать зарплату расчетчикам с ограниченными правами доступа. Или на сертификации это не существенно?

    • GROOVY

      1. Настройка прав доступа не тема сертификации.
      2. У документа «Ввод начислений» установлен флаг «Привилегированный режим при проведении». Так что нет необходимости в указанном флажке.

      • Dimasmos

        /У документа «Ввод начислений» установлен флаг «Привилегированный режим при проведении»./
        А этот флаг распространяется на модуль объекта документа или на другие объекты (в частности Общий расчетный модуль), на которые ссылается документ из модуля?
         

  14. unf13

    Павел, сорри, если  вопрос не совсем по теме, на вашем форуме выложен состав актуальных билетов, используемых на сертификации.

    Как я понимаю, этот перечень составлен на основе опыта сдающих сертификацию, но доподлинно не известно будут ли именно эти задачи на экзамене?  Достаточно ли для подготовки прорешать только эти (предполагаемые) актуальные билеты или все-таки лучше прорешать все задачи из сборника?

    • GROOVY

      :) Я не могу давать гарантий за действия фирмы 1С. Они могут все поменять в любой момент.

  15. skyther

    ещё вопрос:
    зачем в такой конструкции очистка, ведь при выполнении «загрузить()» предыдущие данные очищаются?
    <code>
    Движения.ОстаткиТоваров.Записывать = Истина;
    Движения.ОстаткиТоваров.БлокироватьДляИзменения = Истина;
    Движения.ОстаткиТоваров.Очистить();
    Движения.ОстаткиТоваров.Загрузить(РезультатЗапроса.Выгрузить());
    Движения.Записать();
    </code>

    • skyther

      уточню: этот кусок кода записывает движения ещё до получения остатков. например в первой задаче.

      • GROOVY

        Да, в этом случае нет необходимости в очистке.

  16. skyther

    день добрый.
    поскажите какая конструкция предпочтительнее:
    <code>
    выборка=запрос.выполнить().выбрать;
    если выборка.следующий() тогда
    значение=выборка.значение;
    </code>
    или
    <code>
    значение=запрос.выполнить().выгрузить()[0].значение;
    </code>
    при условии, что запрос возвращает только одну запись

    • GROOVY

      Первое предпочтительнее. Так как ТЗ (то что «Выгрузить()» возвращает) это тяжелая штука в отличие от выборки.

      • Андрей

        А разве Выборка «легче» чем ТаблицаЗначений?
        Ведь перебор объектной модели всегда тяжелее чем «прямое» обращение в массиву (к конкретной строке табличной части)?

        • GROOVY

          Естественно легче, тип значения «Выборка» специально предназначен для построчного перебора данных, оптимизирован для порционного получения данных из базы. ТЗ будет есть память целиком получая при выгрузке данные из запроса.

  17. Рустам

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

     Не могу понять что сделал в четвертой задаче не так в документе «Курсовая разница». Сформировал запрос

     <code> 
    Запрос = Новый Запрос;
    Запрос.Текст =
    «ВЫБРАТЬ
    | УправленческийОстатки.Счет,
    | УправленческийОстатки.Субконто1,
    | УправленческийОстатки.Субконто2,
    | УправленческийОстатки.Валюта,
    | УправленческийОстатки.СуммаОстаток,
    | УправленческийОстатки.СуммаВалОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1) — УправленческийОстатки.СуммаОстаток КАК Отклонение,
    | УправленческийОстатки.Счет.Вид КАК Вид,
    | УправленческийОстатки.Счет.ВидыСубконто.(
    | ВидСубконто КАК ВидСубконто,
    | НомерСтроки КАК НомерСтроки,
    | ТолькоОбороты КАК ТолькоОбороты
    | ) КАК ВидыСубконто
    |ИЗ
    | РегистрБухгалтерии.Управленческий.Остатки(&МоментВремени, Счет.Валютный, , ) КАК УправленческийОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&МоментВремени, ) КАК КурсыВалютСрезПоследних
    | ПО УправленческийОстатки.Валюта = КурсыВалютСрезПоследних.Валюта
    |ГДЕ
    | УправленческийОстатки.СуммаВалОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1) — УправленческийОстатки.СуммаОстаток <> 0»;

    </code> 

    Когда доходит до строк  
    <code>
    Для каждого Стр ИЗ Выборка.ВидыСубконто Цикл
    Субконто[Стр.ВидСубконто] = Выборка[«Субконто»+Выборка.НомерСтроки];
    КонецЦикла;
    </code> 

    Выходит ошибка «Итератор для значения не определен». Когда смотрю в режиме отладки чему равен Выборка.ВидыСубконто показывает что равно РезультатЗапроса.

     

      • Рустам

         Выборку сделал из Выборка.ВидыСубконто, все получилось, только не понял почему когда  Вы решали сразу получали данные в цикле из Выборка.ВидыСубконто, а мне пришлось дополнительно писать ВыборкаСубконто = Выборка.ВидыСубконто.Выбрать(), и после этого обходить данные выборки.

  18. unf13

    Добрый день,  
    не совсем понятен принцип очистки движений документа перед проведением.
    В одном месте используется только метод  «Очистить()»   набора движений, в другом случае только метод «Записать()»  (без очистки).  И наконец,  встречается комбинация методов «Очистить()»   и потом  «Записать()».    Не могли бы  вы прояснить этот момент?

    • GROOVY

      В видео этот вопрос разобран.

      Если использовать управляемые формы и при этом не отображать и не читать движения документа, то принудительно очищать движения не нужно. Если в УФ Вы читаете движения (к примеру используете команду «перейти») то старые движения читаются и без их удаления у нас будет постоянно дублироваться движения при нажатии на кнопку «Провести» не закрывая форму.
      если используется обычная форма, то там движения однозначно читаются при открытии формы и там чистить движения нужно обязательно.
      Все вышеперечисленное относится к документам со свойством «Очищать при отмене проведения».

      • skyther

        т.е. зависимость от вида формы, а не клиента? бывает ведь и уф в толстом клиенте…

        • GROOVY

          Зависит в первую очередь от того будут прочитаны движения при открытии формы или в какой либо момент существования формы или нет. Проверить работу в разных режимах я думаю Вы можете легко сами.

  19. aleady

    Во второй задаче метод списания Вы получаете в одном запросе с партиями. Будет ли неошибочным при сдаче получать его отдельным запросом?

    • GROOVY

      На сертификации такие мелочи особой роли не играют, но в реальной эксплуатации системы я рекомендую все что возможно получать как можно меньшим числом запросов.

      • A.Boyko

        а конструкцией вида 
        РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(МоментВремени()).МетодСписания 

        • GROOVY

          Это ничем от запроса в лучшую сторону не отличается. Скорее наоборот — это неуправляемый запрос.

          • A.Boyko

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

            • GROOVY

              По сути запросом то прозрачнее, Вы не только поля конкретные указываете, но и возможности отборов богаче. Что использовать решать Вам. Главное не в цикле это все делать :)

  20. A.Boyko

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

    На видео используется очень интересный «синтаксис-помощник», как его можно  «подключить»?

    • GROOVY

      Приветствую. У нас есть видео на эту тему в первом потоке, я попрошу чтобы к нему был доступ и у второго.

  21. ShulgOlya

    Здравствуйте!
    Посмотрела на данный момент первые две задачи. Вопрос:
    В настройках регистра накопления есть Разрешить разделение итогов. Я читала, что если использовать новую методику проведения, то эта галочка должна быть отмечена. В видео про эту настройку ничего не услышала (либо невнимательно смотрела). Если можно, поясните этот момент.
     

    • GROOVY

      Разделение итогов влияет на скорость параллельного проведения. Приведу пример…

      Имеем регистр накопления остатков |Номенклатура|Количество|. При формировании движения «Приход», движения формируются и обновляется таблица итогов. В момент обновления таблицы итогов она, естественно блокируется. Если одновременно мы покупаем двумя разными документами один и тот же товар то документы при проведении ожидают снятие блокировки с таблицы итогов, то есть выстраиваются в очередь. Но ведь при покупки товаров нет никаких причин параллельно ожидать окончания обновления итогов другого процесса. И именно для такого случая можно разрешить разделение итогов. Тогда первый документ будет обновлять итогов таблице итогов, а второй создаст еще одну запись в таблице с итогами (система будет работать с несколькими строками итогов как с одной, то есть группирование и сворачивание итогов не наша головная боль).
      Но вот при продаже товара несмотря на все разделения итогов, мы должны установить блокировку записей до окончания проведения, нам важно не допустить «грязное чтение», то есть чтение данных которые в этот момент меняются.

      • kseniya

        Павел, то есть либо использовать объект БлокировкаДанных, либо св-во движений БлокироватьДляИзменения=Истина, верно?

        Или всё же если включен режим разделения итогов, то и строку 

        Движения.<>.БлокироватьДляИзменения=Истина; // что временно снимет галочку разделения итогов, как где-то обсуждалось на Вашем форуме

        использовать и

        Блокировка = Новый БлокировкаДанных; 

        Спасибо!!! 

        • GROOVY

          Блокировка и разделение итогов не связаны.

          В первых видео подробно рассказано когда использовать свойство набора записей «БлокироватьДляИзменения», а когда объект «БлокировкаДанных».

          «БлокироватьДляИзменения» никаких галочек временно не снимает.

  22. Андрей

    Добрый день,
    Помогите плз :-)
    Вижу:
    К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
    Если не активировали токен — посмотрите видео-инструкцию (видео N5)
    Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

    Как я понимаю, потому что из-за имеющегося у меня доступа к материалам первой МГ, регистрацию ко второй мне позволило сделать только с 19.06 и сегодняшний день «выпал» из доступа.

    Заранее благодарен, Андрей

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

  23. Fantasisto

    На сайте залогинелся , токен доступа активировал (с 18.06.2012), но никак не могу понять, где можно скачать файлы пакета «ВСЁ И СРАЗУ».

    Я читал, что первые материалы будут выложены ориентировочно 13.06.2012, но я полагал, что опция «ВСЁ И СРАЗУ» даст возможность уже сейчас получить все материалы.

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

  24. Дмитрий Медведев

    Здравствуйте!
     
    Я активировал токен 18-ым июнем, хотел скачать материалы, а пишется информация, что материалы 2-ого потока будут доступны с 13 июня, а материалы 1-ого потока недоступны.
    Выходит мы будем заниматься по другим видео-урокам?

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

  25. malecula

    Павел, здравствуйте
    По задаче №3 вопрос.
    Документ «Расходная накладная» проводка
    Дт «Покупатели» — Kт «Прибыли и убытки» на сумму в продажных ценах.
    В описанном решении сумма в проводку попадает не итоговая по документу, а максимальная.
    (если в документе две строки, 1-я с суммой 100 и 2-я с суммой 200, то в проводку должно попадать 300, а попадает только 200)

  26. Borisuch

    Добрый день! Я тут бился с 4-ой задачей. И при самостоятнельном решении вдруг обнаружил, что в задаче требуется изобразить расходную накладую и движение по проводкам. А мы этого не делаали. Или не надо было этого делать, или руки не дошли?)))

    • GROOVY

      Поясните, что означает «изобразить расходную и движения по проводкам»? Я наверно что то упустил.

  27. Losick

    Скажите, пожалуйста в каком каталоге или по какому пути можно найти на диске ИТС (Партнёрском или Проф.) Демонстрационную конфигурацию Управляемое приложение с методическими примерами использования новых возможностей платформы 8.2.
    Спасибо!

  28. Yuri Golovko

    Добрый день. Вопрос по задаче №1. При расчете себестоимости набор записей регистра СтоимостьТоваров очищается как при оперативном проведении, так и при неоперативном. Стоит ли это делать при неоперативном проведении? Ведь момент времени, на который рассчитываются остатки, не включает движений проводимого документа. 

    • GROOVY

      Записывать очищенный набор не надо при неоперативном проведении, а очищать не помешает. Где-то тут рядом мы это обсуждали.

  29. malecula

    Павел, здравствуйте
    Задачи оперативного учета
    В запросах в модуле проведения расходных документов мы накладываем условия на виртуальные таблицы регистров такие как (Номенклатура в (ДокТЧ.Номенклатура из ДокТЧ КАК ДокТЧ).
    Для чего мы это делаем, разве само по себе левое соединение ДокТЧ/остатки не даст такой же результат?

    • GROOVY

      Нет не даст. Соединение будет накладывать отбор после расчета виртуальной таблицы. А нам нужно условие установить для целей оптимизации этого самого расчета. То есть результат будет одинаковый, а затраты на его получение разные.

  30. Borisuch

    Добрый день, Павел! Вернулся к Вашей задачи и… Нет может я что-то не понял или не смог. Если в документе продажа товара есть графа или полде стоимость (проданного товаоа) , то что, где надо дополнить, чтобы РН Стоимость товаров цеплял расход этой самой стоимости. Спасибо.

    • GROOVY

      В документе «Продажа» есть выручка, а себестоимость надо рассчитывать.

      Или я не понял Вас. В документе «Продажа» не может вводится себестоимость списания, ее рассчитывать надо.

  31. Юрий

    Павел, во второй задаче первый отчет предполагает вывод еще количества. Подскажите, как оптимальней, добавить ресурс в оборотный регистр продажи, или делать отчет по двум регистрам, в этом случае в регистре продажи можно использовать только один ресурс — выручка, а себестоимость и количество брать из другого регистра?

    • GROOVY

      Я отвечал на подобный вопрос: /dev-attprep-materials/comment-page-1/#comment-36465

  32. iprov

    Здравствуйте!        Стартовая задача 1
    При попытке создания для номенклатуры (например вилка)
    еще одного производителя — (например завод 11) и добавлении его в характеристику 
    товара  получаем сообщение об ошибке
    «Запись с такими ключевыми полями существует
    ХарактеристикиНоменклатуры:Вилка, Производитель (Регистр сведений:
    Характеристики номенклатуры: Номер строки 1)»
    Но ведь это разумно товар может производиться на разных
    заводах ;-)
    Проверял и на учебной базе из поставки , та же ошибка . Как исправить ?
    Игорь

    • GROOVY

      Характеристики описывают конкретный один товар, он не может иметь разные свойства по одной характеристики, e.g.: товар не может быть и белым и красным одновременно, тоже и с поставщиком. Мы описываем не варианты одного товара, а именно один товар.

  33. Денис Гончаренко

    Есть ли разница в производительности при проверке на NULL способами
    Количество ЕСТЬ NULL
    и
    ЕстьNULL (Количество, 0)=0
     

    • GROOVY

      Нет. По сути ЕстьNULL это выражение ВЫБОР КОГДА Поле Есть NULL ТОГДА 0 КОНЕЦ.

  34. Денис Попов

    Павел, во второй задаче для контроля отрицательных остатков правильно было бы использовать созданный регистр для учета партий или же создавать отдельный регистр с измерением «Номенклатура» и ресурсом «Количество»?
    Я бы использовал существующий регистр, но ваша фраза на 28-29 минутах подставил под сомнения мои соображения. 

    • GROOVY

      По новой методике проведения идеальным алгоритмом считается такой:
      1. Проверяем быстро можно провести документ или нет, с минимальными блокировками.
      2. Делаем все остальное.

      Вывод: Отдельный регистр, с избыточной информацией об остатках товаров вписывается в эту концепцию. Сначала проверили можем ли продать товар, затем списываем партии.

  35. 7on

    Здравствуйте! В первой задачи в условии было написано, что в «Расходной накладной» могут также быть указаны услуги, например, доставка.  По-моему контроль остатков для услуг вести нет необходимости. В решении данное условие что-то не заметил. Будет ли являться ошибкой невыполнение подобного вида условий на аттестации (решение просматривал на видео-файле до «перезалития»)

    • GROOVY

      Естественно будет.
      Я не думаю что реализация этого требования вызывает вопросы. Давайте посмотрим Ваш вариант решения ;)

  36. Yuri Golovko

    Добрый день. 
    Вопрос по второй задаче. Я думаю, очень было бы не лишним в запросе проверять на NULL присоединяемые поля из таблицы РегистрНакопления.ОстаткиТоваров.Остатки. И, если это действительно ошибка, насколько критично к ней отнеслись бы на экзамене?

    • GROOVY

      Приводить значения к числу 0 нужно только те поля которые используются при сравнениях.
      К примеру в регистре есть КоличествоОствток и СтоимостьОстаток. На КоличествоОстаток мы проверяем, его нужно приводить к числу, а СтоимостьОстаток мы используем уже после проверки => если проверка прошла там точно не NULL, лишний раз проверка на тип значения NULL негативно сказывается на производительности.

      • Yuri Golovko

        Собственно, о КоличествоОстаток я и спрашивал. Например, если пользователь попытается отгрузить товар, которого у него совсем нет, то получим ошибку времени исполнения. Ведь в этом случае сравнивается значение числового типа и NULL. К тому же Вы не ответили, как на подобную ситуацию среагировали бы на экзамене.

        • GROOVY

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

        • vlas

          В требованиях — отсутствие проверки на NULL   -1 балл.
          Тут без вариантов — если отбирается поле из левого соединения, то надо делать проверку. Раз мы его выбрали, значит оно может как-то понадобиться. Думаю, что тут даже нет повода для аппеляции.

           

          • GROOVY

            Минус 1 балл — это в случае именно использования поля, если в условии мы не доходим до использования полей то писать функцию необязательно. Я Вас не уговариваю, если напишите то ничего страшного на сертификации не будет. Но имейте в виду проверка на этот тип значения для системы дело не элементарное, на сложных алгоритмах я бы рекомендовал использовать такие проверки по минимуму.

  37. Deniskind

    Павел, здравствуйте!
    В требованиях к кандидатам на аттестацию есть описание типичных ошибок. Одна из которых звучит так – «Использование итоговой информации регистров, полученной в форме документа,  при его проведении» и стоит она 2 балла. Поясните, пожалуйста, что тут имеется в виду, ведь, для расчета остатков к этой информации требуется обратиться.

    • GROOVY

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

  38. Patio-5Element

    Здравстуйте.
    Такой вопрос по второй задаче (партионный учет).
    А если допустим есть еще метод списания «По средней». Надо ли при изменении учетной политики, допустим было FIFO стало ПоСредней, документом «Учетная политика» обнулять партии. Т.е. делать расход по партиям и приход без партий.
    И как быть при обратном изменении «ПоСредней-FIFO»

    • GROOVY

      В случае когда в задаче используется и партионный и не партионный учет необходимо предусмотреть документ регистрирующий смену этих режимов.
      При переходе с не партионного учета на учет партий товаров необходимо все остатки перевести на первую партию, признаком партии станет этот документ.
      При обратном переходе необходимо у всех остатков сбросить признак партии (установить пустую партию).

      Возможно решение с двумя регистрами накопления (один с партиями, один без), но в этом случае возникают проблемы при непоследовательном вводе документов и восстановлении последовательностей.

      • vlas

        Подскажите, а в чем минус такого подхода:
        При переходе с «ПоСредней» на «FIFO/LIFO» не заполнять партии, т.е. так и оставить пустыми. При этом новые Приходные регистрировать как партии. В запросе будет сортировка по МоментуВремени, у пустой партии будет NULL — самый низкий приоритет при сортировке. Т.е. при FIFO — пустая партия будет списываться первой, при LIFO — последней.
        Я решал задачу таким образом — на мой взгляд пустая партия списывалась корректно. 

        • GROOVY

          Принципиальной разницы не вижу, но сам не люблю при сортировке обращаться к пустым ссылкам через точку (моментВремени).

  39. a_nik

    На скольких компьютерах можно просматривать этот курс?

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

  40. Deniskind

    Добрый день, Павел!
    Вопрос по строке кода, очищающего набор записей регистра перед проведением. Если я правильно понял, то речь идет о том, что поведение механизма проведения отличается при запуске в толстом клиенте обычного и управляемого приложения. Такой строкой мы обеспечиваем универсальность. Не будет ли снижена оценка на экзамене за это, если в задании не указано, что требуется обеспечить работу в разных режимах? Ведь, такая строчка будет снижать производительность.

    • GROOVY

      Производительность не снизится, мы ведь не пишем еще данные в регистр, просто очищаем набор записей, физически запись будет ниже.
      Про оценку могу сказать: нарываться конечно не стоит, если не уверены, то не пишите, но я люблю апелляции писать :)

      • Верховцев Николай

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

        • GROOVY

          У меня не только цель решить задачу…
          На сертификации можете не использовать подобный прием. Главное команды в форму не добавляйте которые с движениями связаны ;)

  41. AlexAl-77

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

    • GROOVY

      Добрый день.
      В требованиях к экзамену это оговорено: «В решении должен использоваться управляемый режим работы с транзакционными блокировками».
      Еще раз очень советую ознакомится с требованиями: http://www.1c.ru/rus/partners/training/files/ATT82PL.zip

  42. Денис Попов

    Добрый день.
    вопрос по первой задаче.
    при решении задачи касательно себестоимости перед чтением данных о себестоимости происходит безусловная очистка регистра:
    <code>
    Движения.СтоимостьТоваров.Очистить();
    Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда   
       Движения.СтоимостьТоваров.Записать();
    Иначе
       МоментИтогов = МоментВремени();
    КонецЕсли;
    </code>
    но запись пустого набора осуществляется только при Оперативном проведении.

    В том случае, если документ со старой датой будут перепроводить с изменением времени или даты в большую сторону — движения этого документа будут участвовать в расчете себестоимости.
    Обращать ли на такие случаи внимание, или это уж слишком для решения аттестационной задачи?

    • GROOVY

      Этот случай я не учел при решении. Хм… :)
      Не касательно к сертификации: руки надо отрывать если пользователи меняют дату проведенного документа.
      К сертификации: при вводе тестовых данных и не видел что такой случай обыгрывается, но кто знает что будет на очередной сертификации.
      К производительности: Не хорошо лишний раз писать данные в таблицы БД, оптимально — запретить измерение даты проведенного документа.

      • Александр Горлов

        > Не касательно к сертификации: руки надо отрывать если пользователи меняют дату проведенного документа.

        Хм-м. Павел, но ведь при оперативном проведении уже проведенного документа дата автоматически будет перенесена платформой вперед, на оперативную отметку времени. И тут уже пользователь не при чем… 

        • GROOVY

          Оперативное проведение (перепроведение) это штатный механизм. Хотя к нему есть много вопросов. Не путайте с перепроведением задним числом (и не дай бог изменением даты документа).
          В задаче я признал свой недочет. Надеюсь этот пример пойдет на пользу :)

  43. vlas

    Здравствуйте!
    Возможно, забегаю вперед.
    Первая задача, подтема «правильное определение показателей». В качестве примера —  отчет, в нем — остаток, резерв, свободный остаток. Свободный остаток предложено сделать расчетным.
    Но разве при контроле свободного остатка при проведении Реализации не вылезет необходимость блокировки 2-х регистров — Остатков и Резервов — именно для того, чтобы вычислить Свободный? Да и при проведении документа резерва — тоже самое.
    Причем, новую методику списания тоже не применить. 
    Я бы сделал регистры остатков — Свободный и Резерв, Общий как расчетный. При резервировании контролировал только Свободный, при реализации — Свободный, по необходимости Резерв. Все по новой методике. Блокировки через свойство БлокироватьДляИзменения..
    В чем я не прав? 

    • GROOVY

      Вы абсолютно правы. Если разбирать решение с контролем свободного остатка при проведении Расходной, то полностью Вас поддержку.
      Если же дело только в отчете, то рассчитать показатель мы легко можем не создавая отдельный регистр.

      Спасибо за вопрос!

  44. racushka

    Пока просмотрела первую подзадачу в первой задаче. Все очень нравится! Спасибо Вам за такой хороший и нужный курс!!! 
    Не нравиться только проблема с отстающим видео… Решите пожалуйста это как-нибудь. 

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

      • racushka

        Получила рег. ключ на другой компьютер, действительно все хорошо, на  почту написала письмо, советы не помогли, на ноуте все равно жутко отстает видео от звука=( Просто хотела чтобы была возможность заниматься не только дома… Ну да ладно, буду тогда на домашнем смотреть. А у меня такой вопрос назрел: сколько ключей можно получить (также как и на быстром старте три?)

        • NasF


          (текст комментария доступен только участникам Мастер-группы)

          • racushka

            Да, я уже поняла что с буком проблемы, просто кодеки удалила, комп перезагрузила
            Установила TSCC , перезагрузила, но не помогло к сожалению.
            Надо форматировать и ставить ось заново… Давно уже пора, просто там для учебы уже все программы настроены, жалко… Поэтому решила пока заниматься на домашнем, он и на быстром старте отлично работал=) Спасибо 

      • Natalie

        У меня точно такая же проблема. Получила привязку на ноутбук. Видео очень сильно отстает от звука. Кодеки удаляла и переустанавливала. Ничего не помогло. Видимо, одну привязку потеряла. :(

        • NasF


          (текст комментария доступен только участникам Мастер-группы)

  45. Денис Попов

    каким образом используется такая интересная контекстная подсказка?

    • GROOVY

      Есть встроенная контекстная подсказка в 1С, есть шаблоны, включаются через «Сервис-настройки-модули» «Автозамена».
      Есть сторонние утилиты вроде «Снегопат».

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

          • BelyaninSN

            В продолжение вопроса об оформлении.
            Скажите, как настроено цветовое выделение для ключевых слов языка запросов внутри текстовых констант (Запрос.Текст = «…») ? Это средствами 1С или сторонняя примочка?

            • GROOVY

              Это «сторонняя примочка», надеюсь разработчики платформы смогут ее реализовать… Ну мне хочется в это верить :)

  46. racushka

    Простите, если пишу не туда, но постоянно отстает видео=( Приходится вручную искать нужный видео фрагмент

    • NasF


      (текст комментария доступен только участникам Мастер-группы)

      • 7on

        Такая же ситуация. Видео значительно отстает от звука.
        Приходится в цикле повторять комбинацию «PAUSE — PLAY».
        В принципе не сильно мешает, но приходится больше времени
        затрачивать на просмотр.
        На почту о проблеме написал.
        А перезалитое видео с решениями 1-4 задач скачать не удается, т.к.
        «у ВАС недостаточно прав» 

        • NasF


          (текст комментария доступен только участникам Мастер-группы)

            • NasF


              (текст комментария доступен только участникам Мастер-группы)

          • vlas

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

            • NasF


              (текст комментария доступен только участникам Мастер-группы)

          • Borisuch

             
            Фарит, здравствуйте! В качестве опыта. 2,5 дня сражался с плеером. Как хороший маяк: то потухнет, то погаснет. Помог Старый флотский метод борьбе пожаром на корабле, когда он (пожар) ликвидируется методом затопления последнего (т.е. корабля). На плеер может влиять всё, что угодно, аськи, скайпы, огрызки программ, не добитые вирусы и антивирусы. ПРОВЕРЕНО. Поэтому отформатировал, накатил чистый образ и…. ура, заработало!!! Стоило только установить (не включая) веб-камеру – привет курсам! Снес камеру, опять заработало. Так что, есть смысл заранее рекомендовать слушателям готовить, т.е. максимально чистить комп. Единственное, что в плеере не удобно, нет перемотки назад с помощью стрелки влево. Когда хочется повторить крылатую фразу Павла, а там их много, то мышкой передвигая бегунок, откатываешься слишком далеко назад.
             
             
             

            • NasF


              (текст комментария доступен только участникам Мастер-группы)

  47. racushka

    В первой задаче говорится про текст задачи, что он поставляется вместе с материалами курса, но я скачала только задачи. Где можно взять текст задачи???

  48. AndrewsAnswer

    Не нашел, где можно скачать конфигурацию (-ции) «Подготовка к сертификации. Занятие …». Из видео я понял, что где-то надо ее взять…

  49. dmnblg

    Стану первым. :)

    Павел, файл с текстом задания можно где-то  дополнительно взять? Это которое на 15-ой минуте. Немного не видно справа текст, в принципе понято, но…

    И ещё вопрос, у Вас какой-то особенный  «подсказчик кода», или это какая-то настройка и свои шаблоны? Можно посмотреть? :)
    (забыл как правильно называется окно появляющееся после точки :)

    • GROOVY

      Базы с текстом заданий выложили: /2012/04/11/config-for-tasks/
      Про контекстную подсказку я тут уже писал. Шаблоны опубликовал. (http://goo.gl/cB0FC)

Комментарии закрыты