Форум Чистова. Подготовка к экзаменам 1С

Аттестация "1С:Специалист" => Аттестация "1С:Специалист по платформе 1С:Предприятие 8.3 и 8.2" => Тема начата: Jones от Сентябрь 24, 2015, 10:00:33 am

Название: Билет 13. Спец по платформе V8
Отправлено: Jones от Сентябрь 24, 2015, 10:00:33 am
13 билет готов. Очень интересный экземпляр, много спорных моментов. Предлагаю обсудить.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Сентябрь 24, 2015, 10:09:01 am
ОУ

Задача из сборника 1.31. Оборудование, СрокГодн и СрокЭкс

Начал делать задачу на одном регистре Оборудование: Номенклатура, СрокГодн, СрокЭкс, Колич, Сумма.
Но дойдя до Себестоимости, вдруг прозрел, что она должна считаться в среднем по Номенклатуре. Переделал. Вынес Сумму в отдельный регистр Себестоимость: Ном, Колич, Сумма.
Считаю, в этом заковыка данной задачи. Будьте внимательны.

В документе Выбытие хотел было для блокировки получать Номенклатуру, но потом просил это дело и заблокировал регистр только по диапазонам СрокГодн и СрокЭкс. Как думаете, это нормально? Или может надо как-то извращаться, получать сначала список Номенклатуры, блокировать по ней регистр, а уже затем получать остатки? Вот бы узнать, что об этом думают экзаменаторы…

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



БУ
В сборнике такой задачи не нашел.

Долго парился со списанием Деталей вместо Комплектов, указанных в РН и просто Деталей, указанных в ТЧ документа. Проклятый перфекционизм настаивает, что все надо сделать «по человечески», но здравый смысл подсказывает, что на экзамене не будет времени доводить систему до ума.
В общем, плюнул на все и тупо запретил в РН списание Деталей. Как думаете, так пойдет?

Отчет создается очень просто благодаря тому, что Комплект записываю на Субконто1 счета Прибыли, причем и по Дт и по Кт.
Однако, если в проводках на сумму продажи это логично, ведь продается Комплект,
то при списании себестоимости Деталей записывать Комплект в Субконто1 счПрибыли – это уловка ))

ПриЗаписи Операции избавился от лишней записи Набора. Теперь он записывается только если его активность была изменена. Период в движениях заполняется датой документа только если он от нее отличается.



ПР

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

Самыми сложными для понимания у меня остаются задачи на получение базы с отбором по разрезу, как, например, в этой задаче. Для себя решил, на экзамене запрос по ПремииНачальника вслепую делать не буду. Сформирую его в консоли, когда уже будет готов расчет Надбавки.
Связал базовый регистр с основным по «Подразделению», т.к. базу (сумму Надбавки) надо получать только для тех сотрудников, которые работают в одном подразделении с Начальником.
Установил получать базу в разрезе «Сотрудник», благодаря чему поле СотрудникРазрез стало доступно для выборки данных.
Поскольку получить надо наибольшую из надбавок, начисленных Сотрудникам, то сгруппировал РезультатБаза, получая Максимум из них. Так для каждой строки документа была получена сумма наибольшей Надбавки среди сотрудников подразделения.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Zeskord от Октябрь 25, 2015, 04:37:42 pm
Интересуюсь только разделом СПР, есть вопросы.
1. В вашем решении ПВР ДН зависит по периоду действия от ПВР ДН, но ПВР ДН не использует период действия. Почему именно так? Почему не по периоду регистрации?
2. Зачем справочник Бригады? Что мешало использовать справочник Подразделения?
3. Почему в регистре ОН измерение "Сотрудник"? Мы все равно в рамках этой задачи не получаем базу, почему сотрудник именно измерение, а не реквизит?
4. Почему в регистре ДН измерение "Сотрудник"? Ведь мы связь с базой делаем по подразделению. Конечно, оно и так будет работать, но все же.
5. Дополнительные начисления в документе могут быть введены только за тот же месяц, в котором дата документа. А как же уловие "В одном документе могут быть данные за разные расчетные периоды"? Если это условие выполнить, то получение базы не будет выглядеть так просто :)
6. Зачем перед расчетом премии начальника заново получать набор записей? У нас же до сих пор жива переменная НабЗап от расчета премии сотрудника.

Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 27, 2015, 01:27:03 pm
При передаче оборудования в эксплуатацию... В том случае, если срок годности истек или оборудования недостаточно, документ не проводится и выдается соответствующее сообщение.

Как реализовать эту проверку на срок годности при передаче в эксплуатацию.
Допустим в документе для оборудования указана 1 шт., на складе есть две единица этого оборудования. Одна просроченная, другая нет. Всё равно весь документ отказываемся проводить?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 27, 2015, 02:02:32 pm
Допустимо ли писать блокировку по пустой дате?

    Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОборудованиеВЭксплуатации");
    ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатации", Дата(01,01,01));
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.ИсточникДанных = Товары;
    ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
    Блокировка.Заблокировать();
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 02:14:07 pm
Толи я, ото всех этих задач, совсем приехал, толи формулировка ОУ задачи этого билета кажется мне самой «удачной», в плане сложности для понимания, из всех задач по ОперУчету.
Считаю, составители билетов постарались на славу ))

Что надо делать, я сформулировал для себя следующим образом:

В справочник Номенклатура добавить рекизит СрокЭксплуатации (число дней)
В ПН добавить в ТЧ реквизит СрокГодности (тоже число в днях)

Добавить регистр остатков Оборудование
измНоменклатура
измСрокГодн
измСрокЭкс
ресКолич

т.к. Себестоимость, по заданию,  средняя по Номенклатуре (а не по срокам), то добавляем второй рег остатков Себестоимость
измНоменклатура
ресКолич
ресСумма

Док ПН приходует в оба регистра.
СрокГодн=ДатаДок+(ТЧ.СрокГодн*СекундВДне)
СрокЭкс оставляем пустым, т.е. оборудование после покупки попадает в неприятое в эксплуатацию

Док ВводВЭкс регистр Себестоимость не трогает.
Получает остатки оборудования, еще годного, но невведенного в экспл:
СрокЭкс=Дата(1,1,1) и СрокГодн > ДатыДок
Упорядочить по СрокуГодн
Списывать Оборудование без СрокаЭксплуатации,
приходовать СрокЭкс=Дата+(Ном.СрокЭкс*СекундВДне)
Контроль остатков по тарой методике, блокируем рег Оборудование с отбором по Номенклутуре из ТЧ

Док Выбытие списывает Себестоимость и Оборудование
Рег Себест блокирую целиком, рег Оборудование блокирую с отбором по СрокГодн и СрокЭкс в диапазонах от начала времен до ДатыДок.
Получить остатки Оборудования:
1)в экспл и СрокЭкспл истек или СрокГодн истек
2)невведенное в экспл и СрокГодн истек
3)Плюс для Номенклатуры получить Себестоимость
Сгруппировать по Номенклатуре
Обходя ВыборкуНом списать Себестоимость (всю или частично)
В ВыборкеОборуд списать Оборуд+СрокГодн+СрокЭкспл

Отчет по ОборудВЭкспл получает остатки рег Оборуд
с отбором СрокЭкс<>Дата(1,1,1)
+ надо получить из рег Себестоимость Цену=Сумма/Кол
Сумма=Колич*Цена
ОставшийсяСрокГодн=РазностьДат(СрокГодн, ПериодОтчета, День)
ОставшийсяСрокЭкс=РазностьДат(СрокЭкс, ПериодОтчета, День)


Решение ОУ прикладываю
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 02:16:53 pm
При передаче оборудования в эксплуатацию... В том случае, если срок годности истек или оборудования недостаточно, документ не проводится и выдается соответствующее сообщение.

Как реализовать эту проверку на срок годности при передаче в эксплуатацию?

HRom, эта замысловатая формулировка на самом деле означает, что
оборудование со СрокомГодн <= ДатеДок не должно попасть в выборку запроса ))
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 02:19:22 pm
Допустимо ли писать блокировку по пустой дате?

    Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОборудованиеВЭксплуатации");
    ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатации", Дата(01,01,01));
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.ИсточникДанных = Товары;
    ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
    Блокировка.Заблокировать();


Похоже, надо использовать диапазоны. Например, как у S_A_E (http://forum.chistov.pro/index.php?topic=2670.msg41580#msg41580)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 27, 2015, 02:27:47 pm
Jones,

Спасибо за ответы.
Подглядел в твоём решении так и сделано.

Только обрати внимание про блокировку идёт речь о документе "ВводВЭксплуатацию". Когда мы выбираем остатки с незаполненным сроком эксплуатации. Я пытаюсь блокировать именно по пустой дате, а не диапазону. Вот меня и терзают смутные сомнения насчет пустой даты.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 09:56:34 pm
речь о документе "ВводВЭксплуатацию". Когда мы выбираем остатки с незаполненным сроком эксплуатации

Все, понял тебя, HRom. Действительно, у меня в доке ВводВЭксп блокировка регистра Оборудование была ограничена лишь Номенклатурой, но ведь мы получаем Оборудование для списания еще и с отбором по СрокЭкс=Дата(1,1,1) и по СрокГодн>ДатыДока
Прорешал весь билет еще раз, в новой версии учел этот момент, добавил две строки:
Эл.УстановитьЗначение("СрокГодн", Новый Диапазон(Дата, Дата(3999,1,1)));
Эл.УстановитьЗначение("СрокЭкс", Дата(1,1,1));

Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 10:22:36 pm
Еще раз прорешал 13 билет, на этот раз многое сделал по другому.

Про ОУ задачу отписал выше.

БУ задачу прорешал как у S_A_E (http://forum.chistov.pro/index.php?topic=2670.msg41580#msg41580)
Вчитался в задание и обнаружил, что там нет фразы «Сами комплекты определяются в справочнике «Номенклатура» наравне с обычными товарами», поэтому можно запросто сделать Комплекты отдельным справочником. Надо признать, это серьезно упрощает работу, поэтому БУ задача показалась довольно простой.


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

Разные расчетные периоды реализованы благодаря ПериодуРегистрации в ТЧ документа.
При первичной записи движений определяю Начало и Конец периода, за который затем будут получены Продажи.
Далее получаю Продажи за этот период, причем с периодичностью Квартал, т.е. теперь можно получить Продажи нужной бригады за нужный Квартал, что нам и требуется.

ПремиюНачальника получаю благодаря разрезу Сотрудники, а в измерения базового и основного регистра записываю Бригаду. Интересно, что Бригада может выступать измерением основного и базового регистра, хотя на самом деле Бригада измерением не является, это реквизит.
Получая максимальную Надбавку, исключаю Надбавку, полученную самим начальником, хотя по условию задачи этого делать было не нужно. В условиях реального экзамена так делать не стану, дабы не гневить богов 1с

В целом ПР задача ясна, но времени на отладку требуется очень уж много. Не представляю, что можно будет сделать на экзамене, если, не дай бог, терминал начнет подвисать.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Октябрь 27, 2015, 10:41:47 pm
1. В вашем решении ПВР ДН зависит по периоду действия от ПВР ДН, но ПВР ДН не использует период действия. Почему именно так? Почему не по периоду регистрации?
Согласен. Базовые записи ПремииНачальника (записи Надбавки) не имеют ФактическогоПД, поэтому зависимость по ПД бессмысленна. В новом решении указал зависимость по ПР.

2. Зачем справочник Бригады? Что мешало использовать справочник Подразделения?
По-моему, в задании сказано именно про Бригады, а Подразделения не упоминаются.

3. Почему в регистре ОН измерение "Сотрудник"? Мы все равно в рамках этой задачи не получаем базу, почему сотрудник именно измерение, а не реквизит?
Zeskord, Вы совершенно правы, Сотрудник должен быть именно реквизитом т.к. в задании сказано: "Каждый сотрудник может работать одновременно только в одной бригаде, то есть совместительство не допускается"

4. Почему в регистре ДН измерение "Сотрудник"? Ведь мы связь с базой делаем по подразделению. Конечно, оно и так будет работать, но все же.
Пока не втречал решений, где Сотрудник не был бы измерением всех используемых РР. Не хочу на экзамене выступать новатором.

5. Дополнительные начисления в документе могут быть введены только за тот же месяц, в котором дата документа. А как же уловие "В одном документе могут быть данные за разные расчетные периоды"? Если это условие выполнить, то получение базы не будет выглядеть так просто :)
Да, было такое упущение. Теперь разобрался, что ПериодРегистрации надо делать в ТЧ, а относительные периды для расчета брать уже от него. В крайнем решении учел эту формулировку задачи.

6. Зачем перед расчетом премии начальника заново получать набор записей? У нас же до сих пор жива переменная НабЗап от расчета премии сотрудника.
Моя ошибка, результат копипаста. В крайнем решении от этой схемы избавился, в процедуру РасчетНачислений() передаю Движения.ОН и Движения.ДН, а их читать вообще не надо.

Zeskord, я очень признателем Вам за серьезный комментарий. Чувствую, как грамотная критика указывает мне путь к познанию платформы.



Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 28, 2015, 01:20:48 pm
Продажи бригады за предыдущий квартал вынес в регистр накопления, хотя по хорошему их надо бы получать со счета

А почему лучше со счета?
Я бы вообще Регистр сведений забахал, в него данные можно руками вбивать. Не надо описывать никаких доп.движений.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 28, 2015, 01:35:56 pm
Jones,

и у тебя и у Sae в расчетной задаче не реализовано:

В одном документе могут быть данные за разные расчетные периоды.


        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   НачислениеЗарплатыОсновныеНачисления.Сотрудник,
        |   НачислениеЗарплатыОсновныеНачисления.Бригада,
        |   НачислениеЗарплатыОсновныеНачисления.ВидРасчета,
        |   НачислениеЗарплатыОсновныеНачисления.Размер КАК Размер,
        |   НачислениеЗарплатыОсновныеНачисления.ДатаНачала КАК ПериодРегистрации,
        |   НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, МЕСЯЦ) КАК БазовыйПериодНачало,
        |   КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, МЕСЯЦ) КАК БазовыйПериодКонец,
        |   СУММА(ЕСТЬNULL(ПродажиПоБригадам.Продажи, 0) * НачислениеЗарплатыОсновныеНачисления.Размер) КАК Результат
        |ИЗ
        |   Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиПоБригадам КАК ПродажиПоБригадам
        |       ПО НачислениеЗарплатыОсновныеНачисления.Бригада = ПродажиПоБригадам.Бригада
        |           И (ПродажиПоБригадам.Период МЕЖДУ НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, КВАРТАЛ) И КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, КВАРТАЛ))
        |           И (НачислениеЗарплатыОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.Надбавка))
        |ГДЕ
        |   НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка
        |   И (НачислениеЗарплатыОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.Надбавка)
        |           ИЛИ НачислениеЗарплатыОсновныеНачисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.ПремияНачальника))
        |
        |СГРУППИРОВАТЬ ПО
        |   НачислениеЗарплатыОсновныеНачисления.Сотрудник,
        |   НачислениеЗарплатыОсновныеНачисления.ВидРасчета,
        |   НачислениеЗарплатыОсновныеНачисления.Бригада,
        |   КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, ДЕНЬ),
        |   НачислениеЗарплатыОсновныеНачисления.ДатаНачала,
        |   КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, МЕСЯЦ),
        |   НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, ДЕНЬ),
        |   НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, МЕСЯЦ),
        |   НачислениеЗарплатыОсновныеНачисления.Размер";
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Zeskord от Октябрь 28, 2015, 01:55:12 pm

А почему лучше со счета?
Я бы вообще Регистр сведений забахал, в него данные можно руками вбивать. Не надо описывать никаких доп.движений.
Я бы побоялся делать так на экзамене, ибо "ошибка при проектировании структур регистров". Очень трудно будет доказать, что данные о продажах должны храниться в РС.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 28, 2015, 02:24:13 pm

А почему лучше со счета?
Я бы вообще Регистр сведений забахал, в него данные можно руками вбивать. Не надо описывать никаких доп.движений.
Я бы побоялся делать так на экзамене, ибо "ошибка при проектировании структур регистров". Очень трудно будет доказать, что данные о продажах должны храниться в РС.

Сделал на регистре накопления. Пойдет?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: HRom от Октябрь 28, 2015, 02:46:43 pm
Jones,
ты когда считаешь базу для премии начальника, то берешь базу с отбором Регистратор = &Ссылка, а на самом деле по бригаде может быть несколько документов НачислениеЗарплаты. И сотрудник с максимальной надбавкой совсем не обязательно будет в том же документе, где вы премию считаете.

НачислениеЗарплаты№1
Вася Пупкин Надбавка = 150 тыс. Бригада №1

НачислениеЗарплаты№2
Павел Чистов Надбавка = 10 тыс. Бригада №1, премия = 10тыс*Процент. А тем временем максимальная надбавка по сотруднику из его бригады была в НачислениеЗарплаты№1.


 
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Jones от Ноябрь 06, 2015, 10:56:54 am
Jones,
ты когда считаешь базу для премии начальника, то берешь базу с отбором Регистратор = &Ссылка, а на самом деле по бригаде может быть несколько документов НачислениеЗарплаты. И сотрудник с максимальной надбавкой совсем не обязательно будет в том же документе, где вы премию считаете.
Пожалуй, согласен, все логично.
Если сдавать очно, то можно так сделать, ибо можно защиться. На дистинционке я бы так экспериментировать не стал ))
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 06, 2015, 04:58:20 pm
Jones,
ты когда считаешь базу для премии начальника, то берешь базу с отбором Регистратор = &Ссылка, а на самом деле по бригаде может быть несколько документов НачислениеЗарплаты. И сотрудник с максимальной надбавкой совсем не обязательно будет в том же документе, где вы премию считаете.
Пожалуй, согласен, все логично.
Если сдавать очно, то можно так сделать, ибо можно защиться. На дистинционке я бы так экспериментировать не стал ))
А на мой взгляд, как раз всё правильно было бы. Лишь бы работало корректно.  :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: pewit от Ноябрь 11, 2015, 03:34:29 pm
Посмотрите, пожалуйста! Буду рада любой конструктивной критике!
Название: Re: Билет 13. Спец по платформе V8
Отправлено: venvlad от Ноябрь 19, 2015, 04:27:53 pm
Сумму продаж собираю из физической таблицы.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Quantum81 от Ноябрь 27, 2015, 05:34:13 pm
СПР мудрить с продажами за пред месяц не стал - ввожу в табличной части.
Надбавку и премию поместил  в ДН. База по периоду регистрации, т.к. неизвестно когда может быть введена надбавка, а ПД у неё нету. Надбавка без базы.
ОУ и БУ ОУ и БУ разделили с помощью перечисления ВидНоменклатуры: Оброудование, Комплект, комплектующая.  Везде соответственные отборы.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Zeskord от Ноябрь 29, 2015, 11:22:38 am
СПР мудрить с продажами за пред месяц не стал - ввожу в табличной части.
Надбавку и премию поместил  в ДН. База по периоду регистрации, т.к. неизвестно когда может быть введена надбавка, а ПД у неё нету. Надбавка без базы.
ОУ и БУ ОУ и БУ разделили с помощью перечисления ВидНоменклатуры: Оброудование, Комплект, комплектующая.  Везде соответственные отборы.
Спасибо за решение. После просмотра я понял, что мне нужно полностью переделывать ОУ.
В БУ есть сомнения в правильности регистра сведений. Имхо, автор задачи ждет, что комплект будет ресурсом. И не нужно будет пилить проверки перед записью набора.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: zorky от Декабрь 20, 2015, 11:10:31 pm
Решил 13.
По ОУ задача интересная, признаком "Эксплуатации"  оборудования - является заполненность измерения "КонецСрокаЭксплуатации".    Из нового, Блокировка по "Диапазонам".  Не совсем стандартная задача, чтобы Заэксплуатировать Оборудование - нужно сделать "Расход" и "Приход" с заполнением Измерения...Думал как в НабореЗаписей найти нужную запись, и просто записать Измерение... видимо-никак))))
БУ: Также не стал замарачиваться. Детали-приходую на Склад, комплекты в РС ...
СПР:  Отлично повторил Разрезы ...  Повторил приём, с мин.датой и макс.датой(для оборотов РБ), и выбора нужного оборота с помощью Джойна по периоду, клёво ваще (SAE спасибо!)... а то вначале проскользнула дурная мысль о Запросе в Цикле...)  Запомнил: Измерение ставим - Бригада(Подразделение) - оно будет Одно, Разрез - Сотрудник(все сотрудники этого измерения).  Да, не знал что можно Реквизит ставить измерением получения Базы...  Ещё попарился-нужно вытащить в поля обязательно поле СотрудникРазрез, чтобы работала Агрегатная функция. Но на это поле -также нужно наложить любую Агрегатную функцию. )) 
Билеты собраны вообщем таким образом -что задачки в них самые разные) технологии решений, методики самые различные! и  Поэтому подготовку к экзамену по билетам - считаю не упрощением, а реальной работой по подготовке с осознанием нужных механизмов платформы)))ну, кто прорешивает весь сборник - спору нет, злодеи!  ;-)

Гляньте, отчёты вроде все правильные. Премию - только для Начальника вывожу...(всмысле Надбавку и не просят))))



Название: Re: Билет 13. Спец по платформе V8
Отправлено: cheb73 от Февраль 11, 2016, 06:55:12 pm
ОУ Задача, не понятно почему списывается в цикле,  левым соединение остатки номенклатуры? В условии задачи "Кроме того, этот же документ должен списывать еще не введенное в эксплуатацию оборудование, но срок годности, которого уже истек." Остатки Номенклатуры сами по себе должны проверяться. Сумма себестоимости поэтому хранится в Регистре ОборудованиеВЭксплуатации, По комплектам в ресурсах - тоже спорно, можно наверное и так, но  для меня логичнее хранить  в измерениях и сделать проверку при записи.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: zorky от Февраль 24, 2016, 05:44:48 pm
ОУ Задача, не понятно почему списывается в цикле,  левым соединение остатки номенклатуры? В условии задачи "Кроме того, этот же документ должен списывать еще не введенное в эксплуатацию оборудование, но срок годности, которого уже истек." Остатки Номенклатуры сами по себе должны проверяться. Сумма себестоимости поэтому хранится в Регистре ОборудованиеВЭксплуатации, По комплектам в ресурсах - тоже спорно, можно наверное и так, но  для меня логичнее хранить  в измерениях и сделать проверку при записи.

Мельком глянул старое решение, да лучше переделать. Но вот вопрос, у вас на 2-х регистрах. По идее логично - Оборудование на складе, и оборудование в эксплуатации.  Но ведь можно реализовать на одном регистре, как будет методически правильно, вот вопрос)) Переделывать пока не буду - для себя запомню... (на одном регистре если измерение СрокЭксплуатации заполнен,  - значит оно эксплуатируется.  ПриВводеВЭксплуатацию - заполняем это измерение. При Выбытии проверяем оба измерения СрокГодности и СрокЭксплуатации...

Подскажите, при  ЭлементБлокировки.УстановитьЗначение("СрокГодности",Новый Диапазон(,Дата));
 - Блокируются ОБА одноименных измерения из 2 регистров?


Название: Re: Билет 13. Спец по платформе V8
Отправлено: cheb73 от Февраль 25, 2016, 06:07:32 am
На один конечно, это же другая запись, на ОстаткиНоменклатуры по-идее тоже надо  ЭлементБлокировки.УстановитьЗначение("СрокГодности",Новый Диапазон(,Дата));
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Ads666sda от Март 30, 2016, 12:42:00 pm
Уважаемые специалисты, покритикуйте пожалуйста решение.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Гакусей от Март 30, 2016, 01:24:09 pm
в части спр вроде нормально.
Только вот не пойму, у тебя Бригада не измерение, а реквизит и ты на него накладываешь отбор по измерению
   Измерение = Новый Массив;
   Измерение.Добавить("Бригада");
Неужели такая конструкция работает и отбирает?
По идее, если базу по чему-то получаем, то это измерение.
 
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Ads666sda от Март 30, 2016, 05:10:38 pm
в части спр вроде нормально.
Только вот не пойму, у тебя Бригада не измерение, а реквизит и ты на него накладываешь отбор по измерению
   Измерение = Новый Массив;
   Измерение.Добавить("Бригада");
Неужели такая конструкция работает и отбирает?
По идее, если базу по чему-то получаем, то это измерение.

Да, что-то подтупил, спасибо за замечание.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: axel_work от Апрель 22, 2016, 12:38:08 pm
Плиз критика!

Билет долгий.

Отличия:

ОУ - на 3-х регистрах. Считаю, что использование пустой ссылки как разделителя оборудования и оборудования в эксплуатации методологически неверно. По хорошему, тогда надо вводить измерение-разделитель, которое будет это однозначно определять. Но тогда записей станет больше в регистре.

Еще один плюс - чуть проще отчет делать.

В док. Выбытие блокировки себестоимости по номенклатуре.

БУ - как обычно, только Бригады на счете Покупатели. Мне так удобнее, а поскольку субконто оборотное, вроде ошибкой это быть не может. Продажа только комплектов.

СПР - данные других периодов. Пришлось добавлять реквизит Месяц к РР Доп. начисления. Период регистрации у меня в шапке, а доп. начисления зависят как раз по нему. И если в одном документе (или разных, но с одним периодом регистрации)  делать надбавки / премии за разные периоды, то это соберется в нехорошую кучу.

С разрезами удобно работать получается. У меня их 3 - сотрудник, бригада, месяц.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Aleshka от Май 10, 2016, 04:07:06 pm
Народ! Гляньте пожалуйста Расчетную задачу  :'(  :'( :'(. Не пойму почему в базу для ПремииРуководителю "задваивает" максимальную надбавку по сотруднику бригады :o. Меня глючит или платформу
Текст запроса для получения базы:
Цитировать
   
   Запрос.Текст = "ВЫБРАТЬ
      |   ДопНБазаДопН.НомерСтроки,
      |   ДопНБазаДопН.ВидРасчета,
      |   ДопНБазаДопН.Сотрудник,
      |   ДопНБазаДопН.Подразделение,
      |   МАКСИМУМ(ДопНБазаДопН.РезультатБаза) КАК РезультатБаза,
      |   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДопНБазаДопН.СотрудникРазрез) КАК СотрудникРазрез
      |ИЗ
      |   РегистрРасчета.ДопН.БазаДопН(
      |         &ИзПодр,
      |         &ИзПодр,
      |         &ИзСотр,
      |         ВидРасчета = &Премия
      |            И Регистратор = &Регистратор) КАК ДопНБазаДопН
      |
      |СГРУППИРОВАТЬ ПО
      |   ДопНБазаДопН.НомерСтроки,
      |   ДопНБазаДопН.ВидРасчета,
      |   ДопНБазаДопН.Сотрудник,
      |   ДопНБазаДопН.Подразделение";
   ИзПодр=Новый Массив;
   ИзПодр.Добавить("Подразделение");
   Запрос.УстановитьПараметр("ИзПодр", ИзПодр);
   ИзСотр=Новый Массив;
   ИзСотр.Добавить("Сотрудник");
   Запрос.УстановитьПараметр("ИзСотр", ИзСотр);
   Запрос.УстановитьПараметр("Премия", Премия);
   Запрос.УстановитьПараметр("Регистратор", Док);
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 10, 2016, 07:48:20 pm
Aleshka, в юзерском режиме удалите из списка базовых ВР премии дубль надбавки :) .
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Aleshka от Май 10, 2016, 09:18:40 pm
alex1248,  СПАСИБО!!!  :D, а я уж думаю, какие тут "танцы с бубнами" изобретать, а оказывается вот где "собака порылась"  ;).
alex1248, не сочтите за наглость, в моём решении ничего криминального с точки зрения "ошибок при сдаче" не увидели? ::)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 10, 2016, 10:14:21 pm
в моём решении ничего криминального с точки зрения "ошибок при сдаче" не увидели? ::)
Не увидел, как контролируется уникальность деталей в комплектах.
Больше ничего в глаза не бросилось. Не помню я уже почти ничего, на что надо обращать внимание; самое лучшее - пробежаться по перечню ошибок.  :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Aleshka от Май 11, 2016, 01:36:20 pm
alex1248, СПАСИБО за отзывчивость!  :) 

Цитировать
Не увидел, как контролируется уникальность деталей в комплектах.
Реализовано через подчинение справочник Комплектующие справочнику Комплекты (как у sima http://forum.chistov.pro/index.php?topic=2313.msg27079#msg27079) просто инова правильного варианта не знаю  :-[.

Цитировать
самое лучшее - пробежаться по перечню ошибок.
Это можно, но как известно "в своём глазу не видим и бревна"  ;) - просто глаз замылен.
 
alex1248, ещё раз СПАСИБО.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 11, 2016, 09:56:13 pm
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: axel_work от Май 12, 2016, 09:57:38 am
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

Доброго дня! Мне тоже этот вопрос интересен :) А где (у кого) можно пример оформления посмотреть? По подсистемам и подчиненным подсистемам я раскидываю объекты, а что-то еще надо сделать?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 12, 2016, 11:23:43 am
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

Доброго дня! Мне тоже этот вопрос интересен :) А где (у кого) можно пример оформления посмотреть? По подсистемам и подчиненным подсистемам я раскидываю объекты, а что-то еще надо сделать?
Файл с примерами с сайта 1С скачивали?
Вот на этой страничке.
http://www.1c.ru/spec/questions.htm
Название: Re: Билет 13. Спец по платформе V8
Отправлено: axel_work от Май 13, 2016, 09:54:31 am
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

Доброго дня! Мне тоже этот вопрос интересен :) А где (у кого) можно пример оформления посмотреть? По подсистемам и подчиненным подсистемам я раскидываю объекты, а что-то еще надо сделать?

Файл с примерами с сайта 1С скачивали?
Вот на этой страничке.
http://www.1c.ru/spec/questions.htm

За ссылку спасибо, скачивал этот файл, там же и типовые ошибки расписаны. Но по интерфейсу там мало - что все объекты должны быть разбиты по разделам и доступны из панели навигации + панель действий.  Это все решается насколько я понимаю раскидыванием по подсистемам и подчиненным подсистемам, еще видимость регистров галку поставить и как-то все.

Там панель разделов не сверху, а сбоку, но это примерный вид интерфейса, т.е. не обязательно.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 13, 2016, 10:28:23 am
Aleshka, axel_work, сорри, действительно всё нормально с интерфейсом. Это я неправильно посмотрел.  :)
axel_work, значит, ничего особенного не нужно.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: axel_work от Май 13, 2016, 04:20:05 pm
Aleshka, axel_work, сорри, действительно всё нормально с интерфейсом. Это я неправильно посмотрел.  :)
axel_work, значит, ничего особенного не нужно.

Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 13, 2016, 05:46:26 pm
Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)
Я действительно у Алешки посмотрел неправильно, я так никогда не делаю - рабочие столы закладок появляются только при двойном щелчке, а я переходил обычным способом, как привык делать сам, и как во всех последних конфах. Сначала думал, что как-то некорректно сделано, сейчас уже разобрался.
А вам уже давно сдавать пора, помнится, вы задачник щелкали, когда я только готовиться начал.  :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: axel_work от Май 14, 2016, 06:11:32 pm
Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)
Я действительно у Алешки посмотрел неправильно, я так никогда не делаю - рабочие столы закладок появляются только при двойном щелчке, а я переходил обычным способом, как привык делать сам, и как во всех последних конфах. Сначала думал, что как-то некорректно сделано, сейчас уже разобрался.
А вам уже давно сдавать пора, помнится, вы задачник щелкали, когда я только готовиться начал.  :)

Это да. У меня проблема со скоростью, сейчас решаю на скорость. В ближайшее время планирую :) Что-то действительно затянул как-то :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: SAM от Май 17, 2016, 03:41:13 pm
Доброго времени суток!

Прошу покритиковать мое решение 13-го билета (без БП).
ОУ. Сделал на двух регистрах, признак того, что оборудование в эксплуатации - заполненная дата окончания срока эксплуатации, в общем как в большинстве решений.

БУ Уникальность комплектов обеспечивается за счет подчиненного справочника, не знаю, насколько это верное решение. Возможно, что необходимо завести РС Состав комплекта, с структурой: Измерение -Комплект, Измерение - Деталь, Ресурс - Количество и контролировать уникальность в модуле набора записи.
Самое логичное решение по обеспечению уникальности детали в комплекте - сделать комплект ресурсом, а деталь - измерением в непереодическом регистре сведений оказалось неверным, как сообщил недавно pila86, использовавший подобную структуру РС в задаче билета №6:
Цитировать
В итоге, вердикт: «Неверно организован учет состава комплектов - предполагается поиск по ресурсу регистра».

СПР Сделал как у SAE - сделал Бригаду реквизитом, сомневаюсь, хотя все и работает. Может лучше сделать измерением?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Aleshka от Май 18, 2016, 02:53:49 pm
alex1248,  ещё раз СПАСИБО за ответв!!!

SAM,
Цитировать
сделал Бригаду реквизитом, сомневаюсь, хотя все и работает. Может лучше сделать измерением?
Подразделение (бригада) делается измерением, как мне известно, только в двух случаях:
1-надо обеспечить совместительство (одновременную работу в двух подразделениях)
2-надо получать базу по подразделению
Название: Re: Билет 13. Спец по платформе V8
Отправлено: SAM от Май 18, 2016, 03:13:58 pm
alex1248,  ещё раз СПАСИБО за ответв!!!

SAM,
Цитировать
сделал Бригаду реквизитом, сомневаюсь, хотя все и работает. Может лучше сделать измерением?
Подразделение (бригада) делается измерением, как мне известно, только в двух случаях:
1-надо обеспечить совместительство (одновременную работу в двух подразделениях)
2-надо получать базу по подразделению

Здесь как раз базу получаем по бригаде в разрезе сотрудников. Но и когда бригада - реквизит прекрасно работает.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: freez1301 от Июль 01, 2016, 11:50:00 am
в БУ 2 варианта комплектов. Тот, который на РС КомплектыНоменклатуры - старый, забыл удалить его.

ОУ:
Вариант 1:
РН ОборудованиеНаСкладе, изм. Номенклатура, ГоденДо, рес. Количество.
РН ОборудованиеВЭксплуатации изм, Номенклутра, ЭксплуатироватьДо, ГоденДо, рес. Количество, Сумма
РН Себестоимость, изм. Номенклатура, рес. Сумма
Вариант 2:
РН ОстаткиНоменклатуры, изм. Номенклаутра, Количество, Сумма
РН Оборудование, изм. Номенклатура, ГоденДо, ЭксплуатироватьДо, рес. Количество, Сумма
БУ:
Спр. Комплекты. Реквизит Комплект в спр. Номенклатура
РС Комплекты, изм. Комплект, Номенклатура (связи парам. выбора), рес. Количество
ПС: сч. Товары, Количественный, суб. Номенклатура. Сч. ПрибылиУбытки, суб Номенклатура оборотное
СПР:
РС Графики - стандартный, совместительства нет
ПВР ОН, использует период действия, от базы не зависит. Эл. Оклад
ПВР ДН не использует период действия, зависит от базы по периоду регистрации. Эл. Надбавка, Премия - база Надбавка
РР ОН период действия, связь с графиком. Т.к. базу по нему получать не требутеся - измерений нет. Рес. Результат, рек. Сотрудник, Бригада, Размер
РР ДН базовый период Месяц, изм. Бригада (премия по сотрудникам своей бригады, нужна база по бригаде), рес. Результат, рес. Сотрудник (база в разрезе сотр. для получения максимальной базы), Размер, СуммаПродаж
Название: Re: Билет 13. Спец по платформе V8
Отправлено: al7 от Август 31, 2016, 03:20:02 pm
Посмотрел решение SAE по ОУ, у большинства видимо также, сразу возникли такие вопросы:
1. Почему средняя себестоимость определяется среди всего оборудования, которое как введено в эксплуатацию, так и не введено? У нас допустим станок работал 40 лет, у него в отчете всегда выходила одна сумма, потом закупили новые станки, еще не ввели в эксплуатацию, а у старого в отчете по эксплуатируемому оборудованию сумма сразу увеличилась в несколько раз)
Я так понял, до прочтения ветки, что средняя имеется ввиду среди оборудования с одинаковым сроком годности. Пришла допустим одна партия станков со сроком 01.01.2020, потом вторая с другой ценой но стем же сроком, так вот при их списании в эксплуатацию брать среднюю и хранить в регистре там где сроки.
2. Срок годности лучше наверно делать датой - например 01.01.2020, а не периодом. А эксплуатации - периодом в месяцах, так потому что более принято для оборудования. Это имеется ввиду в документах и в справочнике номенклатуры. А в регистрах все правильно - конечной датой.
3. В разных ли регистрах хранить оборудование на складе и в эксплуатации не понятно - с одной стороны это разные сущности и надо в разных, с другой стороны регистры похожи и можно все запихнуть в один, без ущерба для методологии. Тут надо знать как препод хочет, есть ли кто сдавал этот билет?

Я до прочтения ветки нарисовал 2 таких регистра:
Склад: Изм - Номенклатура, СрокГодности, Рес - Количество, Сумма.
Эксплуатация: Изм - Номенклатура, СрокГодности, СрокЭксплуатации, Рес - Количество, Сумма.    Сумма по средней среди одинаковых сроков.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 01, 2016, 11:49:22 am
Всем привет!
моё решение.
 :)
Покритикуйте, пожалуйста!
Название: Re: Билет 13. Спец по платформе V8
Отправлено: ahang от Ноябрь 02, 2016, 04:52:33 pm
Всем привет!
моё решение.
 :)
Покритикуйте, пожалуйста!

Добрый день!
В ОУ и БУ недопустимо остатки по регистрам получать на Дату документа. В расчетной задаче не понял зачем используется вирт. таблица "врт"
Название: Re: Билет 13. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 03, 2016, 06:49:15 am
Добрый день!
В ОУ и БУ недопустимо остатки по регистрам получать на Дату документа. В расчетной задаче не понял зачем используется вирт. таблица "врт"

То есть лучше:
Запрос.УстановитьПараметр("Дата",?(Режим=РежимПроведенияДокумента.Оперативный,Неопределено,Дата));"врт" - забыл удалить
 :)
Спасибо!
Название: Re: Билет 13. Спец по платформе V8
Отправлено: ahang от Ноябрь 03, 2016, 08:34:13 am
То есть лучше:
Запрос.УстановитьПараметр("Дата",?(Режим=РежимПроведенияДокумента.Оперативный,Неопределено,Дата));"врт" - забыл удалить
 :)
Спасибо!
Вместо значения Дата необходимо использовать МоментВремени(). Отмечу, что это касается корректного получения остатков по РегНакопления и РегБухгалтерии.
Для записи "СрокГодности > &Дата", передавать в параметр Дата значение момента времени не получиться (вылетит ошибка при выполнении запроса), поэтому здесь необходимо передача значение с типом Дата.
Не знаю понятно ли написал, но из кода ниже думаю все станет ясно:

...
|ИЗ
| врт КАК врт
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремени,
| СрокГодности > &Дата
| И Номенклатура В
| (ВЫБРАТЬ
| врт.Номенклатура
| ИЗ
| врт КАК врт)) КАК ОстаткиНоменклатурыОстатки
| ПО врт.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
...
Запрос.УстановитьПараметр("МоментВремени", ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено, МоментВремени()));
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Ссылка", Ссылка);

Название: Re: Билет 13. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 03, 2016, 09:52:54 am
...
|ИЗ
| врт КАК врт
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремени,
| СрокГодности > &Дата
| И Номенклатура В
| (ВЫБРАТЬ
| врт.Номенклатура
| ИЗ
| врт КАК врт)) КАК ОстаткиНоменклатурыОстатки
| ПО врт.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
...
Запрос.УстановитьПараметр("МоментВремени", ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено, МоментВремени()));
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Ссылка", Ссылка);

Точно, видел же в некоторых базах расходки концом дня проводятся. У всех документов расхода время с точностью до секунды одинаковое, в этом случае только МоментВремени() поможет получить актуальные остатки.

Спасибо!  :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 15, 2016, 11:32:32 am
Мой обновленный вариант решения.
Буду рад критике.
 :)

в дополнительных начислениях не использовал БазовыйПериод, так как нужна максимальная сумма надбавки по бригаде, а бригада указана в реквизите справочника ФизическиеЛица, всё равно пришлось бы вытаскивать эту сумму вручную (бригады никак не указываются в регистрах расчета).
Но у SAE решено иначе: бригада - реквизит регистра расчета, базовый период есть, в получении базы он разрезает базу и берет максимум.

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

Как лучше делать? как я или SAE?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: bma от Январь 08, 2017, 03:02:54 pm
Коллеги, дошла до 13-го билета и сейчас в ПЕРВЫЙ раз столкнулась, что просто чисто тупо база по виду расчета ПремияНачальника не собирается. Может кто глянет) Может у меня с платформой чего или я чего не вижу...
Название: Re: Билет 13. Спец по платформе V8
Отправлено: bma от Январь 08, 2017, 03:19:02 pm
erdem.badluev, Вы премию начальника получаете тупо в лоб запросом к табличке с данными - так каждый сможет) Я думаю, такое решение не устроит преподавателя, надо через разрезы делать, и думаю это потому, что это на больших объемах данных быстрее работает через разрез)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: erdem.badluev от Январь 09, 2017, 04:22:30 am
erdem.badluev, Вы премию начальника получаете тупо в лоб запросом к табличке с данными - так каждый сможет) Я думаю, такое решение не устроит преподавателя, надо через разрезы делать, и думаю это потому, что это на больших объемах данных быстрее работает через разрез)
Спасибо!
Название: Re: Билет 13. Спец по платформе V8
Отправлено: bma от Январь 09, 2017, 08:43:49 pm
После 14-го билета поняла, как надо делать 13-й)))) И ошибку исправила и правильный запрос написала. Надо взять базу по Измерениям Бригада, а в Разрезы добавить Сотрудника. Но с разрезами все непросто, надо в выборке обязательно вытащить СотрудникРазрез - только тогда база разрежется и можно взять максимум...  Ну вроде так, мне кажется надо делать... думаю так, вот выкладываю, если кому позырить) Блин, кто это все придумал! Я тоже понапридумываю, а потом все это изучать будут! Логика вообще конечно....
Название: Re: Билет 13. Спец по платформе V8
Отправлено: s0u1941 от Февраль 07, 2017, 06:25:22 pm
Покритикуйте, пожалуйста, СПР
Название: Re: Билет 13. Спец по платформе V8
Отправлено: CeHbKA от Февраль 17, 2017, 03:19:09 pm
Решил задачу по СПР. Вдруг кому интересно
Название: Re: Билет 13. Спец по платформе V8
Отправлено: dimon1210 от Март 10, 2017, 12:42:53 pm
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: MariaVG от Май 09, 2017, 09:59:46 pm
СПР. Все-таки остается вопрос по поводу того, делать ли Бригаду измерением в РР "Доп.Начисления". Да, все работает и при том, что Бригада реквизит. Но в списке частых ошибок на экзамене есть следующая "В задаче получения расчетной базы не оптимизирована скорость отбора по измерениям регистра расчета". В одном из сообщений выше упоминалось, что измерением Подразделение/Бригаду нужно делать в двух случаях: 1) есть совместительство или 2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен. Может быть, у кого-нибудь есть ссылка на теорию, где что-нибудь говорится насчет этого пункта? Если руководствоваться общими соображениями: когда не делаем Бригаду измерением, виртуальная таблица базы будет возвращать для каждой бригады исходной строки регистра все возможные значения бригад-разрезов. А нужна только указанная в строке бригада.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: alex1248 от Май 09, 2017, 10:42:34 pm
2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен.
Должно быть так.
Профразработка - Глава 13 - Измерения регистров расчета.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: MariaVG от Май 10, 2017, 12:00:27 am
СПР. По расчетной задаче еще остается вопрос, что означает "В одном документе могут быть данные за разные расчетные периоды" с точки зрения ввода информации по надбавкам и премиям. Добавлять Период регистрации в ТЧ с доп.начислениями? Ведь у них нет периода действия, есть только период регистрации. Или, может быть, здесь имеется в виду, что период регистрации все-таки в шапке и нужно ввести надбавку или премию "задним числом" за какой-то более ранний месяц? Ситуация в принципе реальная, только вот как ее реализовывать не понятно. Мне сначала понравилась идея с добавлением реквизита "МесяцНачисления" в ТЧ, чтобы от него отсчитывать базовый период. Для Надбавки тогда все нормально получается. Но возникает проблема с Премией от этой надбавки. Зависимость для Премии будет, по-любому, по периоду регистрации. Даже если мы будем из него выбирать данные только по разрезу, равному определенному МесяцуНачисления, мы можем делать это только в рамках конкретного Периода регистрации. Но где гарантия что каким-то другим документом не введут на тот же МесяцНачисления данные с другим Периодом регистрации. Здесь вообще получается путаница. В отчете, приведенном в билете, мы увидим противоречевые данные. Если отчет строить по Периоду регистрации, то в нем может оказаться сотрудник с надбавкой большей, чем та, с которой реально посчитали премию, если премия отбиралась с доп. условием по МесяцуНачисления. А если строить отчет по МесяцуНачисления - можем увидеть в нем данные из других Периодов регистрации. Т.е. начисленная премия ни в том, ни в другом случае не будет соответствовать данным отчета.

В общем, не понятно, то ли "за разные расчетные периоды" применять только к окладу, т.к. у него есть период действия, то ли добавлять Период регистрации в ТЧ с доп.начислениями.

PS. На консультации Павел Белоусов сказал, что теперь в билетах такой формулировки, что в одном документе данные за разные расчетные периоды, НЕТ.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: MariaVG от Май 10, 2017, 12:13:32 am
2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен.
Должно быть так.
Профразработка - Глава 13 - Измерения регистров расчета.
Нашла, спасибо.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: TUBORG14 от Июнь 10, 2017, 06:40:26 pm
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: I-am-a-programmer от Июль 21, 2017, 10:39:38 am
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?
Я сделал через перечисление РасположениеОборудования, т.к. проверять расположение оборудования по пустой или заполненной дате мне режет глаз.

Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
ОУ: заметил, что заблокированы "наглухо" оба регистра в документе Выбытие оборудования:
           Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
Блокировка.Заблокировать();
хотя можно блокировать по диапазону до даты документа, как-то так:
                Блокировка = Новый БлокировкаДанных;

ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОборудованиеКоличество");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокГодностиДо", Новый Диапазон(Неопределено, Дата));
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатацииДо", Новый Диапазон(Дата('00010102'), Дата));

ЭлементБлокировкиСебестоимость = Блокировка.Добавить("РегистрНакопления.ОборудованиеСебестоимость");
ЭлементБлокировкиСебестоимость.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировкиСебестоимость.УстановитьЗначение("Период", Новый Диапазон(Неопределено, Дата));

Блокировка.Заблокировать();

К блокировкам особое отношение на экзамене, поэтому я бы не стал этим пренебрегать.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: TUBORG14 от Август 01, 2017, 08:52:17 pm
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?
Я сделал через перечисление РасположениеОборудования, т.к. проверять расположение оборудования по пустой или заполненной дате мне режет глаз.

Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
ОУ: заметил, что заблокированы "наглухо" оба регистра в документе Выбытие оборудования:
           Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
Блокировка.Заблокировать();
хотя можно блокировать по диапазону до даты документа, как-то так:
                Блокировка = Новый БлокировкаДанных;

ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОборудованиеКоличество");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокГодностиДо", Новый Диапазон(Неопределено, Дата));
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатацииДо", Новый Диапазон(Дата('00010102'), Дата));

ЭлементБлокировкиСебестоимость = Блокировка.Добавить("РегистрНакопления.ОборудованиеСебестоимость");
ЭлементБлокировкиСебестоимость.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировкиСебестоимость.УстановитьЗначение("Период", Новый Диапазон(Неопределено, Дата));

Блокировка.Заблокировать();

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

I-am-a-programmer ЖЖЁТ, предложенный код даже комментировать не хочу  ;D
Название: Re: Билет 13. Спец по платформе V8
Отправлено: I-am-a-programmer от Сентябрь 09, 2017, 12:30:15 am
I-am-a-programmer ЖЖЁТ, предложенный код даже комментировать не хочу  ;D
Хорошо, тогда мой комментарий: накладывать X блокировку на весь регистр (по которому вводятся «Приходная накладная» и «Ввод в эксплуатацию») на время выполнения регламентной операции считаю неверным решением с точки зрения оптимизации. Эксклюзивная блокировка будет наложена до конца транзакции, а значит ни один из указанных документов не сможет быть введен в это время, они встанут в очередь на ожидание завершения транзакции. Если обработка будет работать больше 20 секунд, то документы начнут вылетать по таймауту.
Указывая диапазоны:
ЭлементБлокировки.УстановитьЗначение("СрокГодностиДо", Новый Диапазон(Неопределено, Дата));
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатацииДо", Новый Диапазон(Дата('00010102'), Дата));
мы даем возможность параллельно с работающей обработкой вводить "Приходную накладную", поскольку записываемый реквизит СрокЭксплуатацииДо будет пустой, точнее с датой Дата('00010101') и СрокГодностиДо будет больше даты регламентной операции, т.е. эти даты будут вне заблокированного диапазона. А это значит, что Приходная не будет блокироваться и будет проводиться во время выполнения регламентной операции.
Документ "Ввод в эксплуатацию" так же сможет быть введен, в случае, если будет записывать СрокЭксплуатацииДо с датой > даты выполняемого регламентного документа.

Я бы обосновал это так. Может на специалисте этого и не надо, но в жизни...
Название: Re: Билет 13. Спец по платформе V8
Отправлено: LoktarOgar от Январь 15, 2018, 09:58:52 am
Почему в задаче по оперативному учету в документе Выбытие оборудования в некоторых решениях Регистры Эксплуатация и Остатки блокируются дважды ? То есть, в самом начале обработки проведения через блокироватьДляИзменения, затем идет запрос и по результату этого запроса еще раз блокируются измерения ?

Мои мысли такие - БлокироватьДляИзменения - блокирует в таблице регистра записи сделанные именно этим документом.
А элемент БлокировкаДанных блокирует нужную нам комбинацию измерений вообще по регистру.

Вопрос - а зачем так делать ?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: Адам от Март 07, 2018, 04:06:39 pm
Мое решение 13 билета  , просьба посмотреть  :)
Название: Re: Билет 13. Спец по платформе V8
Отправлено: NICzzzZ от Январь 13, 2019, 05:28:19 pm
Коллеги, доброго! Решенный билет ++. Буду рад обратной связи.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: серж от Июнь 15, 2019, 03:11:55 pm

хотя можно блокировать по диапазону до даты документа, как-то так:
                Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОборудованиеКоличество");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокГодностиДо", Новый Диапазон(Неопределено, Дата));
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатацииДо", Новый Диапазон(Дата('00010102'), Дата));

Первый параметр диапазона просто не нужно указывать и все.
 Делал на двух регистрах (себестоимость и остатки). Ввод в эксплуатацию делает два движения по Остаткам - списывает с измерения Срок Годности и приходует на два измерения - Срок Годности и Срок Эксплуатации.
 По ощущениям быстрее чем за 1.5 часа эту задачу не решить. Если добавить еще и третий регистр, чтобы разделить учет по срокам годности и эксплуатации, то возрастает вероятность ошибок, и тогда даже в 2 часа можно не уложиться.
Название: Re: Билет 13. Спец по платформе V8
Отправлено: epcs33 от Август 21, 2019, 12:06:38 am
Здравствуйте. Решил 13 билет. Просьба посмотреть задачу по расчетам там где расчитывается премия бригадиру это 3-й ВР. Смотрел решения других все используют Базу ДН через разрез. Максимальную премию по сотрудникам получил во 2-м ВР через переменную. В итоге ее и использовал. Все остальные данные взял из РР ДН. Стоит ли так делать?
Название: Re: Билет 13. Спец по платформе V8
Отправлено: ДмитрийК от Сентябрь 02, 2019, 04:08:01 pm
Добрый день. У меня впечатление, что из условия задачи ОУ следует, что документ "Выбытие оборудования" не должен оперативно проводиться
Название: Re: Билет 13. Спец по платформе V8
Отправлено: the_shark от Май 04, 2020, 08:02:54 pm
Видится мне, у многих ошибки в документе Выбытие оборудования:

Блокировки по датам надо устанавливать в разных элементах блокировки, т.к. у нас должен быть меньше даты документа ИЛИ Срок годности, ИЛИ Срок эксплуатации, а не то и другое одновременно. Если устанавливать в одном, то в блокировку не попадут записи, например, СрокГодности < Дата, СрокЭксплуатации > Дата.
Я это вижу так:
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СрокиОборудования");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокГодности", Новый Диапазон( ,Дата));

ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СрокиОборудования");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатации", Новый Диапазон( ,Дата));


Также, когда вводим параметры виртуальной таблицы РН СрокиОборудования требуется, чтобы не все строки без даты эксплуатации попали в таблицу, а только те, у которых вышел срок годности:
| РегистрНакопления.СрокиОборудования.Остатки(
| &МоментВремени,
| ВЫБОР
| КОГДА СрокЭксплуатации = ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА СрокГодности <= &Дата
| ИНАЧЕ СрокГодности <= &Дата
| ИЛИ СрокЭксплуатации <= &Дата
| КОНЕЦ) КАК СрокиОборудованияОстатки