Обсуждение задач № 1 – № 4
тренинга по подготовке к Аттестации по Платформе 8.2

Коллеги, сюда пишем все вопросы, которые будут возникать у Вас по первым четырем рассматриваемым задачам (https://mg.spec8.ru/dev-attprep-materials/).


Альтернативный вариант (если нужно что-то приложить к вопросу) – можно отправить его по электронной почте непосредственно Павлу: Павел Чистов pavel@Spec8.ru

.

Как будут публиковаться ответы на вопросы:

  • если на какой-то вопрос можно ответит текстом, не открывая Конфигуратор – ответ будет в течение дня (Павел не находится все время в мониторинге на сайте, но регулярно проверяет его)
  • если на вопрос можно ответить текстом, но надо что-то скопировать или проверить в Конфигураторе – ответим поздним вечером
  • если вопрос таков, что ответ надо показывать – будет записываться видео и выкладываться сюда в течение 1-2 дней

P.S.

Эта страница является открытой, то есть часть вопросов поступит и от слушателей других проектов.
Ничего страшного, приоритет у тех, кто оплачивал именно тренинг по подготовке к аттестации.

комментария 82 на “Обсуждение задач № 1 – № 4
тренинга по подготовке к Аттестации по Платформе 8.2”

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

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

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

  3. Yuri Golovko 23.04.2012 в 08:03

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

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

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

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

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

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

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

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

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

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

  8. Денис Гончаренко 14.04.2012 в 15:39

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

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

  9. Денис Попов 13.04.2012 в 22:03

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

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

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

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

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

  11. Yuri Golovko 13.04.2012 в 11:47

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

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

      • Yuri Golovko 14.04.2012 в 10:19

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

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

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

           

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

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

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

  13. Patio-5Element 13.04.2012 в 01:09

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

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

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

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

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

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

    • Каждый комплект дает 3 привязки сейчас и 1 – в будущем.
      Я рекомендую поставить на одном-двух компьютерах. остающиеся привязки будут резервными на случай замены железа или ОС…

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

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

      • Верховцев Николай 13.04.2012 в 11:49

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

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

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

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

  17. Денис Попов 12.04.2012 в 14:06

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

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

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

      • Александр Горлов 13.04.2012 в 01:16

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

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

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

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

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

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

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

    • 1. Не очень понятно. Я сейчас проверил все видео – звук идет синхронно с видео. Вы не могли бы написать на REG@Spec8.ru – в каком видео и на какой минуте происходит такая рассинхронизация?
      2. Видео первых 4 задач мы еще переконвертируем и перевыложим – при конвертации справа отрезалось 64 пикселя, в большинстве случаев это не критично, но надо исправить.

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

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

  20. Денис Попов 11.04.2012 в 17:50

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

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

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

      • Денис Попов 11.04.2012 в 18:28

        интересно, выложите.

        • Самые свежие тут: http://clck.ru/0z1_9
          Описание тут: http://chistov.spb.ru/publ/2-1-0-3

          • BelyaninSN 14.04.2012 в 23:16

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

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

      • интересно и спасибо заранее

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

    • Скажите, а что значит – “отстает видео”. От звука? В каких уроках? На какой минуте? Вы при этом слушаете видео от начала до конца непрерывно или перемещаетесь от эпизода к эпизоду?
      Можете прислать эту информация на REG@Spec8.ru ?

      • Такая же ситуация. Видео значительно отстает от звука.
        Приходится в цикле повторять комбинацию “PAUSE – PLAY”.
        В принципе не сильно мешает, но приходится больше времени
        затрачивать на просмотр.
        На reg@spec8.ru о проблеме написал.
        А перезалитое видео с решениями 1-4 задач скачать не удается, т.к.
        “у ВАС недостаточно прав” 

        • 1. В пользу того, что дело не в плеере – то, что один и тот плеер и урок могу работать на одном компьютере – и не работать на другом.
          В большинстве случаев есть проблема с кодеками, установленными на компьютере.
          Вот смотрите:
          https://mg.spec8.ru/2012/01/26/new-player-solutions/comment-page-1/#comment-30783
          https://mg.spec8.ru/2011/01/15/базовый-курс-0-ой-блок-2/comment-page-1/#comment-13757
          И вот это: https://mg.spec8.ru/2010/11/09/мини-курс-и-черный-экран/comment-page-2/#comment-19325

          2. Проблему увидел, поправил, sorry. Попробуйте еще раз.

          • 1. Я тоже теперь на кодеки грешу
            2. Выслал скриншот на  почту support@nasf.ru

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

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

            • 1. Похоже, что видеокамера использует оверлей для формирования своей картинки поверх текущего фона. Или для наложения картинок поверх своего изображения.

              2. Пожелание разработчику передам : )

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

  23. AndrewsAnswer 11.04.2012 в 16:33

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

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

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

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

  25. Андрей 11.04.2012 в 15:39

    Павел, добрый день!
    Вы в своём видеоуроке делаете ссылку, что к видеоуроку прилагается как конфигурация, так и сама “постановка задачи” (14:58 по хронометражу плеера). Не подскажите – где взять упомянутые вещи?