Решенные билеты на 1С: Специалист по Платформе 8.3 (2018 г.)
Не так давно сдал экзамен на 4. На подготовку ушло немало времени и сил. Предварительно собирал информацию с известных форумов, также фирма, в которой я работаю, оплатила мне курс по подготовке к сдаче экзамена (преподаватель - Белоусов).
Т.к. практика показала, что на дистанционных экзаменах выпадают только первые 6 из 15 актуальных билетов, я рекомендую скачивать только их (но только тем кто сдает дистанционно). Релиз платформы, на котором велась разработка, - 1С:Предприятие 8.3 (8.3.10.2252).
П.С. - В архивах содержатся пошаговые описания решения каждого из билетов и .cf-файлы (кто скачивал архив до обновления - напишите мне в ЛС). Дополнительные задачи, которые не учтены в актуальных билетах, но которые добавлены в билетах на самом экзамене, тоже учтены и реализованы в моих решениях (в билетах с 1 по 6). Сами тексты задач в архиве отсутствуют, но ведется нумерация билетов, по которой можно идентифицировать задачу из списка актуальных билетов.
Скачать файлы Специальные предложения- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(0)Добрый день, не так давно ездил на сдачу(пока результат не известен) попался 4-й билет с нестандартной задачей по расчетам "Сутки через двое", есть она в вашем решении?
Часть текста Начисления зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонения.Каждый сотрудник может работать в нескольких подразделениях компании, то есть совместительство допускается. Сотрудник каждого подразделения работают в три смены по графику "Сутки через двое". Сотрудник предприятия получают оплату по часовому тарифу.Сумма начисления по тарифу определяеться как тарифная ставка, умноженная на количество отработанных часов. В течении расчетного периода тарифная ставка задается для каждой смены отдельно и может изменяться не чаще чем один раз в месяц. Но бе.. расчетного периода. В информациооной базе необходимо хранить историю изменения. Руководителям подразделений дополнительно выплачивается примия в виде процента от суммы начислений по тарифу за предыдущий месяц и т.д.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Здравствуйте, не хотелось бы сдавать таким образом, толку от такой подготовки мало.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(36) У кого еще такая же проблема? Напишу в поддержку.
Сейчас сам попробовал скачать - все норм, и архив открывается и содержимое запускается.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Или я что-то не так понял?
2 ) По поводу списания - не увидел в алгоритме проведения проверку с этими символами сравнения "< code">
Но это необходимо для вывода сообщения пользователю и если условие = истина тогда отменяем проведение документа.
Опять же, я быстро просмотрел алгоритм - действительно мог не заметить (поисковик тоже ничего не выдал)
- Скопировать ссылку
- Перейти
Но здесь вы используете новую методику проведения и явно записываете движения документа:
А значит, система не должна этого делать автоматически и строка 1 не нужна.
2. По этой же причине не требуется удалять существующие движения документа путём записи пустого набора (строка 3). Эти движения замещаются при явной записи набора. Удалять их вручную нужно только в случае, если нам надо получить данные регистра до записи, т.е. при традиционном проведении.
3. Перед проведением документа по регистру СебестоимостьПродаж имеет смысл проверить, пройдена ли проверка остатков по предыдущему регистру:
4. В последнем запросе при соединении двух временных таблиц вы проверяете поле Партия на NULL:
ЕСТЬNULL(ТПартий.Партия, НЕОПРЕДЕЛЕНО) КАК Партия,
Но здесь же обращаетесь к полю Партии через точку без всякой проверки:
ТПартий.Партия.МоментВремени КАК ПартияМоментВремени,
5. В этом же запросе формируются итоги поля КоличествоОстаток, но далее они нигде не используются.
6. Для выполнения требования группировки объектов по виду (Документы, Справочники и т. д.) в командном интерфейсе подсистемы вы используете вложенные подсистемы. Вместо этого лучше применять объекты конфигурации «Группы команд».
- Скопировать ссылку
- Перейти
(48) Добрый день! Прежде всего благодарен за очень содержательный вопрос/комментарий!
1. Прежде всего нужно было просмотреть алгоритм проведения целиком, если обратили внимание - внизу идет запрос в наш регистр для сбора данных для контроля остатка и именно из-за этого сперва необходимо было очистить наш набор, а после явно записать новый (но эту логику каждый может переписать по своему, ошибок тут нет).
2. Тут так же все понятно из первого моего комментария.
3. Так мы ее уже сделали (см в модуле под явной записью в регистр нового набора):
4 И 5. Похвально, Плюсую за внимательный разбор алгоритма.
6. Тут уже по выбору и предпочтениям каждого, если кто-то вообще не выполнит группировку - экзаменатор снимет 0,5 балла.
Легкой Вам подготовки и удачи на экзамене!
- Скопировать ссылку
- Перейти
(49) Спасибо за ответ!
1,2 - Если я правильно понимаю, при явной записи набора существующие записи автоматически удалаются (при значении первого параметра функции Записать() по умолчанию). Контроль остатка у вас происходит после вызова этой функции, т.е. дополнительно очищать записи не требуется.
Движения.ОстаткиНоменклатуры.Записывать = Истина - относится к стандартной автоматической записи движений и здесь можно обойтись без этой строки.
3. Я имел ввиду, что если контроль остатков по первому регистру не пройден, то дальнейшее выполнение процедуры не имеет смысла. Если Отказ = Истина, то запрос к регистру СебестоимостьПродаж уже можно не делать.
Добавлю, что я пишу это не с целью критики, а для того, чтобы самому лучше понять ваш алгоритм. Ещё раз спасибо за помощь в подготовке.
- Скопировать ссылку
- Перейти
(50) Теперь я понял про какую строчку кода Вы говорили, да - это конечно не является ошибкой, но и надобности в ней нет, согласен. Я не посчитал Ваши комментарии как грубую критику - наоборот, комментарии помогают остальным пользователям (сам многое узнаю из комментариев к публикациям). Про прерывание процедуры при возникновении Отказа - мне нравится (вопрос к оптимизации и весьма дельный совет для всех сдающих).
Правильные действия при подготовке - это понять условие задачи и пользуясь подобными решениями написать свой идеальный алгоритм! Мое отношение к таким комментариям только +1 .
- Скопировать ссылку
- Перейти
Посмотрел задачу по БУ из билета №1.
Отличная реализация алгоритма списания по партиям! Требование списания себестоимости как средней по всем срокам годности (и "проблема копеек") делает алгоритм не совсем тривиальным.
Проведение Расходной накладной: 1. Блокировки регистра бухгалтерии по счетам ПрибылиУбытки и Покупатели, на мой взгляд, не нужны. Мы не читаем данные из регистра в разрезе этих счетов перед записью, и проблем одновременного доступа здесь нет.
2. В запросах к таблице Остатков регистра бухгалтерии не обязательно использовать функцию "ВЫРАЗИТЬ()" для субконто. Типы субконто мы передаём в параметре &ВидыСубконто виртуальной таблицы.
3. Для полей ресурсов (СуммаОстатокДт, КоличествоОстатокДт) не хватает проверки на NULL.
Отчет по остаткам: В первом варианте отчета, опять же, не нужна функция ВЫРАЗИТЬ(). Во втором варианте группировки по номенклатуре и проверки на NULL не нужны.
- Скопировать ссылку
- Перейти
(53) Доброго времени суток! Спасибо за положительный отзыв. Похвально, что так основательно подошли к вопросу подготовки и не торопитесь быстро прорешать все билеты!
1. На данный вопрос пока не готов ответить, нет возможности пробежаться по алгоритму, а на память не вспомню, отвечу попозже.
2. Верно, За порядок субконто отвечают указанный массив ВидыСубконто, не ругайтесь сильно, это уже дело привычки. Раньше просто я писал через выразить постоянно, а Белоусов научил, что через параметр ВидыСубконто более правильно, но это конечно ошибкой считаться не будет, а так..ненужная моя перестраховка.
Отчет так же посмотрю позже.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Во-первых, решения не соответствуют в полной мере тем задачам, которые сейчас представлены в актуальных билетах . Даже в первых 6 билетах, попадающихся дистанционно сдающим, есть известные нововведения, которые здесь просто не реализованы (например, расчет зарплаты прямо из документа, документ Выплаты зарплаты и т.д.).
Во-вторых, решения содержат кучу ошибок: 1) Номенклатура.ВидНоменклатуры– неявный запрос, а он у вас в одном цикле и ниже еще в одном. Это запрос в цикле! Очень грубая ошибка. Сразу -2 балла! 2) Зачем блокировать по стольким счетам регистр бухгалтерии в расходной? Излишние блокировки. 3) При установке пометки на удаление документа Операция, проводки остаются активными, это неправильно, за это тоже зачастую снижают оценку на экзамене. 4) В расходной накладной сумма, которую вы вычитаете из переменной СуммаСписания, может разойтись с суммой, которую мы пишем в регистр (из-за различной точности). Это может привести к зависшим копейкам в регистре. Могут снять до 2 баллов сразу! 5) В ПВР ДопНачисления базовым указан и ПВР ДопНачисления, для чего? Там нет никаких базовых видов для этого ПВР. 7) Пользовательских данных нет, выложены лишь CF ники, понять, например, как заполнять правильно регистр адресации нельзя. 8) Задачи текущего пользователя должны быть на рабочем столе, у Вас их там нет.
Это всё только в первом билете. Даже страшно представить, чему научаться люди на таких решениях.
- Скопировать ссылку
- Перейти
1) Моя ошибка, из множества решений выбрал тот в котором вид номенклатуры попал в цикл - это одно из первых моих решений, которые были реализованы до курсов у Белоусова (на своем курсе он неоднократно указывал на такие ошибки), и Вы молодец, что ее заметили. Запрос в цикле это очень серьезная ошибка и остальных так же прошу быть бдительными к этому вопросу. Если кому-то я уже успел навредить этими строками кода - искренне прошу меня простить. Большое спасибо santa56, Вы единственный кто это заметил и сообщил о грубой ошибке. Код который должен был попасть в конфигурацию должен был быть таким:
5) Согласен, забыл снять галочку с ДопНачислений, она стоит по умолчанию в каркасной конфигурации, но ошибкой не является. 6) Не вижу комментария под пунктом 6. 7) Пользовательские данные будут уже на днях (уже вернулся домой). 8) Согласен, для полного завершения БП следует отобразить его на рабочем столе, думаю с этим ни у кого проблем не возникнет. Для меня основная цель была в том, чтобы реализовать основные задачи
Давайте и дальше доводить до идеала решения. Понимаю, что у каждого свой стиль программирования, но ведь общие ошибки которые по какой либо причине не замечают экзаменаторы мы можем заранее поправить и тем самым не дадим им возможности "придраться" к чему либо.