Материалы курса «Подготовка к Аттестации по Платформе 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):
Комментарии закрыты

Добрый день!
Задача №7 — в обработке Карта маршрута не обновляется карта маршрута после продвижения бизнес процесса.
Обработку делал так же как в видео.
При чем если обработку закрыть и открыть заново, пустая карта заполняется правильно, но после выполнения следующей задачи опять обновление не происходит.
Платформа 8.3.5.1596
Так и есть. Это «недокументированная особенность» которая тянется уже несколько лет.
Установил 8.3.7.1759
вроде как заработало
Здравствуйте, Павел!
1) Под фразой «берется на начало расчетного периода» подразумевается начало периода действия или начало периода регистрации?
2) В одной из задач сборника есть фраза «Сумма продаж по подразделению должна быть получена по данным бухгалтерского учета». Так бы делал еще один РР, в котором хранил сумму продаж как базу, но смущает фраза про бух. учет. Подскажите, что делать?
Приветствую.
1. Зависит от контекста. Обычно, это период действия.
2. Продажи для расчетных механизмов следует хранить в регистрах накопления оборотов, если не сказано обратное.
Вопрос по первой задаче.
При движении по остаткам
Движения.Остатки.Загрузить(РезультатЗапроса);
Движения.Записать();
Когда делаем движения по Стоимости, после кода
Движения.Стоимость.Загрузить(Запрос.Выполнить().Выгрузить());
Движения.Записать() не выполняется вообще
Уточните почему так?
Не установлен флаг записывать у набора записей.
Не установлен режим записи движений.
Структура результата запроса не соответствует структуре регистра.
Результат запроса пустой.
Может и еще что-то.
Добрый день! Вопрос по задаче №5
В задании сказано , что
«…Средняя часовая ставка определяется как сумма начисленного оклада за
два предыдущих месяца…»
или
«…начисляется премия процентом от всех начислений, сделанных в предыдущем же расчетном
периоде…»
в решении преподавателя мы эти периоды задаем вручную в документе, вопрос — не снизят ли за это оценку на экзамене (потому что не поставили эти периоды в коде автоматически)?
Добрый.
А где в задании сказано, что это нужно автоматизировать?
Не снизят.
Здравствуйте, у меня трудности с ПВХ.
При настройке характеристик в справочнике «Характеристики номенклатуры»,
при выборе регистра сведений в колонку «значения характеристик»,
неверно подставляет значение в подколонку «Поле объекта».
И выбрать другое значение не получается, так как в выпадающем списке других значений нет.
То есть в колонке «Поле объекта» должна стоять номенклатура, а подставляется значение характеристики.
Связи все проверила : спр.Характеритисик подчинен ПВХ
В ПВХ тип значений характеристик : Спр.Характеристики, доп значения : спр.характеристики
В регистре сведений : номенклатура — спр.номенклатура, вид характеристики — ПВХ, Значение — Характеристика.ПВХ
Где ошибка?
Да, это нормальный вариант!
Добрый день!
Задача №2
установил блокировку так
Блокировка= Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(«РегистрНакопления.ОстаткиНоменклатуры»);
ЭлементБлокировки.Режим=РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = Результат;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(«Номенклатура»,»Номенклатура»);
Блокировка.Заблокировать();
вываливается такая ошибка
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.РасходнаяНакладная.МодульОбъекта(61)}: Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать();
по причине:
Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!
Судя по тексту ошибки, транзакция устанавливается либо не в транзакции, либо не установлен режим управляемых блокировок, либо оба варианта сразу.
Проверьте настройки блокировки объектов.
Добрый день. Возникла сложность в задаче №5 при расчете суммы компенсации за лекарства.
В строке:
Сумма = Выборка.ОтработаноДнейБаза * Выборка.Параметр;
«Выборка.ОтработаноДнейБаза» почему-то возвращает отработанные дни плюс дни болезни, то есть 22. И сумма компенсации получается 2200. А по сути должно достать из запроса только 6 дней и сумма будет 600 рублей. В чем может быть ошибка, какой объект не правильно настроен?
Извиняюсь, разобрался. Из Базового вида нужно было удалить оклад.
Здравствуйте. Вопрос по стартовой задаче № 2.
Какое решение более рациональное: для контроля остатков перед списанием, создать отдельный регистр для учета остатков номенклатуры или же как в примере решения использовать один регистр и для контроля остатков и для себестоимости?
Два регистра. Один для контроля остатков, второй для расчета себестоимости.
День добрый. Аналогичный вопрос — хотел уточнить ответ.
1) То есть структура регистров накопления будет такая:
• ОстаткиТоваров
► Измерения (Номенклатура)
► Ресурсы (Количество)
• Продажи
► Измерения (Номенклатура)
► Ресурсы (Себестоимость, Выручка)
• СебестоимостьОстатковТоваров
► Измерения (Номенклатура, Партия)
► Ресурсы (Себестоимость, Количество)
?
Смущает то, что регистры ОстаткиТоваров и СебестоимостьОстатковТоваров будут хранить одни и те же значения по ресурсу «Количество» (а сам регистр ОстаткиТоваров в этом случае просто для демонстрации умения работы с новым механизмом проведения).
2) Можно ли в регистр накопления Продажи добавить ресурс Количество и затем использовать его в отчете «АнализПродаж» (в базе к задаче количество в отчете не выводится)? Брать количество из регистра ОстаткиТоваров не хочу, так как в теории не каждое списание является продажей
Вопросы снимаются — нашел ответы.
Добрый день!
Если я правильно понял, надо сразу браться решать задачи самостоятельно, а потом сверять с решением преподавателя.
А не будет какого нибудь теоретического блока для начала?
Первые видео содержат немного теории. Но курс практический.
Приветствую.
Есть вопросы по требованиям на сертификацию. Скачал последнюю версию. Я прошел вступительный блок и мне показались эти вопросы не освещены. Вот перечень ошибок, за которые снижают баллы:
«Использование неправильных или упрощенных алгоритмов при расчете значений ресурсов регистра. Например, при решении «проблемы копеек» 0,5 — 2,0»
Что это за проблема? Какие еще могут быть подводные камни при расчете ресурсов?
«Решение разных разделов (Оперативный учет, Бухгалтерский учет и т.п.) в отдельных информационных базах или с использованием отдельных конфигураций 3,0
Дублирование объектов конфигурации при решении отдельных микрозадач (например, сделано два вида документа: ПриходнаяНакладнаяОпер, ПриходнаяНакладнаяБух. Один объект конфигурации используется в задаче оперативного учета, другой – в задаче бухгалтерского учета) 2,0»
Как я понял из этого, а также из описания требований, все задачи должны быть решены в одной базе и разнесены по подсистемам. Как это сделать правильно? В Ваших курсах есть такие уроки? Как-то это описывается?
1. Если при расчете значений регистра с остатками, Вы их не рассчитываете, а берете из справочника, например.
2. В видеокурсе нет задач где билет скомпонован в одну базу. На экзамене надо делать один документ приходная и для целей ОУ и для БУ. Только не берите данные для расчета себестоимости одного регистра из другого.
Здравствуйте,
1) Что подразумевается под собой условие в задачи «В одном документе могут быть данные за разные расчетные периоды.» То, что период регистрации будет в табличной части или в одном документе в разных строках будет период действия разных месяцев?
2) Нужно ли блокировать регистры расчета при проведении? Если да, то как это делается?
1. Периоды действия разные, период регистрации один (документ-то один, регистрация одна)
2. Нет, этого на экзамене не требуется. При необходимости блокировка производится по аналогии с другими регистрами, указываются поля блокировок и их значения.
Здравствуйте, Павел.
Вопрос по задаче №1.
Почему в РН.ОстаткиТоваров порядок измерений «Номенклатура, Склад»? Т.к. контроль остатков осуществляется в разрезе склада, то оптимальным будет порядок измерений «Склад, Номенклатура». При таком порядке будет срабатывать индекс полностью. А в вашем варианте сработает индекс по номенклатуре и затем будет перебор по складам.
Приветствую.
Думаю, что для этого курса, не имеет значение оптимального использования индексов. Для этого есть курс по оптимизации 1с и экзамен на эксперта по технологическим вопросам.
За замечание — спасибо.
Приветствую!
Вопрос по 6й задаче.
Не знаю как в 8.2, в 8.3 при получении дополнения(для сторно) в таблице не указан базовый период, зато уже указано отработано часов и сумма так, как надо. Если выполнить по коду, который сделан в видео, то получаются нули вместо цифр суммы и часов в записях сторно. Я сделал по-другому. При формировании сторно записей и записи их в базу просто меняю сразу знак из таблицы суммы и часов на минус, при расчете же эти записи не учитываю, просто пишу продолжить, если сторно. Вроде при расчетах все выходит верно. Пойдет такой вариант?
Не понятно, что будет, если записи будут сторнироваться не полностью.
Ну а как тогда поступать? Ведь в таблице дополнений он базу не указывает, надо ее как-то по-другому получать?
Зачем там база? если базы нет в оригинальной записи, ее не будет и в сторно.
Приветствую!
Вопрос по заданию №3
1. Правильно ли делать вставки в запрос, динамически формируя строку? Ведь это создает проблемы, не придирутся на экзаменах?
2. Правильно ли делать блокировку внутри функции общего модуля ПолучитьТаблицуСписанияПартий, где происходит отбор данных, а само изменение данных происходит в ОбработкаПроведения? Ведь как я понял блокировка создается объектом Блокировка и после уничтожение объекта блокировка снимается? А у нас данные еще не записаны, мне кажется, это не совсем правильно. Может возникнуть конфликт.
1. Не принципиально.
2. Блокировка принадлежит транзакции и живет до ее окончания.
Приветствую!
Начал заниматься по курсам с задачи №1 И сразу несколько вопросов
Вопросы по проводке «Расходной накладной»
1. «Момент итогов» так и не понял, почему считается 2 раза? Вы объяснили, что при режиме «удал автоматич при отм проведения» строки остаются и их не надо учитывать при проведении задним числом. Но тогда почему для «ОстаткиТоваров» по одному, а для «СтоимостьТоваров» по-другому?
2. Блокировки. Почему мы для «ОстатковТоваров» указали Блокировать = ИСТИНА, а для «СтоимостиТоваров» сделали отбор по «Номенклатуре»? Мне кажется это странным, можно было и для остатков сделать одинаково.
По отчету
Зачем рассчитывать себестоимость? Ведь регистр «Стоимость товаров» и содержит себестоимость, как я понял, можно просто было указать остатки стоимости, это и есть себестоимость. Деление же кол-ва остаков на кол-во из стоимости всегда будет давать 1, т. к. количество одинаково, мы же одинаковые проводки формируем.
По первым вопросам есть статья: http://курсы-по-1с.рф/articles/статья-платформа-блокировки/
Регистр «Стоимость товаров» хранит стоимость, которая не является ценой. Это стоимость за все штуки которые есть в остатках. Одна пришла по 1 рублю, другая по 10, какая стоимость одной штуки?
И нет тут проводок. Их вообще в 8рке нет.
Простите, я точно не выразился. Речь здесь идет об отчете ВедомостьПоСкладам. У нас ведется 2 регистра — ОстаткиНоменклатуры и СтоимостьНоменклатуры. Мне показалось, что сумма количества номенклатуры в 2х набора данных будут совпадать (КоличествоНачальныйОстаток, КоличествоКонечныйОстаток и т. д.) поскольку записи велись параллельно, по крайней мере, в этой задаче и нет разреза по складам. Потому всегда суммы остатков номенклатуры без разреза по складам по обоим регистрам будут одинаковы и надо просто просуммировать общую себестоимость по номенклатуре. Или я не прав?(1:54 фрагмент — не пойму, зачем вычислять себестоимость здесь)
Про параллельный учет — все верно. Дальше я слегка запутался. Остатки совпадать будут. Для расчета стоимостного остатка одной единицы товара надо поделить стоимость на количество из регистра СтоимостьТоваров.
Здравствуйте!
1) Нужно ли при партионном учете фиксировать в документе метод списания как в задаче с коэффициентами? При ведении учета стоимости в рублях и в валюте.
Например, вчера 01.02 был установлен метод LIFO.
Сегодня я провожу оперативно документ продажа.
После проведения устанавливаю сегодняшним числом метод FIFO.
И перепровожу документ продажа.
Каким методом списания нужно воспользоваться?
2) Какой алгоритм действий при смене учетной политики с FIFO на среднюю?
3) Какой алгоритм при смене учетной политики со средней на FIFO?
4) Если в задаче указано «Учетная политика может меняться каждый месяц». Это ограничение входных данных или кода? Подходит ли регистр сведений с периодичностью месяц? Ведь тогда будет устанавливаться в первого числа, а это в задаче не указано. Это будет упрощением?
5) Нужно ли создавать последовательность документов?
Приветствую.
Все Ваши вопросы имеют один ответ, нужна последовательность, которая будет по регистру сведений с учетной политикой, а входящие документы будут Расходные.
2 — меняем партии на документ смены уч.политики
3 — Также, первой партией делаем док смены уч. политики.
4 — Сделайте регистр с периодичностью день.
5 — Обязательно.
Забыл еще кое-что спросить про пятую задачу.
А что, если в качестве графика использовать составной тип: либо подразделение, либо элемент справочника «графики» (например пятидневка в случае больничного). Ведь для каждого подразделения свой график.
Если честно, никогда не рассматривал такой вариант. Но думаю потом будет крайне тяжело сделать отбор при получении базы в разрезе подразделения, когда по сотруднику будут записи по Графику. Надеюсь не запутал.
Добрый день! Вопросы по пятой задаче.
1. В условии написано, что больничный считается по часам, а доплата на лекарства по дням. Может тогда добавлять в РР ресурс «ОтработаноЧасов», кроме «Отработано дней»? Если да то в графике тоже надо добавить часы, но что тогда указывать в РР в качестве значения графика: часы или дни?
2. Никак я не пойму где зависимость от периода действия, а где от периода регистрации. Вот прочитал условие и мне кажется доплата за лекарства должна зависеть от периода действия, а премия от периода регистрации (фраза «сделанных в предыдущем же расчетном периоде»).
3. У вас в решении для расчета начислений в запросе получаются данные базы для всех записей РР. Можно так на экзамене делать, или все таки следует сделать запрос сначала для оклада, которому не нужна база, потом для больничного?
Приветствую.
1. В РР указывается то что будет использовано для расчета пропорции, при получении базы за неполный период по периоду действия. В задаче — дни.
2. Не во всех задачах можно однозначно определить зависимость. На экзамене задачи более конкретизированы.
3. Можно в таблице БАЗА поставить условие на виды расчета, чтобы для оклада не рассчитывалась база.
Доброго дня! Вопрос про блокировки регистра бухгалтерии. В некоторых местах встречал такой код
ЭлементБлокировки.УстановитьЗначение(ПланыВидовХарактеристик.ВидыСубконто.Склады, Склад);
Попробовал так сделать, но в отладчике я не увидел соответствующего поля в элементе блокировки.
Если писать
ЭлементБлокировки.УстановитьЗначение(«Субконто2», Склад);
то все норм.
Что это: глюк платформы или неверная конструкция в первом случае?
Довольно странно. Если в счетах которые попали в поля блокировок есть вид субконто «Склады» то блокировка должна установится.
Ясно, спасибо.
Добрый день! На видео в первой задаче перед списанием себестоимости очищаются движения по регистру «Себестоимость» только в случае оперативного проведения. А ведь если проводить документ неоперативно, сдвинув дату документа вперед, тоже необходимо очищать движения по себестоимости. Может быть правильнее очищать движения по себестоимости во всех случаях?
Полностью поддерживаю.
Добрый день! Приостановите, пожалуйста, действие моего токена.
Доброго дня, Александр!
Активация токена приостановлена.
Для возобновления обучения активируйте токен повторно.
Здравствуйте. По задаче №6. Почему в доп. начисление Премия не добавляется в список ведущих Больничный и Прогул? Ведь они влияют на оплату по тарифу, а следовательно и на премию.
Там сработает перерасчет по вытеснению. Для этого в ведущие виды расчета добавлять не надо.
Здравствуйте. Вопрос по бухгалтерскому учету. В задаче №4 стартового пакета, в зависимости от вида счета вы определяете куда относить сумму, на прибыль или убыток. Объясните, пожалуйста, как определять вид счета по условию задачи?
Не понял вопроса. Вид счета определяется в соответствии со стандартами бух учета.
Вы говорите о том, что вид каждого счета заранее определен этими стандартами или стандарты описывают алгоритм по которому определяется вид счета? Можете указать ресурс где можно прочитать об этих стандартах?
Это основы бух.учета, к сожалению книжку не посоветую. Но думаю самые основы можно почитать в магазине в разных источниках, там не очень много :)
Здравствуйте!
Вопрос по самому первому видео — там где в запросе к табличной части мы получаем номенклатуру и количество, а все остальные поля задаются параметрами (склад, период и вид движения). В принципе ведь все данные поля можно получить в запросе. Я в курсе про неявные соединения таблиц при обращении в запросе через точку, например СписокТоваров.Ссылка.Склад или .Дата как раз к этому приведет. Вопрос — насколько это критично? Снижают ли за это баллы, или можно получить данную информацию запросом?
А зачем нам неявное левое соединение, если все есть в контексте модуля объекта? Но это «навороты» за это не начисляют и не снижают баллы.
Здравствуйте. По задаче № 3.
При проводке ДТ Прибыли и убытки – КТ Товары формируется таблица, где в одной строке есть себестоимость, а в остальных равна 0. А можно сделать без таблицы сразу при обходе выборки? Будет ли минусом, что себестоимость записана не одним числом, а поделена на столько частей, сколько партий списали? При обходе таблицы все равно же будет записана строка в оборотах с нулевой себестоимостью?
«Проводка» — это одна строка в таблице движений регистра бухгалтерии. Не понял о чем Вы спрашиваете.
Здравствуйте. Вопрос по стартовой задаче №2. (возможно кто-то уже спрашивал)
1. При проведении по партиям если оперативное проведение, то в видео делается просто Записать(), но в статье где Вы описываете новую методику проведения (http://1c.chistov.pro/2013/07/blog-post_25.html) еще дополнительно ставите БлокироватьДляИзменения. Получается, что всегда на всякий случай надо блокировать набор тех записей которые будут удалены?
2. В задаче есть условие «документы задним числом не вводятся, но старые документы могут неоперативно
перепроводиться», следовательно документ Изменение учетной политики может быть перепроведен с другим значением учетной политики и значит надо изменить списание по партиям. Как это реализовать? Такой вариант реализации подойдет — вынести процесс проведения по партиям в отдельную процедуру в общем модуле и вызывать ее в обработке проведения документа Продажа товаров, а когда перепроводится документ Изменение учетной политики отбирать все документы, движения которых надо изменить и в цикле для каждого вызывать это процедуру?
3. Вопрос по структуре регистра Продажи. Если сделать 1 измерение Номенклатура и 2 ресурса Количество и Выручка. А для отчета соединять ПродажиОбороты и ПартииОбороты по Номенклатуре и Регистратору. Будет ли это правильно?
Приветствую.
Да, неоднократно перетирали :)
1. На всякий случай не надо ничего делать. Посмотрите еще раз статью. БлокироватьДляИзменения устанавливает блокировку на разделение итогов и блокирует изменяемые данные по удаляемуму набору записей, при возможном перепроведении.
2. Тут все решат последовательности. Ничего выносить в процедуры не надо. При восстановлении последовательности все перепроведется.
3. Нельзя так делать. Не каждое движение расход по партиям — это продажа. Кроме того, у регистров накопления остатков обороты не рассчитаны и получение оборотов приведет к считыванию реальной таблицы. А слово «регистратор», при получении данных из виртуальных таблиц, однозначно означает, что что-то в решении не правильно.
2.Получается на экзамене сделать просто обработку типа «Востановление последовательности»?
3.Задам немного тупой вопрос) На видео в регистре Продажи только 2 ресурса — Выручка и Себестоимость. Количество просто не добавили?
2. Зачем ее делать, есть же встроенная.
3. Ну там все аналогично себестоимости.
Добрый день, коллеги.
В данном курсе не нашел примера решения расчетной задачи, указанной в билете по ссылке.
https://docs.google.com/document/d/19Cv6COjMRcN_qDLbiWmYwp686IXpxE9GHHzQkpa2rME/edit#heading=h.6iafims06plg
Добрый.
Билеты не разбираются в курсе. В курсе разбираются самые популярные сценарии задач, раскрывающие понимание определенных механизмов.
Задача с табелем разбирается Евгением в доп материалах.
Задача №2
Вилка поступала 3-мя партиями по 10, списываем 1+13.
На видео при проверке списанного товара по ФИФО в регистре видны два движения, в обоих количество = 7.
Не понял…
Видео часто записывается кусками и потом монтируется. Возможно ошибка монтажа.
Здравствуйте, возник вопрос по универсальным алгоритмам в задаче №3.
Создание универсального алгоритма более трудоемко, чем обычная реализация. Насколько это необходимо на экзамене, если в условии задания нет требования создания универсального алгоритма?
Здравствуйте. О чем идет речь? В задаче 3 описывается партионный учет на регистрах бухгалтерии. Я не очень понимаю, что Вы подразумеваете под «универсальным алгоритмом».
Здравствуйте. В задаче описывались движения по регистру бухгалтерии при списании товара из документа Расходная накладная и документа Перемещение (с одного склада на другой). В видео проведение делается через общий модуль, одной процедурой для обоих документов.
В описании задачи не было требования делать проведение для обоих документов через общий модуль.
Т.к. документы отличаются, это более трудоемкий способ, чем делать проведение отдельными процедурами в модулях документов.
Будут ли снижать баллы на экзамене, если идти по более простому пути?
Нет, снижать не будут, но время на написание двух, практически одинаковых модулей, Вы потратите. А время на экзамене — это важно.
Понятно, спасибо.
Аналогичная ситуация по задаче 5 — в ней был реализован расчет зарплаты без привязки к конкретным видам расчета (чтобы в будущем пользователи могли добавлять свои виды расчета). Алгоритм завязан на Перечисление «Способы расчета», т.е. он универсальный.
В задаче 6 (расчет посменных оплат в охранном предприятии), напротив, алгоритм не универсальный — не завязан на способы расчета, только на предопределенные Виды расчета.
Т.е., судя по всему, решать задачу универсальным алгоритмом или нет — это на усмотрение сдающего (если в задаче в явном виде не указано иное)?
Обычно с универсальными видами расчетов есть условие в билете «Пользователь должен иметь возможность вводить свои виды расчета и связывать их с существующими алгоритмами».
Добрый день. Павел, подскажите пожалуйста. По поводу задачи №2. Чтобы проверить остатки нам надо сначала записать движения в регистр ОстаткиНоменклатуры, а уже потом их читать. Но ведь в этом регистре есть измерение партия, а мы ее пока не знаем. Можно ли записать временное движение без партии, не будет ли это ошибкой? И еще один вопрос. Решение этой задачи разбирается в сборнике задач по сертификации. Так вот там не применяется этот метод, а сначала читаются остатки регистра и уже потом сравниваются с количеством из документа. И еще в документе Расходная накладная в табличной части добавлен реквизит «Партия». Какой метод проверки остатков все-таки правильный и нужен ли этот реквизит в табличной части?
Это будет ошибка. Для проверки остатков используйте новый регистр по аналогии с механизмом оперативного проведения. Задачи курса в сборнике задач не разбираются, там другие задачи.
То есть тогда получается, что в этой задаче надо использовать 3 регистра накопления (ОстаткиТоваров, ОстаткиПартий и Продажи)?
Да
Добрый день! Задача 1 сопутствующие вопросы:
Вопросы к заданию 82_01
1. В видео уроке сказано о том, что возможно разработка «с нуля» или же используя «каркасную конфигурацию». В правилах сдачи экзамена, которые я скачал на сайте 1с указано:
«Кандидат должен разработать ….. на базе так называемой «каркасной» конфигурации». Нигде нет ни слово о том, что можно использовать пустую. Явно указано что надо модифицировать каркасную. Прокомментируете?
2. В виду того, что в «каркасной» конфигурации есть в приходной накладной графа «количество» нужно ли реализовывать обработку трех полей Количество, Цена, Стоимость? Или же можно просто скрыть поле цена за «ненадобностью»? Вообще можно ли скрывать с формы «ненужные» реквизиты, если они не будут использоваться в решении при разработке на база «Каркасной» конфигурации?
3. В основном перечне механизм, которые должен уметь реализовывать кандидат указаны не понятные мне пункт «36) Использование новых возможностей работы с динамическими списками;»
В виду того, что курс подготовки к аттестации аж на 8.2 рассчитан – вопрос что подразумевается под словом «новых» и учтено ли это в материалах курса?
Приветствую!
2. В задаче сказано что-то про «обработку полей»? Если нет, то не надо этого делать. И скрывать ничего не надо.
3. В 8.2 есть динамические списки, в разборе задач есть пример. «Новых» — то что добавили в «Управляемое приложение».
Здравствуйте, прошу приостановить действие токена.
Добрый день, Евгений!
Активация токена отменена, для возобновления доступа в Мастер-группу просто активируйте токен повторно.
Добрый день, Павел!
Хотел уточнить вот какой момент по свойству Записывать набора записей регистра. Если мы выставляем этот маркер в Истину и далее используем Движения.Записать() — то после записи наборов, по которым этот маркер выставлен в Истину, он соответственно становится равным Ложь. И далее, если происходит повторная запись, данные наборы записываться не будут. Правильно ли я понял?
Тогда как маркер себя будет вести, если мы его выставили в Истину для определенного набора и далее записываем только этот набор? Т.е.:
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.Записать();
Выставится ли маркер по набору в Ложь после этого?
Приветствую.
Метод Записать() набора записей не сбрасывает маркер. Это легко можно проверить в отладке.
Добрый день.
Приостановите, пожалуйста, действие моего токена.
Благодарю.
Доброго дня, Владислав!
Активация токена отменена. Для начала обучения Вам необходимо будет активировать токен повторно.
В стартовой задаче №5 если вводить больничный отдельным документом, то из запроса вместо фактического периода действия возвращается Null. Почему? А если в одном документе с окладом, то все в порядке.
Здравствуйте. Уже ответил на Ваш вопрос.
Добрый день!
Прошу приостановить действие моего токена.
Доброго дня, Олеся!
Активация токена отменена.
Для продолжения обучения Вам необходимо будет активировать токен повторно.
Добрый день, Павел.
У меня следующий вопрос по задачи №2: нужно ли еще добавить один регистр накопления для хранения данных только в разрезе номенклатуры и количества товара (для контроля отрицательных остатков, без разреза Партии и показателя Стоимость) или достаточно одного (который реализован Вами в решении)?
При просмотре видео у меня сложилось впечатления, что все-таки должен быть еще один РН для оперативного контроля остатков, но Вы его не реализовали только потому, что данная подзадача уже была решена раньше.
Спасибо.
Приветствую.
Правильное впечатление!
Здравствуйте Павел! У меня вопрос по задаче № 4. Извините меня если мой вопрос покажется Вам глупый)
В этой задаче Вы у счета ПрибыльИУбытки установили вид счета Пассивный. А если у этого счета установить вид счета активно/пассивный, то тогда проверка при проведении документа Корректировка на прибыль или убыток останется прежней
» Если (Выборка.Отклонение > 0 и Выборка.ВидСчета ВидСчета.Пассивный) ИЛИ (Выборка.Отклонение < 0 и Выборка.ВидСчета = ВидСчета.Пассивный) Тогда … " или же нужно реализовать другую? Если да то не могли бы Вы коротко написать эту проверку?
Это вообще универсальный код для всех счетов.
Павел активно работаю с Вашим форумом спасибо Вам за его.
У меня два вопроса:
1) Пользуясь доступом к мастер группе хотел бы услышать Ваше мнение по запросу для неоднократных изменений оклада в расчетном периоде. Вот текст:
| НачислениеЗарплатыОН.НомерСтроки КАК НомерСтроки,
| НачислениеЗарплатыОН.Сотрудник КАК Сотрудник,
| НачислениеЗарплатыОН.Подразделение КАК Подразделение,
| НачислениеЗарплатыОН.ПериодДействияНачало,
| НачислениеЗарплатыОН.ПериодДействияКонец
|ПОМЕСТИТЬ ТЧ
|// ============================================================
|// Тут тупо собираем табличную часть документа, вопросов возникнуть ни у кого не должно
|// ============================================================
|ИЗ
| Документ.НачислениеЗарплаты.ОН КАК НачислениеЗарплатыОН
|ГДЕ
| НачислениеЗарплатыОН.Ссылка = &Ссылка
| И НачислениеЗарплатыОН.ВидРасчета = &ВидРасчета
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Подразделение,
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТЧ.НомерСтроки КАК НомерСтроки,
| ТЧ.Сотрудник КАК Сотрудник,
| ТЧ.Подразделение КАК Подразделение,
| МАКСИМУМ(СведенияОСотрудниках.Период) КАК Период
|ПОМЕСТИТЬ Периоды
|// ============================================================
|// Вот здесь мы получаем границы периодов для дальнейшего получения оклада
|// первый запрос получает ближайший период РС к дате начала периода записи
|// второй собирает периоды РС за расчетный период записи
|// ============================================================
|ИЗ
| ТЧ КАК ТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
| ПО ТЧ.Сотрудник = СведенияОСотрудниках.Сотрудник
| И ТЧ.Подразделение = СведенияОСотрудниках.Подразделение
| И ТЧ.ПериодДействияНачало >= СведенияОСотрудниках.Период
|
|СГРУППИРОВАТЬ ПО
| ТЧ.НомерСтроки,
| ТЧ.Сотрудник,
| ТЧ.Подразделение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТЧ.НомерСтроки,
| ТЧ.Сотрудник,
| ТЧ.Подразделение,
| СведенияОСотрудниках.Период
|ИЗ
| ТЧ КАК ТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
| ПО ТЧ.Сотрудник = СведенияОСотрудниках.Сотрудник
| И ТЧ.Подразделение = СведенияОСотрудниках.Подразделение
| И (СведенияОСотрудниках.Период МЕЖДУ ТЧ.ПериодДействияНачало И ТЧ.ПериодДействияКонец)
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Подразделение,
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.НомерСтроки КАК НомерСтроки,
| Периоды.Сотрудник КАК Сотрудник,
| Периоды.Подразделение КАК Подразделение,
| Периоды.Период КАК Период,
| МИНИМУМ(Периоды1.Период) КАК Период1
|ПОМЕСТИТЬ ДиапазоныПериодов
|// ============================================================
|// Здесь уже интересней получаем диапазоны периодов
|// ============================================================
|ИЗ
| Периоды КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ Периоды КАК Периоды1
| ПО Периоды.НомерСтроки = Периоды1.НомерСтроки
| И Периоды.Сотрудник = Периоды1.Сотрудник
| И Периоды.Подразделение = Периоды1.Подразделение
| И Периоды.Период < Периоды1.Период
|
|СГРУППИРОВАТЬ ПО
| Периоды.НомерСтроки,
| Периоды.Сотрудник,
| Периоды.Подразделение,
| Периоды.Период
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Подразделение,
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДиапазоныПериодов.НомерСтроки КАК НомерСтроки,
| ДиапазоныПериодов.Сотрудник КАК Сотрудник,
| ДиапазоныПериодов.Подразделение КАК Подразделение,
| ДиапазоныПериодов.Период,
| ДиапазоныПериодов.Период1,
| СведенияОСотрудниках.Оклад
|ПОМЕСТИТЬ ДиапазоныИОклад
|// ============================================================
|// Теперь получим оклады
|// ============================================================
|ИЗ
| ДиапазоныПериодов КАК ДиапазоныПериодов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
| ПО ДиапазоныПериодов.Сотрудник = СведенияОСотрудниках.Сотрудник
| И ДиапазоныПериодов.Подразделение = СведенияОСотрудниках.Подразделение
| И ДиапазоныПериодов.Период = СведенияОСотрудниках.Период
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| Подразделение,
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|// ============================================================
|// Ну и соберем и упорядочим все это дело
|// ============================================================
|ВЫБРАТЬ
| ДиапазоныИОклад.НомерСтроки КАК НомерСтроки,
| ДиапазоныИОклад.Сотрудник КАК Сотрудник,
| ДиапазоныИОклад.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ТЧ.ПериодДействияНачало > ДиапазоныИОклад.Период
| ТОГДА ТЧ.ПериодДействияНачало
| ИНАЧЕ ДиапазоныИОклад.Период
| КОНЕЦ КАК ПериодДействияНачало,
| ВЫБОР
| КОГДА ДиапазоныИОклад.Период1 ЕСТЬ NULL
| ТОГДА КОНЕЦПЕРИОДА(ТЧ.ПериодДействияКонец, ДЕНЬ)
| ИНАЧЕ КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(ДиапазоныИОклад.Период1, СЕКУНДА, -1), ДЕНЬ)
| КОНЕЦ КАК ПериодДействияКонец,
| ДиапазоныИОклад.Оклад
|ИЗ
| ТЧ КАК ТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ ДиапазоныИОклад КАК ДиапазоныИОклад
| ПО ТЧ.НомерСтроки = ДиапазоныИОклад.НомерСтроки
| И ТЧ.Сотрудник = ДиапазоныИОклад.Сотрудник
| И ТЧ.Подразделение = ДиапазоныИОклад.Подразделение
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки,
| Сотрудник,
| Подразделение,
| ПериодДействияНачало"
тут выгрузка базы на которой можно покрутить запрос: https://yadi.sk/d/w7UU0iY8k5syh
хотелось бы получить критику от Вас.
2) Условие задачи:
========================
В течение расчетного периода первоначальное значение оклада может быть неоднократно изменено. В информационной базе необходимо хранить историю его изменения. Расчет должен проводиться исходя из действующего на рассчитываемую дату начального значения оклада. Например, если начальное значение оклада изменилось 10 августа, то до 10 августа при расчете берется старое значение, а начиная с 10 августа – новое.
========================
Надо ли тут воротить такой запрос как указан в вопросе 1 и разбивать все строки документа на периоды в которых менялся оклад или тупо получить оклад на ПериодДействияНачало записи и отправить на расчет не разбивая строку на периоды пусть даже если в период действия этой записи меняли оклад ? Как Вы думаете ? Всю голову изломал ну не может быть одна задача из 15 по сложности быть в три раза сложней остальных.
Если в задаче есть условие, что оклад может меняться, то следует просто ввести две (или сколько нужно) записи в документ «НачислениеЗарплаты» с разным значением оклада. Все. Автоматизировать это не надо.
Т.е. просто руками вбить в документ две записи с разными значениями оклада? А зачем тогда хранить историю изменения оклада?
Да, просто руками ввести записи.
Ну надо хранить — храним.
Стартовая задача 2. Решение из dt.
Если остатка товара нет вообще движений ОстаткиТоваров возращает NULL, и при попытке проведения документа продажи возникает ошибка {Документ.ПродажаТоваров.МодульОбъекта(105)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если ВыборкаНоменклатура.Количество > ВыборкаНоменклатура.КоличествоОстаток Тогда
Хорошо ли будет вставить такой код в обход выборки, для того что бы сообщить пользователю чего не хватает?
Пока выборка.Следующий() Цикл
Если Выборка.КоличествоОстаток = NULL Тогда
Отказ = истина;
Сообщение = новый СообщениеПользователю;
Сообщение.Текст = «Нет остатка товара » + ВЫборка.НоменклатураПредставление;
Сообщение.Сообщить();
Продолжить;
КонецЕсли;
Для того что бы что-то было в Выборка.НоменклатураПредставление в запросе приходится сделать
|ИТОГИ
| МАКСИМУМ(НоменклатураПредставление),
Это нормально так делать — максимум по строковому представлению?
Хорошо в самом запросе привести значение к числу используя функцию ISNULL.
Для обхода выборки представление будет получено по факту уже после того как запрос будет выполнен на стороне сервера 1С, так что ему все равно.
И это вопросы не для этого курса.
Добрый день.
У меня старый задачник 2009 года. В нем написано, что отчеты на экзамене надо строить не только компоновкой данных, но и построителем отчета, сводной таблицей и даже с использованием фиксированного макета.
Это актуально?
Если в задаче явно указано как нужно строить отчет — то именно так и нужно, в противном случае решение принимаете Вы.
Здравствуйте!
Прежде всего хочу сказать спасибо за качество изложения материала.
А теперь собственно вопрос: при формировании текстов запросов в режиме конфигуратора, у вас подсвечиваются все операторы и ключевые слова, а, по умолчанию, текст запроса отображается просто как тест (сплошным черным шрифтом). Прошу рассказать как добиться такого же отображения текста запроса или показать поясняющий снимок экрана с настройками конфигуратора.
С уважением
Это snegopat для восьмерки. Я тут ни при чем.
Будет ли с точки зрения идеологии 1с ошибкой или неправильным не сделать справочник ЕдиницыИзмерения подчиненным Номенклатуре?
Допустим каждая позиция номенклатуры из ста тысяч может быть в штуках и одинаковых пачках. Не подчинять единицы измерения, что бы не заводить сто тысяч элементов справочника ЕдиницыИзмерения «пачка».
Для данного экзамена это не имеет никакого значения.
Павел при оперативном перепроведении я пишу так:
// Запишем пустой набор так как при оперативном перепроведении
// платформа читает остатки с учетом остатков этого документа
Движения.ОстаткиНоменклатуры.Записать();
КонецЕсли;
По сути в Ваших примерах так же, но вы не проверяете новый ли это документ, ведь для новых документов незачем дергать на запись регистр.
Скажите я правильно делаю ?
При проведении документ не будет новым никогда. Он уже записан.
Точно. Как то я не учел этот момент )
Стартовая задача №5. В задании сказано: «Размер начисленной суммы не может превышать определенного значения, зафиксированного для каждого сотрудника отдельно в информационной базе».
Где этот параметр лучше всего указывать (реквизитом в справочнике или регистре сведений)?
Для сотрудника — в справочнике Сотрудники.
Стартовая задача №4.
Документ «Приходная накладная». При получении валюты по договору не оптимальнее ли проверить на клиенте, заполнен договор или нет (ЗначениеЗаполнено)? Если не заполнен – валюта пустая (Объект.Валюта = «»). Если договор указан – только тогда вызов серверной функции. Таким образом избегаем лишнего обращения к серверу.
ЗначениеЗаполнено — приведет к серверному вызову.
Спасибо! Никогда не обращал внимания, что делается серверный вызов. Буду знать.
Павел, пара вопросов по расчетным механизмам:
1) Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонений — это сторно ?
2) Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается — как это реализовывается ?
1. Это к сторно не имеет никакого отношения. Это отклонение, вытеснения, которые к сторно могут привести только косвенно.
2. Подразделение — это не измерение, а реквизит регистра.
Павел, добрый день!
1. Задача 1. Нужно ли выполнять контроль отрицательных остатков по РН «Стоимость товаров» (помимо контроля по РН «Товары на складах») ?
1.1 Если да, то можно ли тогда в отчете получать данные по количеству из РН «Стоимость товаров» без соединения с «Товарами на складах».
p.s. Скорее всего вопрос уже задавался, но слишком много комментариев скопом — просматривать все — очень долго.
1. нет.
2. нет.
пс: посмотрите комментарии, оно намного ценнее чем видео.
В разборе третьей задачи почему в документе «Расходная накладная» в первой проводке не указывается Субконто по дебету?
Приветствую. Можно указать и субконто по дебету, тогда обороты можно будет получать и не использовать корр обороты. Однако мы все таки обращаемся к корр оборотам для получения количества, так что на производительность это принципиально не влияет.
Во второй задаче «Считается, что документы задним числом не вводятся, но старые документы могут неоперативно перепроводиться.»
Может у меня какой то глюк с видео ,но я не вижу где рассматривается этот пункт в задаче.Можете объяснить,что этот пункт означает и что нужно добавить в конфигураторе для правильного выполнения этого пункта?
Нет шаблонов решения задач. Что Вам не нравится в условии и решениях?
Пользователь может открыть любой старый документ, поменять в нем табличную часть, дату и провести документ.