Всем доброго дня! Или доброго вечера!
Экзамен я сдавал удаленно в Ростове-на-Дону.
Первая попытка 22 июня. Попался 5 билет с бизнес-процессами, видоизменена задача по периодическим расчетам. Ответ пришел 27 июня, на 2 рабочий день. Оценка: 2. Комментарии:
Вопрос № 2
Неверно производится очистка движений при проведении; неверно производится проверка на наличие авансов в приходе денег, условие в запросе вместо параметров ВТ; не полностью установлены блокировки в РН; лишнее условие в запросе
Вопрос № 3
Себестоимость учитывается неверно; в отчете неверное соединение в запросе
Вопрос № 4
Неверно организовано совместительство; штраф считается неверно; при расчете продаж нет отбора по подразделениям
Что могу сказать по поводу комментариев:
- Очистку движений делал вот таким образом для "новой" методики проведения:
// Ставим маркер записи, который снимется после записи коллекции
Движения.ОстаткиНоменклатуры.Записывать = Истина;
// Очищаем то, что возможно может находится в коллекции в памяти (при отрыти формы)
Движения.ОстаткиНоменклатуры.Очистить();
// Блокируем необходимые нам записи регистра на чтение, выключив режим использования РазделителяИтогов
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
По "старой" методике - так:
// Т.к. запрос по складам будет на МоментВремени, то при оперативном перепроведении в остатки попадут движения документа - удаляем их
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Движения.СебестоимостьНоменклатуры.Записывать = Истина;
Движения.СебестоимостьНоменклатуры.Очистить();
Движения.Записать();
Иначе
Движения.СебестоимостьНоменклатуры.Очистить();
КонецЕсли;
Движения.СебестоимостьНоменклатуры.Записывать = Истина;
- Себестоимость учитывается неверно. Да, не учел копейки, сообразил как можно было это реализовать только по дороге домой.
- Неверно организовано совместительство. Подразделение надо было все-таки делать измерением и базовым, как изначально и думал, с дури поместил его в реквизит.
- При расчете продаж нет отбора по подразделениям. Надо было указать в параметрах через временную таблицу (как с номенклатурой в оперативном или бухгалтерском учете), не сообразил, что и здесь такое надо.
А вот дальше не знаю, как прокомментировать:
- Неверно производится проверка на наличие авансов в приходе денег. Как надо правильно - не знаю.
Я делал проверку на отрицательный остаток с проектом равным пустой ссылке.
- Условие в запросе вместо параметров ВТ. Не помню, может я где-то все-таки прописал в условие проверку на пустой проект, вместо параметров виртуальной таблицы.
- Не полностью установлены блокировки в РН. И в приходе денег, и в расходной я ставил блокировку только по контрагенту, т.е. по всем проектам.
- Лишнее условие в запросе. Может быть не надо было проверять остаток аванса на отрицательность?
- В отчете неверное соединение в запросе (делал объединение двух оборотных таблиц регистров, поместил во ВремТабл, а потом сгруппировал, чтобы в СКД обойтись без ресурсов; может надо было сделать полным соединением?.
- Штраф считается неверно. Расчет штрафа надо было организовать как количество минут опазданий (указывается как параметр в табчасти документа) умноженный на 500 руб. Наверное, надо было расчет сразу в документе делать при проведении, без переноса этой процедуры в общий модуль по этому виду расчета.
Вторая попытка 6 июля. Попался 4 билет с бизнес-процессами, чуть-чуть видоизменена задача по периодическим расчетам.
Сегодня (17 июля) пришел ответ, т.е. на 8 рабочий день. Результат: 4.
Комментарии:
В приходной накладной признак отношения номенклатуры к услуге получается в цикле.
Делал так:
Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл
Если Не ТекСтрокаСписокНоменклатуры.Номенклатура.ЭтоУслуга Тогда
Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаСписокНоменклатуры.Номенклатура;
Движение.Количество = ТекСтрокаСписокНоменклатуры.Количество;
КонецЕсли;
КонецЦикла
Получается, что надо делать запрос с условием по табчасти поступления.
По поводу очистки движений, то на это раз делал просто:
// Т.к. это конфигурация для управляемых форм, при открытии коллекция движений пустая - просто записываем ее, т.о. очищая старые движения
Движения.ОстаткиНоменклатуры.Записать();
// Ставим маркер записи
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Этот вариант получается подходит!
По поводу камер, да следят. Да, иногда могут зайти в кабинет. Но можно выйти свободно покурить или в туалет. А там подсмотреть на заранее подготовленные шпаргалки. На всякий случай я тоже готовил такие на бумаге-гармошке:
- код вывода диаграммы Ганта;
- формирование сторнирующих записей;
- код разбивки записи расчетов при переходящих периодах.
Благо, не пригодилось...
Как готовился:
- решал все 15 билетов, на 1 день - 1 билет;
- решал, сразу засекая время;
- записывал ошибки, которые я постоянно допускал;
- после прочтения билета. сначала формировал типа схемы реляционной базы (мне так проще далее вести разработку);
- оперативный учет выполнял сразу с бухгалтерским, т.к. метаданные пересекаются (опять же мне так проще).
Во вложениях пример схемы, которую я делаю постоянно.
Из постоянно допускаемых ошибок получился такой список:
- не забывать про ЕСТЬNULL();
- ставить проверку деления на 0 при расчете себестоимости;
- не забыть создать док. Операция;
- поставить запрет оперативного проведения док. начисления зарплаты;
- записывать набор начислений с такими параметрами Набор.Записать( , , Ложь);
- проставить все флажки в командном интерфейсе каждой подсистемы (в том числе и во вложенных подсистемах);
- если указывается "за период..." то зависимость по базе по периоду действия, если "в том же периоде..." - зависимость по периоду регистрации.
Этот список я запомнил на память, и как только сел за стол, сразу его написал на бумаге и обвел в рамочку. В конце работы и прошелся по этому списку, таким образом проверив себя сам.
Кстати, по поводу бумаги: с собой брать не обязательно, всем сдающим выдается памятка+инструкции сдающего а 3 листах. Обратная сторона - чистая. На ней можно писать. И эти листы можно с собой забрать. Во вложениях сканы этих листов (пардон за сложенный первый лист).
Спасибо большое всем участникам форума! Спасибо Павлу Чистову! Спасибо всем, кто выкладывает свои работы и свои комментарии - вы очень помогаете другим!
И удачи все сдающим!!!