В связи с этим хотел бы поделиться своими впечатлениями и опытом.
Но сначала ответы на возможные вопросы благодарных читателей:
Зачем эта статья, на ресурсе уже и так полно информации на эту тему ?
Почему нет решенных билетов с объяснениями ?
Объясняю все по порядку:
Зачем же новая статья ?
Думаю — не для кого не секрет, что экзамен по платформе является одним из самых сложных сертификационных экзаменов 1С. Чтобы сдать его успешно (хотя бы на 2.5) нужно большое желание и много человеко часов для подготовки. Я этот путь прошел и хотел бы передать свой рецепт подготовки и сдачи коллегам по «цеху», так сказать, внести свой вклад в общее дело.
Что использовалось для подготовки:
Материалы с данного ресурса:
//infostart.ru/public/102366/ — много нужной информации и полезные рекомендации по сдаче;
//infostart.ru/public/126813/ — грамотный разбор ошибок, за которые снижают оценку;
//infostart.ru/public/140750/ — общие рекомендации по сдаче;
//infostart.ru/public/127282/ — разбор расчетной задачи;
//infostart.ru/public/127312/ — разбор задач с бизнес-процессами;
Материалы с других ресурсов:
http://chistov.spb.ru/ — хороший сайт хорошего специалиста + есть видеоуроки по подготовке.
Литература:
Радченко М.Г., Хрусталева Е.Ю. 1С:Предприятие 8.2. Практическое пособие разработчика;
Радченко М.Г., Хрусталева Е.Ю. Разработка управляемого интерфейса;
Хрусталева Е.Ю. Разработка сложных отчетов в 1С:Предприятие 8.
С источниками информации и литературой определились, что же дальше. А дальше начинаем решать задачи из сборника. Сначала медленно и коряво, постоянно обращаясь к вышеперечисленным ресурсам. После их прочтения, корректируемся, возможно даже решаем уже сделанное задание заново. Поверьте, этот нудный процесс очень важен и полезен, т.к. в голове фиксируются часто встречающиеся ошибки и правильные способы решения той или иной задачи. В результате этой дефрагментации мозга многие ситуации, которые совсем недавно ставили в тупик находят простое, быстрое и вполне логичное решение. Слова «простое» и «быстрое» я упомянул не зря. Быстрота и простота решения — залог успешной сдачи.
Отдельно хотел бы сказать: не стремитесь решить все задачи по порядку. Много времени потратите. Все задачи неявно сгруппированы по отдельным признакам. Поэтому после прочтения сборника их можно разделить на отдельные группы и прорешать несколько задач из каждой группы (желательно самые объемные). Остальные задачи после такого решения покажутся для Вас знакомыми, понятными и совсем не страшными.
Мой маленький рецепт счастья или как я смог сдать экзамен.
1. Внимательное и правильное прочтение задачи.
Задачи нужно читать правильно и ооочень внимательно, т.к. от этого зависит правильность выполнения. Вот некоторые интересные моменты в текстах билетов, которые мне встречались:
Из оперативного учета:
— Считается, что документы задним числом не вводятся, но старые документы могут неоперативно перепроводиться. Здесь достаточно в условие запроса к регистрам остатков добавить «МоментВремени = ?(РежимПроведения=РежимПроведенияДокумента.Оперативный,
Неопределено, МоментВремени())»;
— Документы задним числом вводить нельзя, но можно открыть существующий документ и перепровести его. Тут нужна проверка на ввод документа задним числом.
— Считается, что товар по счету в конце концов будет отгружен полностью. Значит учет нужно организовать на регистре накопления с остатками. Ни о каких оборотах речи не идет. И вообще нужно запомнить, что для учета товаров и определения себестоимости в 99% случаев используется регистр накопления остатков, а для учета выручки регистр накопления оборотов.
— Каждый из складов имеет свой приоритет, который может меняться не чаще чем 1 раз в месяц. Сам попался на этом моменте, когда завел реквизит «Приоритет» в справочнике «Склады», но вовремя нашел ошибку и создал отдельный регистр сведений «ПриоритетыСкладов» с периодичностью «месяц».
Из бух.учета:
— комплекты хранятся в справочнике «Номенклатура» наравне с обычными товарами. Для правильного решения нужно добавить перечисление «ВидНоменклатуры», заводить отдельные папки в справочнике в этом случае неверно.
Из расчета:
— «Оклад у всех сотрудников одинаков и берется на начало месяца». Следовательно размер оклада должен устанавливаться не в константе, а в отдельном периодическом регистре сведений с периодичностью «месяц».
Это лишь маленькая доля из тех»хитрых» мест в заданиях, которые я смог вспомнить. Если кто то найдет еще что-нибудь интересное в билетах — напишите в комментариях, чтобы я смог дополнить этот раздел в помощь остальным. Заранее благодарен !
Продолжим…
2. Схема будущей задачи. Обязательно составьте схему будущего решения. Как Вы это сделаете — неважно. Можно на листе бумаги, можно в word. Многие возразят, мол я и так все в голове себе представляю, зачем писать. Поверьте — надо. Ведь при составлении плана на бумаге Вы будете сами себе задавать вопросы: «зачем мне нужен этот объект?», «какова его структура?», «Какая связь с другими объектами ?». Согласен, что составление схемы на бумаге это дополнительная потеря драгоценного времени, но при хорошей предварительной подготовке схема любой задачи составляется минут за 5-7 (не так уж много). Зато скорость реализации в конфигураторе повышается в разы, т.к. не надо придумывать и вспоминать на ходу.
Пример составления схемы для решения задачи 1.5 из сборника задач:
Сама задача:
Компания занимается оптовой торговлей. Поступление товаров отражается документом «Приходная накладная», продажа — «Расходная накладная». Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части.
Складской учет товаров не ведется.
При проведении расходной накладной при нехватке товара необходимо выдавать соответствующее предупреждение с указанием количества нехватки и не позволять проводить документ.
Списание себестоимости должно быть организовано по партиям, в зависимости от текущего значения принятого в учетной политике метода списания себестоимости (FIFO, по средней или LIFO). Учетная политика может меняться каждый день, ее изменение фиксируется соответствующим документом.
Считается, что документы задним числом не вводятся, но старые документы могут неоперативно перепроводиться.
Необходимо построить отчет но продажам товаров за период и остаткам товара на указанную дату.
Продажи с 01.01.2010 по 31.03.2010
Номенклатура |
Кол-во |
Себест-сть |
Продажа |
Прибыль |
Куртка замшевая |
3 |
300 |
620 |
320 |
Портсигар |
3 |
30 |
50 |
20 |
Доставка |
1 |
|
100 |
100 |
Прибыль рассчитывается как:
«Сумма продаж» — «Себестоимость»
Остатки товаров па 01.01.2010
Номенклатура |
Партия |
Кол-во |
Стоимость |
Куртка замшевая |
|
4 |
350 |
|
Прих. Накладная №1 |
2 |
250 |
|
Прих. Накладная №2 |
2 |
100 |
Портсигар |
|
6 |
65 |
|
Прих. Накладная №1 |
5 |
50 |
|
Прих. Накладная №3 |
1 |
15 |
Схема-описание задачи:
— Подсистемы: «ОперативныйУчет»
— Справочники: «Номенклатура». Реквизиты «ВидНоменклатуры»
— Перечисления: МетодыСписания: FIFO, LIFO, Средняя
ВидыНоменклатуры: Товар, Услуга
— Документы: «ПриходнаяНакладная». Табл.часть: «СписокНоменклатуры». Колонки: Номенклатура, Количество, Сумма
«РасходнаяНакладная». Табл.часть: «СписокНоменклатуры». Колонки: Номенклатура, Количество, Сумма
«УстановкаУчетнойПолитики». Реквизиты: МетодСписания
— Регистры сведений: «УчетнаяПолитика». Ресурсы: МетодСписания. Подчинен регистратору «УстановкаУчетнойПолитики».
— Регистры накопления: «ОстаткиНоменклатуры» (остатки). Измерения: Номенклатура, Партия.
Ресурсы: Количество, Сумма
«Продажи» (обороты). Измерения: Номенклатура.
Ресурсы: Сумма
— Отчеты: «Продажи». Измерения: Номенклатура.
Ресурсы: Количество, Себестоимость, Продажа, Прибыль
«ОстаткиТоваров». Измерения: Номенклатура, Партия.
Ресурсы: Количество, Сумма
В тексте (но я предпочитаю отдельно) можно отразить особенности ведения учета:
!!! Товары и услуги в одной табличной части «СписокНоменклатуры»;
!!! При нехватке товаров выдавать сообщение и не проводить документ «РасходнаяНакладная»;
!!! При продаже услуги движение только по выручке. (Конечно, ведь в данном случае списывать нечего).
ну и так далее… После решения n-ого количества задач, Вы сразу и безошибочно начнете выделять из текста особые моменты в построении схемы учета.
3. Изменения в конфигураторе и отладка решения.
Тут все одновременно и просто и сложно. Просто потому что у Вас на руках уже имеется готовая структура конфигурации и ее можно реализовать практически не прибегая к отладке и просмотру результатов. А сложно потому что время — Ваш главный враг. Нужно делать все четко и быстро.
Я подразумеваю под этими словами буквально следующее:
— По возможности максимально используйте ввод и управление с клавиатуры (мышкой дольше). Например сохранение конфигурации Ctrl+S (это быстрее чем сохранение конфигурации базы данных F7), синтаксическая проверка модуля Ctrl+F7, переход в начало и конец процедуры Ctrl + ] и Ctrl + [, Переход к дереву конфигурации из модуля Ctrl+T и так далее. Описание многих горячих клавиш можно найти здесь
— В первый проход (до первого запуска клиента) кроме структуры реализовать также модули проведения всех простых документов. Для рассмотренного выше примера — простыми документами я считаю «УстановкаУчетнойПолитики», «ПриходнаяНакладная», т.к. в них нет никаких проверок и условий. Тут для быстроты можно воспользоваться конструктором движений. После работы конструктора не забудьте в модуле документа «ПриходнаяНакладная» добавить условие «ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар», иначе в отстаках окажутся услуги.
— После описания всей структуры конфигурации запустить отладку F5, в которой сразу проверить расположение пунктов меню в интерфейсе, заполнить справочники и регистры сведений, а также ввести все документы. Записать те для которых нет процедуры проведения и провести те для которых процедуру проведения уже описали. Проверить движения регистров накопления. Не нужно стремится сделать все движения так как описано в задании, достаточно двух позиций номенклатуры и по паре документов каждого вида, чтобы можно было проверить правильность работы.
— Переходим обратно в конфигуратор и пишем процедуры проведения для сложных документов. В нашем случае это «РасходнаяНакладная». На этот момент база заполнена и есть остатки по регистрам. Поэтому, если возникают сложности с написанием кода с листа, всегда можно использовать консоль запросов в режиме 1С:Предприятие. Не забудьте только добавить в расходной накладной блокировку для регистра накопления «ОстаткиТоваров», а также проверьте через свойства конфигурации состояние режима блокировок. Состояние должно быть «Управляемый» (в противном случае все ваши блокировки в модулях работать не будут).
— После написания процедуры проведения сложных документов вновь переходим в отладку, проводим эти документы и проверяем движения по регистрам. Если все хорошо, то по составленной схеме разбираем особенности ведения учета и вводим документы так, чтобы проверить работоспобность системы во всех возможных ситуациях. В нашем случае это проверка нехватки товаров на складе и отражение услуг.
— Все работает — отлично. Самое время приступить к отчетам…. и упс… Очень часто оказывается, что разработанная Вами структура конфигурации не соответствует требованиям отчета. Например: учет партионный, а Вы забыли добавить измерение «Партия» в регистр накопления. Поэтому еще раз повторюсь: читайте задание ОЧЕНЬ ВНИМАТЕЛЬНО!
Если все, включая отчеты, работает — поздравляю! Можно переходить к следующему заданию. Структура решения будет практически такой же.
Напоследок коротенький ответ на второй вопрос:
Почему нет решенных билетов с объяснениями ?
Свои варианты решений не выкладываю по той причине, что они на 90% повторяют те, которые уже публиковались ранее.
Но если у Вас возникнут какие-либо вопросы по решению задач — обязательно отвечу.
Только только вернулся со сдачи аттестации 1С:Специалист по платформе 8.2. Можете меня поздравить, теперь одним сертифицированным специалистом стало больше.
В связи с этим хотел бы поделиться своими впечатлениями и опытом.
Перейти к публикации
А зачем нужна такая блокировка, ведь во время проведения приходной накладной не нужно гарантировать, что остатки товаров до проведения не поменяются другими документами?
(1) Invaa,
Пардон. Не углядел, писал много и быстро. Конечно блокировка только в расходной накладной. Спасибо за замечание.
Здравствуйте! Опытные товарищи, подскажите, плиз, как работает сочетание клавиш «Ctrl + [» и «Ctrl + ]»? Нажимаю в тексте — ничего не происходит, хотя по логике вещей должно перемещать на начало (конец) функции или блока «Если».
(3) JohnySC,
Нужно ставить курсор на текст «НачалоПроцедуры», «КонецПроцедуры»
В приходной лучше всё-таки делать проверку на Товар.Услуга, иначе услуги будут висеть на остатках
(5) alext88,
Спасибо. Согласен. Добавлю в описание
-«комплекты хранятся в справочнике «Номенклатура» наравне с обычными товарами. Для правильного решения нужно добавить перечисление «ВидНоменклатуры», заводить отдельные папки в справочнике в этом случае неверно»
Если я сделаю булевский
(7) fnv,
В случае если вид номенклатуры принимает 2 значения, то да — можно использовать булево. Если же будут «комплекты», «товары», «услуги», в этом случае булево не поможет.
Хорошая статья, спасибо!
а при удаленной сдаче, можно же обложиться справочниками(шпорами) и соответственно решать станет намного легче, т.е. уже исходники уже решенных типовых задач, или на такое уже времени не остается?
(10) xtb,
При удаленной сдаче иногда не хватает времени даже если с ходу все решаешь. А все по той простой причине, что скорость канала и периодические зависания сервера ограничивают скорость решения билета.
Если в этой ситуации Вы хотите еще куда то подглядывать, то я не берусь предположить шансы на успех.
В моем случае сдача шла в Москве (учебный центр №1). Я действительно брал с собой распечатки некоторых модулей. Эти распечатки мне помогли, но только тем, что взглянув на них — я сразу понимал, что нужно делать. Я не переписывал с листочков и не пытался на ходу понять, что это означает — на это времени не было.
Фу-у-ф, у меня это славу богу позади, 1.5 месяца потратил на подготовку, за четыре часа уложился, забыл блокировку на регистр остатков наложить, в итоге 3 (((. Главное ведь на листочке написал, что нужно не забыть сделать при решении задач, а этот пункт как-то из виду упустил. Будьте внимательней при сдаче.
(12) Borometr,
Поздравляю со сдачей !
(13) спасибо. Но расслабляться думаю рано, впереди ещё специалисты по бухгалтерии и зарплате.
(14) Borometr,
Так держать.
Я сам в данный момент готовлюсь к аттестации по УПП. Если будет удачный опыт — напишу очередную статью на эту тему.
А если себестоимость товара = средняя по складу. Тогда правильно будет : КоличествоДокумента / КоличествоОстатокНаСкладе * СуммаОстатокНаСкладе ?
Как будет время думаю порешать задачки, только я так и не понимаю, зачем этот сертификат нужен…Сейчас везде за знания берут а не сертификаты. Сертификаты только франчи требуют, куда нормальный спец не пойдет.
(17) OVladius,
Вы отчасти правы, действительно, если работаешь не на франча, то сертификат нужен больше для себя.
Но периодические подготовки к аттестациям и сдача этих аттестаций позволяют не засалить мозги ежедневной текущей работой. Плюс происходит упорядочивание уже имеющихся знаний.
Коллеги, объясните, пожалуйста, мне один момент по оперативному учету.
Вот у нас есть регистр накопления ОстаткиТоваров
Измерения:
— Номенклатура
— Партия
Ресурсы:
— Количество
— Сумма
В течении какого-то периода (пока метод списания FIFO) приходуются товары
Стол Партия1 10шт 1000 руб
Стол Партия2 10шт 2000 руб
Стол Партия3 10шт 1000 руб
Потом мы продаем 15 шт:
Стол Партия1 -10 шт -1000 руб
Стол Партия2 -5 шт -1000 руб
Потом мы переключаем метод списания в «По среднему»
Вопросы:
1. Как заполнять измерение Партия при списании уже по среднему, чтобы вывести значения ресурсов по измерениям в ноль?
2. Правильно ли я понимаю, что при смене метода списания с партинного на среднее нужно вводить какой-то служебный документ и переводить остатки с реальных партий на пустые?
3. При оприходовании товара при действующем методе списание «По среднему» измерение «Партия» не нужно заполнять?
2. Вы правильно понимаете — в таких задачах в условияхуказано, что изменение политики делается документом. Этот документ должен перенести текущие остатки с реальных партий на некую новую партию. Как вариант — этим документом может быть и сам документ изменения политики. Или можно создать служебный документ — и всё перевесить на него. А можно просто повесить на пустое значение. Всё это не важно. Главное, чтобы после этого (и до смены политики) в учете в движениях и на остатках не возникало других значений партии. Даже дорабатывать списание по партиям не придётся — т.к. пустая (или служебная) партия — это тоже значение и оно вполне может списываться в любом порядке (ведь оно одно).
3. Вы правильно понимаете, новые документы, образующие партии в режиме списания ПО СРЕДНЕМУ не должны себя подставлять в поле «Партия». А насчет пустого значения: всё зависит от того, что вы выберете в п.2 для хранения одной средней партии. Если это будет служебный документ — то и новые партии должны будут использовать его — причём то же самое значение. А предопределенных документов в 1С не бывает. Поэтому проще использовать пустое значение (важно только различать пустую ссылку и неопределено, в учебных задачах, кажется, нет партий, образующихся в одном регистре несколькими видами документов, значит — составного типа партии не будет — значит будет пустая ссылка типа документа «Приходная накладная»).
1.Соответсвенно — я ответил на этот пункт в предыдущих. Формально — здесь ничего не изменится — спсиывайте ту партию, которую получите из остатков основным механизмомо. Просто в режиме политики ПО СРЕДНЕМУ — там всегда будет одна партия (на которой будут висеть все остатки товара; например — пустая ссылка) — её алгоритм автоматически и подставит в движения. Вы же списываете с данных реальных остатков.
4. Хм… странно, что не возник ещё один важный вопрос.
А что делать с партией в остатках, когда из политики списания ПО СРЕДНЕМУ снова перейдут на политики ФИФО или ЛИФО?
А всё просто. Ничего не делать 😉
Как я уже сказал — служебная партия или пустая партия — это тоже партия. И она прекрасно будет списываться по ФИФО или ЛИФО наряду с другими партиями.
Уточнение: при упорядочивании партий по моменту времени — момент времени пустой партии в запросе — будет NULL (т.к. реально его нет и в объектной модели это будет ошибка выполнения). И этот NULL прекрасно упорядочивается по возрастанию/убыванию, как наименьшее значение. Так что ничего при списании переделывать не нужно.
2. Вы правильно понимаете — в таких задачах в условияхуказано, что изменение политики делается документом. Этот документ должен перенести текущие остатки с реальных партий на некую новую партию. Как вариант — этим документом может быть и сам документ изменения политики. Или можно создать служебный документ — и всё перевесить на него. А можно просто повесить на пустое значение. Всё это не важно. Главное, чтобы после этого (и до смены политики) в учете в движениях и на остатках не возникало других значений партии. Даже дорабатывать списание по партиям не придётся — т.к. пустая (или служебная) партия — это тоже значение и оно вполне может списываться в любом порядке (ведь оно одно).
3. Вы правильно понимаете, новые документы, образующие партии в режиме списания ПО СРЕДНЕМУ не должны себя подставлять в поле «Партия». А насчет пустого значения: всё зависит от того, что вы выберете в п.2 для хранения одной средней партии. Если это будет служебный документ — то и новые партии должны будут использовать его — причём то же самое значение. А предопределенных документов в 1С не бывает. Поэтому проще использовать пустое значение (важно только различать пустую ссылку и неопределено, в учебных задачах, кажется, нет партий, образующихся в одном регистре несколькими видами документов, значит — составного типа партии не будет — значит будет пустая ссылка типа документа «Приходная накладная»).
1.Соответсвенно — я ответил на этот пункт в предыдущих. Формально — здесь ничего не изменится — спсиывайте ту партию, которую получите из остатков основным механизмомо. Просто в режиме политики ПО СРЕДНЕМУ — там всегда будет одна партия (на которой будут висеть все остатки товара; например — пустая ссылка) — её алгоритм автоматически и подставит в движения. Вы же списываете с данных реальных остатков.
4. Хм… странно, что не возник ещё один важный вопрос.
А что делать с партией в остатках, когда из политики списания ПО СРЕДНЕМУ снова перейдут на политики ФИФО или ЛИФО?
А всё просто. Ничего не делать 😉
Как я уже сказал — служебная партия или пустая партия — это тоже партия. И она прекрасно будет списываться по ФИФО или ЛИФО наряду с другими партиями.
Уточнение: при упорядочивании партий по моменту времени — момент времени пустой партии в запросе — будет NULL (т.к. реально его нет и в объектной модели это будет ошибка выполнения). И этот NULL прекрасно упорядочивается по возрастанию/убыванию, как наименьшее значение. Так что ничего при списании переделывать не нужно.
(16) Pechenuych_ka,
в одной статье говорят что правильно вот так: НоваяЗапись.Сумма = ?(Выборка.КоличествоДокумент = Выборка.КоличествоОстаток, Выборка.СуммаОстаток,
Окр(Выборка.КоличествоДокумент / Выборка.КоличествоОстаток,2) * Выборка.СуммаОстаток);
Однако если делать по вашей формуле и не ставить округление, то нужно поменять местами слагаемые, чтобы копейки не зависали, вот так: НоваяЗапись.Сумма = Выборка.КоличествоДокумент * Выборка.СуммаОстаток / Выборка.КоличествоОстаток;
Понравилась схема решения билета с объектами,так в принципе и готовится можно,из решенных задач выписать все объекты и потом запоминать либо прорешивать.даже шпаргалки так делать можно)
Спасибо за статью, готовлюсь к экзамену.