Автор Тема: Билет 13. Спец по платформе V8  (Прочитано 22041 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Билет 13. Спец по платформе V8
« : Сентябрь 24, 2015, 10:00:33 am »
13 билет готов. Очень интересный экземпляр, много спорных моментов. Предлагаю обсудить.

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #1 : Сентябрь 24, 2015, 10:09:01 am »
ОУ

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

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

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

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



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

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

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

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



ПР

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

Самыми сложными для понимания у меня остаются задачи на получение базы с отбором по разрезу, как, например, в этой задаче. Для себя решил, на экзамене запрос по ПремииНачальника вслепую делать не буду. Сформирую его в консоли, когда уже будет готов расчет Надбавки.
Связал базовый регистр с основным по «Подразделению», т.к. базу (сумму Надбавки) надо получать только для тех сотрудников, которые работают в одном подразделении с Начальником.
Установил получать базу в разрезе «Сотрудник», благодаря чему поле СотрудникРазрез стало доступно для выборки данных.
Поскольку получить надо наибольшую из надбавок, начисленных Сотрудникам, то сгруппировал РезультатБаза, получая Максимум из них. Так для каждой строки документа была получена сумма наибольшей Надбавки среди сотрудников подразделения.


Zeskord

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


HRom

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

Как реализовать эту проверку на срок годности при передаче в эксплуатацию.
Допустим в документе для оборудования указана 1 шт., на складе есть две единица этого оборудования. Одна просроченная, другая нет. Всё равно весь документ отказываемся проводить?

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 13. Спец по платформе V8
« Ответ #4 : Октябрь 27, 2015, 02:02:32 pm »
Допустимо ли писать блокировку по пустой дате?

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

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #5 : Октябрь 27, 2015, 02:14:07 pm »
Толи я, ото всех этих задач, совсем приехал, толи формулировка ОУ задачи этого билета кажется мне самой «удачной», в плане сложности для понимания, из всех задач по ОперУчету.
Считаю, составители билетов постарались на славу ))

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

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

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

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

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

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

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

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


Решение ОУ прикладываю

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #6 : Октябрь 27, 2015, 02:16:53 pm »
При передаче оборудования в эксплуатацию... В том случае, если срок годности истек или оборудования недостаточно, документ не проводится и выдается соответствующее сообщение.

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

HRom, эта замысловатая формулировка на самом деле означает, что
оборудование со СрокомГодн <= ДатеДок не должно попасть в выборку запроса ))

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #7 : Октябрь 27, 2015, 02:19:22 pm »
Допустимо ли писать блокировку по пустой дате?

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


Похоже, надо использовать диапазоны. Например, как у S_A_E

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 13. Спец по платформе V8
« Ответ #8 : Октябрь 27, 2015, 02:27:47 pm »
Jones,

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

Только обрати внимание про блокировку идёт речь о документе "ВводВЭксплуатацию". Когда мы выбираем остатки с незаполненным сроком эксплуатации. Я пытаюсь блокировать именно по пустой дате, а не диапазону. Вот меня и терзают смутные сомнения насчет пустой даты.

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #9 : Октябрь 27, 2015, 09:56:34 pm »
речь о документе "ВводВЭксплуатацию". Когда мы выбираем остатки с незаполненным сроком эксплуатации

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

« Последнее редактирование: Октябрь 28, 2015, 07:23:53 am от Jones »

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #10 : Октябрь 27, 2015, 10:22:36 pm »
Еще раз прорешал 13 билет, на этот раз многое сделал по другому.

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

БУ задачу прорешал как у S_A_E
Вчитался в задание и обнаружил, что там нет фразы «Сами комплекты определяются в справочнике «Номенклатура» наравне с обычными товарами», поэтому можно запросто сделать Комплекты отдельным справочником. Надо признать, это серьезно упрощает работу, поэтому БУ задача показалась довольно простой.


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

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

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

В целом ПР задача ясна, но времени на отладку требуется очень уж много. Не представляю, что можно будет сделать на экзамене, если, не дай бог, терминал начнет подвисать.
« Последнее редактирование: Октябрь 28, 2015, 07:59:08 am от Jones »

Jones

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

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

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

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

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

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

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




HRom

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

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

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 13. Спец по платформе V8
« Ответ #13 : Октябрь 28, 2015, 01:35:56 pm »
Jones,

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

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


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

Zeskord

  • Пользователь
  • **
  • Сообщений: 77
  • ФИО: Андрей Назаров
Re: Билет 13. Спец по платформе V8
« Ответ #14 : Октябрь 28, 2015, 01:55:12 pm »

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

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 13. Спец по платформе V8
« Ответ #15 : Октябрь 28, 2015, 02:24:13 pm »

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

Сделал на регистре накопления. Пойдет?

HRom

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

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

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


 
« Последнее редактирование: Октябрь 28, 2015, 03:04:18 pm от HRom »

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 13. Спец по платформе V8
« Ответ #17 : Ноябрь 06, 2015, 10:56:54 am »
Jones,
ты когда считаешь базу для премии начальника, то берешь базу с отбором Регистратор = &Ссылка, а на самом деле по бригаде может быть несколько документов НачислениеЗарплаты. И сотрудник с максимальной надбавкой совсем не обязательно будет в том же документе, где вы премию считаете.
Пожалуй, согласен, все логично.
Если сдавать очно, то можно так сделать, ибо можно защиться. На дистинционке я бы так экспериментировать не стал ))

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #18 : Ноябрь 06, 2015, 04:58:20 pm »
Jones,
ты когда считаешь базу для премии начальника, то берешь базу с отбором Регистратор = &Ссылка, а на самом деле по бригаде может быть несколько документов НачислениеЗарплаты. И сотрудник с максимальной надбавкой совсем не обязательно будет в том же документе, где вы премию считаете.
Пожалуй, согласен, все логично.
Если сдавать очно, то можно так сделать, ибо можно защиться. На дистинционке я бы так экспериментировать не стал ))
А на мой взгляд, как раз всё правильно было бы. Лишь бы работало корректно.  :)

pewit

  • Пользователь
  • **
  • Сообщений: 13
Re: Билет 13. Спец по платформе V8
« Ответ #19 : Ноябрь 11, 2015, 03:34:29 pm »
Посмотрите, пожалуйста! Буду рада любой конструктивной критике!

venvlad

  • Пользователь
  • **
  • Сообщений: 83
Re: Билет 13. Спец по платформе V8
« Ответ #20 : Ноябрь 19, 2015, 04:27:53 pm »
Сумму продаж собираю из физической таблицы.

Quantum81

  • Проверенный
  • ***
  • Сообщений: 117
Re: Билет 13. Спец по платформе V8
« Ответ #21 : Ноябрь 27, 2015, 05:34:13 pm »
СПР мудрить с продажами за пред месяц не стал - ввожу в табличной части.
Надбавку и премию поместил  в ДН. База по периоду регистрации, т.к. неизвестно когда может быть введена надбавка, а ПД у неё нету. Надбавка без базы.
ОУ и БУ ОУ и БУ разделили с помощью перечисления ВидНоменклатуры: Оброудование, Комплект, комплектующая.  Везде соответственные отборы.

Zeskord

  • Пользователь
  • **
  • Сообщений: 77
  • ФИО: Андрей Назаров
Re: Билет 13. Спец по платформе V8
« Ответ #22 : Ноябрь 29, 2015, 11:22:38 am »
СПР мудрить с продажами за пред месяц не стал - ввожу в табличной части.
Надбавку и премию поместил  в ДН. База по периоду регистрации, т.к. неизвестно когда может быть введена надбавка, а ПД у неё нету. Надбавка без базы.
ОУ и БУ ОУ и БУ разделили с помощью перечисления ВидНоменклатуры: Оброудование, Комплект, комплектующая.  Везде соответственные отборы.
Спасибо за решение. После просмотра я понял, что мне нужно полностью переделывать ОУ.
В БУ есть сомнения в правильности регистра сведений. Имхо, автор задачи ждет, что комплект будет ресурсом. И не нужно будет пилить проверки перед записью набора.

zorky

  • Проверенный
  • ***
  • Сообщений: 222
  • ФИО: ЗЖВ
Re: Билет 13. Спец по платформе V8
« Ответ #23 : Декабрь 20, 2015, 11:10:31 pm »
Решил 13.
По ОУ задача интересная, признаком "Эксплуатации"  оборудования - является заполненность измерения "КонецСрокаЭксплуатации".    Из нового, Блокировка по "Диапазонам".  Не совсем стандартная задача, чтобы Заэксплуатировать Оборудование - нужно сделать "Расход" и "Приход" с заполнением Измерения...Думал как в НабореЗаписей найти нужную запись, и просто записать Измерение... видимо-никак))))
БУ: Также не стал замарачиваться. Детали-приходую на Склад, комплекты в РС ...
СПР:  Отлично повторил Разрезы ...  Повторил приём, с мин.датой и макс.датой(для оборотов РБ), и выбора нужного оборота с помощью Джойна по периоду, клёво ваще (SAE спасибо!)... а то вначале проскользнула дурная мысль о Запросе в Цикле...)  Запомнил: Измерение ставим - Бригада(Подразделение) - оно будет Одно, Разрез - Сотрудник(все сотрудники этого измерения).  Да, не знал что можно Реквизит ставить измерением получения Базы...  Ещё попарился-нужно вытащить в поля обязательно поле СотрудникРазрез, чтобы работала Агрегатная функция. Но на это поле -также нужно наложить любую Агрегатную функцию. )) 
Билеты собраны вообщем таким образом -что задачки в них самые разные) технологии решений, методики самые различные! и  Поэтому подготовку к экзамену по билетам - считаю не упрощением, а реальной работой по подготовке с осознанием нужных механизмов платформы)))ну, кто прорешивает весь сборник - спору нет, злодеи!  ;-)

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




cheb73

  • Проверенный
  • ***
  • Сообщений: 131
  • ФИО: Наталья
Re: Билет 13. Спец по платформе V8
« Ответ #24 : Февраль 11, 2016, 06:55:12 pm »
ОУ Задача, не понятно почему списывается в цикле,  левым соединение остатки номенклатуры? В условии задачи "Кроме того, этот же документ должен списывать еще не введенное в эксплуатацию оборудование, но срок годности, которого уже истек." Остатки Номенклатуры сами по себе должны проверяться. Сумма себестоимости поэтому хранится в Регистре ОборудованиеВЭксплуатации, По комплектам в ресурсах - тоже спорно, можно наверное и так, но  для меня логичнее хранить  в измерениях и сделать проверку при записи.
« Последнее редактирование: Февраль 12, 2016, 06:19:01 am от cheb73 »

zorky

  • Проверенный
  • ***
  • Сообщений: 222
  • ФИО: ЗЖВ
Re: Билет 13. Спец по платформе V8
« Ответ #25 : Февраль 24, 2016, 05:44:48 pm »
ОУ Задача, не понятно почему списывается в цикле,  левым соединение остатки номенклатуры? В условии задачи "Кроме того, этот же документ должен списывать еще не введенное в эксплуатацию оборудование, но срок годности, которого уже истек." Остатки Номенклатуры сами по себе должны проверяться. Сумма себестоимости поэтому хранится в Регистре ОборудованиеВЭксплуатации, По комплектам в ресурсах - тоже спорно, можно наверное и так, но  для меня логичнее хранить  в измерениях и сделать проверку при записи.

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

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



cheb73

  • Проверенный
  • ***
  • Сообщений: 131
  • ФИО: Наталья
Re: Билет 13. Спец по платформе V8
« Ответ #26 : Февраль 25, 2016, 06:07:32 am »
На один конечно, это же другая запись, на ОстаткиНоменклатуры по-идее тоже надо  ЭлементБлокировки.УстановитьЗначение("СрокГодности",Новый Диапазон(,Дата));

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 13. Спец по платформе V8
« Ответ #27 : Март 30, 2016, 12:42:00 pm »
Уважаемые специалисты, покритикуйте пожалуйста решение.

Гакусей

  • Проверенный
  • ***
  • Сообщений: 154
Re: Билет 13. Спец по платформе V8
« Ответ #28 : Март 30, 2016, 01:24:09 pm »
в части спр вроде нормально.
Только вот не пойму, у тебя Бригада не измерение, а реквизит и ты на него накладываешь отбор по измерению
   Измерение = Новый Массив;
   Измерение.Добавить("Бригада");
Неужели такая конструкция работает и отбирает?
По идее, если базу по чему-то получаем, то это измерение.
 

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 13. Спец по платформе V8
« Ответ #29 : Март 30, 2016, 05:10:38 pm »
в части спр вроде нормально.
Только вот не пойму, у тебя Бригада не измерение, а реквизит и ты на него накладываешь отбор по измерению
   Измерение = Новый Массив;
   Измерение.Добавить("Бригада");
Неужели такая конструкция работает и отбирает?
По идее, если базу по чему-то получаем, то это измерение.

Да, что-то подтупил, спасибо за замечание.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 13. Спец по платформе V8
« Ответ #30 : Апрель 22, 2016, 12:38:08 pm »
Плиз критика!

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

Отличия:

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

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

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

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

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

С разрезами удобно работать получается. У меня их 3 - сотрудник, бригада, месяц.

Aleshka

  • Пользователь
  • **
  • Сообщений: 13
Re: Билет 13. Спец по платформе V8
« Ответ #31 : Май 10, 2016, 04:07:06 pm »
Народ! Гляньте пожалуйста Расчетную задачу  :'(  :'( :'(. Не пойму почему в базу для ПремииРуководителю "задваивает" максимальную надбавку по сотруднику бригады :o. Меня глючит или платформу
Текст запроса для получения базы:
Цитировать
   
   Запрос.Текст = "ВЫБРАТЬ
      |   ДопНБазаДопН.НомерСтроки,
      |   ДопНБазаДопН.ВидРасчета,
      |   ДопНБазаДопН.Сотрудник,
      |   ДопНБазаДопН.Подразделение,
      |   МАКСИМУМ(ДопНБазаДопН.РезультатБаза) КАК РезультатБаза,
      |   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДопНБазаДопН.СотрудникРазрез) КАК СотрудникРазрез
      |ИЗ
      |   РегистрРасчета.ДопН.БазаДопН(
      |         &ИзПодр,
      |         &ИзПодр,
      |         &ИзСотр,
      |         ВидРасчета = &Премия
      |            И Регистратор = &Регистратор) КАК ДопНБазаДопН
      |
      |СГРУППИРОВАТЬ ПО
      |   ДопНБазаДопН.НомерСтроки,
      |   ДопНБазаДопН.ВидРасчета,
      |   ДопНБазаДопН.Сотрудник,
      |   ДопНБазаДопН.Подразделение";
   ИзПодр=Новый Массив;
   ИзПодр.Добавить("Подразделение");
   Запрос.УстановитьПараметр("ИзПодр", ИзПодр);
   ИзСотр=Новый Массив;
   ИзСотр.Добавить("Сотрудник");
   Запрос.УстановитьПараметр("ИзСотр", ИзСотр);
   Запрос.УстановитьПараметр("Премия", Премия);
   Запрос.УстановитьПараметр("Регистратор", Док);

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #32 : Май 10, 2016, 07:48:20 pm »
Aleshka, в юзерском режиме удалите из списка базовых ВР премии дубль надбавки :) .

Aleshka

  • Пользователь
  • **
  • Сообщений: 13
Re: Билет 13. Спец по платформе V8
« Ответ #33 : Май 10, 2016, 09:18:40 pm »
alex1248,  СПАСИБО!!!  :D, а я уж думаю, какие тут "танцы с бубнами" изобретать, а оказывается вот где "собака порылась"  ;).
alex1248, не сочтите за наглость, в моём решении ничего криминального с точки зрения "ошибок при сдаче" не увидели? ::)

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #34 : Май 10, 2016, 10:14:21 pm »
в моём решении ничего криминального с точки зрения "ошибок при сдаче" не увидели? ::)
Не увидел, как контролируется уникальность деталей в комплектах.
Больше ничего в глаза не бросилось. Не помню я уже почти ничего, на что надо обращать внимание; самое лучшее - пробежаться по перечню ошибок.  :)

Aleshka

  • Пользователь
  • **
  • Сообщений: 13
Re: Билет 13. Спец по платформе V8
« Ответ #35 : Май 11, 2016, 01:36:20 pm »
alex1248, СПАСИБО за отзывчивость!  :) 

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

Цитировать
самое лучшее - пробежаться по перечню ошибок.
Это можно, но как известно "в своём глазу не видим и бревна"  ;) - просто глаз замылен.
 
alex1248, ещё раз СПАСИБО.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #36 : Май 11, 2016, 09:56:13 pm »
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 13. Спец по платформе V8
« Ответ #37 : Май 12, 2016, 09:57:38 am »
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

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

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #38 : Май 12, 2016, 11:23:43 am »
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

Доброго дня! Мне тоже этот вопрос интересен :) А где (у кого) можно пример оформления посмотреть? По подсистемам и подчиненным подсистемам я раскидываю объекты, а что-то еще надо сделать?
Файл с примерами с сайта 1С скачивали?
Вот на этой страничке.
http://www.1c.ru/spec/questions.htm

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 13. Спец по платформе V8
« Ответ #39 : Май 13, 2016, 09:54:31 am »
Aleshka, смотрел свой отзыв об экзамене, и вспомнил про существенный недостаток в вашем решении - рабочий стол должен быть оформлен, как в последних типовых - на этот момент обращают серьезное внимание, и это условие есть в каждом билете.

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

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

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

Там панель разделов не сверху, а сбоку, но это примерный вид интерфейса, т.е. не обязательно.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #40 : Май 13, 2016, 10:28:23 am »
Aleshka, axel_work, сорри, действительно всё нормально с интерфейсом. Это я неправильно посмотрел.  :)
axel_work, значит, ничего особенного не нужно.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 13. Спец по платформе V8
« Ответ #41 : Май 13, 2016, 04:20:05 pm »
Aleshka, axel_work, сорри, действительно всё нормально с интерфейсом. Это я неправильно посмотрел.  :)
axel_work, значит, ничего особенного не нужно.

Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #42 : Май 13, 2016, 05:46:26 pm »
Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)
Я действительно у Алешки посмотрел неправильно, я так никогда не делаю - рабочие столы закладок появляются только при двойном щелчке, а я переходил обычным способом, как привык делать сам, и как во всех последних конфах. Сначала думал, что как-то некорректно сделано, сейчас уже разобрался.
А вам уже давно сдавать пора, помнится, вы задачник щелкали, когда я только готовиться начал.  :)

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 13. Спец по платформе V8
« Ответ #43 : Май 14, 2016, 06:11:32 pm »
Дык наоборот спасибо, проясняем туманные моменты совместными усилиями :)
Я действительно у Алешки посмотрел неправильно, я так никогда не делаю - рабочие столы закладок появляются только при двойном щелчке, а я переходил обычным способом, как привык делать сам, и как во всех последних конфах. Сначала думал, что как-то некорректно сделано, сейчас уже разобрался.
А вам уже давно сдавать пора, помнится, вы задачник щелкали, когда я только готовиться начал.  :)

Это да. У меня проблема со скоростью, сейчас решаю на скорость. В ближайшее время планирую :) Что-то действительно затянул как-то :)

SAM

  • Пользователь
  • **
  • Сообщений: 56
  • ФИО: Сергей
Re: Билет 13. Спец по платформе V8
« Ответ #44 : Май 17, 2016, 03:41:13 pm »
Доброго времени суток!

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

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

СПР Сделал как у SAE - сделал Бригаду реквизитом, сомневаюсь, хотя все и работает. Может лучше сделать измерением?

Aleshka

  • Пользователь
  • **
  • Сообщений: 13
Re: Билет 13. Спец по платформе V8
« Ответ #45 : Май 18, 2016, 02:53:49 pm »
alex1248,  ещё раз СПАСИБО за ответв!!!

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

SAM

  • Пользователь
  • **
  • Сообщений: 56
  • ФИО: Сергей
Re: Билет 13. Спец по платформе V8
« Ответ #46 : Май 18, 2016, 03:13:58 pm »
alex1248,  ещё раз СПАСИБО за ответв!!!

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

Здесь как раз базу получаем по бригаде в разрезе сотрудников. Но и когда бригада - реквизит прекрасно работает.

freez1301

  • Пользователь
  • **
  • Сообщений: 68
Re: Билет 13. Спец по платформе V8
« Ответ #47 : Июль 01, 2016, 11:50:00 am »
в БУ 2 варианта комплектов. Тот, который на РС КомплектыНоменклатуры - старый, забыл удалить его.

ОУ:
Вариант 1:
РН ОборудованиеНаСкладе, изм. Номенклатура, ГоденДо, рес. Количество.
РН ОборудованиеВЭксплуатации изм, Номенклутра, ЭксплуатироватьДо, ГоденДо, рес. Количество, Сумма
РН Себестоимость, изм. Номенклатура, рес. Сумма
Вариант 2:
РН ОстаткиНоменклатуры, изм. Номенклаутра, Количество, Сумма
РН Оборудование, изм. Номенклатура, ГоденДо, ЭксплуатироватьДо, рес. Количество, Сумма
БУ:
Спр. Комплекты. Реквизит Комплект в спр. Номенклатура
РС Комплекты, изм. Комплект, Номенклатура (связи парам. выбора), рес. Количество
ПС: сч. Товары, Количественный, суб. Номенклатура. Сч. ПрибылиУбытки, суб Номенклатура оборотное
СПР:
РС Графики - стандартный, совместительства нет
ПВР ОН, использует период действия, от базы не зависит. Эл. Оклад
ПВР ДН не использует период действия, зависит от базы по периоду регистрации. Эл. Надбавка, Премия - база Надбавка
РР ОН период действия, связь с графиком. Т.к. базу по нему получать не требутеся - измерений нет. Рес. Результат, рек. Сотрудник, Бригада, Размер
РР ДН базовый период Месяц, изм. Бригада (премия по сотрудникам своей бригады, нужна база по бригаде), рес. Результат, рес. Сотрудник (база в разрезе сотр. для получения максимальной базы), Размер, СуммаПродаж
« Последнее редактирование: Июль 01, 2016, 01:05:36 pm от freez1301 »

al7

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

Я до прочтения ветки нарисовал 2 таких регистра:
Склад: Изм - Номенклатура, СрокГодности, Рес - Количество, Сумма.
Эксплуатация: Изм - Номенклатура, СрокГодности, СрокЭксплуатации, Рес - Количество, Сумма.    Сумма по средней среди одинаковых сроков.
« Последнее редактирование: Август 31, 2016, 03:25:15 pm от al7 »

erdem.badluev

  • Проверенный
  • ***
  • Сообщений: 139
Re: Билет 13. Спец по платформе V8
« Ответ #49 : Ноябрь 01, 2016, 11:49:22 am »
Всем привет!
моё решение.
 :)
Покритикуйте, пожалуйста!

ahang

  • Пользователь
  • **
  • Сообщений: 31
  • ФИО: Антон
Re: Билет 13. Спец по платформе V8
« Ответ #50 : Ноябрь 02, 2016, 04:52:33 pm »
Всем привет!
моё решение.
 :)
Покритикуйте, пожалуйста!

Добрый день!
В ОУ и БУ недопустимо остатки по регистрам получать на Дату документа. В расчетной задаче не понял зачем используется вирт. таблица "врт"

erdem.badluev

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

То есть лучше:
Запрос.УстановитьПараметр("Дата",?(Режим=РежимПроведенияДокумента.Оперативный,Неопределено,Дата));"врт" - забыл удалить
 :)
Спасибо!

ahang

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

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


erdem.badluev

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

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

Спасибо!  :)

erdem.badluev

  • Проверенный
  • ***
  • Сообщений: 139
Re: Билет 13. Спец по платформе V8
« Ответ #54 : Ноябрь 15, 2016, 11:32:32 am »
Мой обновленный вариант решения.
Буду рад критике.
 :)

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

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

Как лучше делать? как я или SAE?
« Последнее редактирование: Ноябрь 15, 2016, 12:42:14 pm от erdem.badluev »

bma

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Инкогнито
Re: Билет 13. Спец по платформе V8
« Ответ #55 : Январь 08, 2017, 03:02:54 pm »
Коллеги, дошла до 13-го билета и сейчас в ПЕРВЫЙ раз столкнулась, что просто чисто тупо база по виду расчета ПремияНачальника не собирается. Может кто глянет) Может у меня с платформой чего или я чего не вижу...

bma

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Инкогнито
Re: Билет 13. Спец по платформе V8
« Ответ #56 : Январь 08, 2017, 03:19:02 pm »
erdem.badluev, Вы премию начальника получаете тупо в лоб запросом к табличке с данными - так каждый сможет) Я думаю, такое решение не устроит преподавателя, надо через разрезы делать, и думаю это потому, что это на больших объемах данных быстрее работает через разрез)
« Последнее редактирование: Январь 08, 2017, 03:20:51 pm от bma »

erdem.badluev

  • Проверенный
  • ***
  • Сообщений: 139
Re: Билет 13. Спец по платформе V8
« Ответ #57 : Январь 09, 2017, 04:22:30 am »
erdem.badluev, Вы премию начальника получаете тупо в лоб запросом к табличке с данными - так каждый сможет) Я думаю, такое решение не устроит преподавателя, надо через разрезы делать, и думаю это потому, что это на больших объемах данных быстрее работает через разрез)
Спасибо!

bma

  • Новичок
  • *
  • Сообщений: 6
  • ФИО: Инкогнито
Re: Билет 13. Спец по платформе V8
« Ответ #58 : Январь 09, 2017, 08:43:49 pm »
После 14-го билета поняла, как надо делать 13-й)))) И ошибку исправила и правильный запрос написала. Надо взять базу по Измерениям Бригада, а в Разрезы добавить Сотрудника. Но с разрезами все непросто, надо в выборке обязательно вытащить СотрудникРазрез - только тогда база разрежется и можно взять максимум...  Ну вроде так, мне кажется надо делать... думаю так, вот выкладываю, если кому позырить) Блин, кто это все придумал! Я тоже понапридумываю, а потом все это изучать будут! Логика вообще конечно....
« Последнее редактирование: Январь 09, 2017, 08:46:51 pm от bma »

s0u1941

  • Пользователь
  • **
  • Сообщений: 68
Re: Билет 13. Спец по платформе V8
« Ответ #59 : Февраль 07, 2017, 06:25:22 pm »
Покритикуйте, пожалуйста, СПР

CeHbKA

  • Пользователь
  • **
  • Сообщений: 88
Re: Билет 13. Спец по платформе V8
« Ответ #60 : Февраль 17, 2017, 03:19:09 pm »
Решил задачу по СПР. Вдруг кому интересно

dimon1210

  • Новичок
  • *
  • Сообщений: 5
Re: Билет 13. Спец по платформе V8
« Ответ #61 : Март 10, 2017, 12:42:53 pm »
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?

MariaVG

  • Проверенный
  • ***
  • Сообщений: 113
Re: Билет 13. Спец по платформе V8
« Ответ #62 : Май 09, 2017, 09:59:46 pm »
СПР. Все-таки остается вопрос по поводу того, делать ли Бригаду измерением в РР "Доп.Начисления". Да, все работает и при том, что Бригада реквизит. Но в списке частых ошибок на экзамене есть следующая "В задаче получения расчетной базы не оптимизирована скорость отбора по измерениям регистра расчета". В одном из сообщений выше упоминалось, что измерением Подразделение/Бригаду нужно делать в двух случаях: 1) есть совместительство или 2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен. Может быть, у кого-нибудь есть ссылка на теорию, где что-нибудь говорится насчет этого пункта? Если руководствоваться общими соображениями: когда не делаем Бригаду измерением, виртуальная таблица базы будет возвращать для каждой бригады исходной строки регистра все возможные значения бригад-разрезов. А нужна только указанная в строке бригада.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 13. Спец по платформе V8
« Ответ #63 : Май 09, 2017, 10:42:34 pm »
2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен.
Должно быть так.
Профразработка - Глава 13 - Измерения регистров расчета.

MariaVG

  • Проверенный
  • ***
  • Сообщений: 113
Re: Билет 13. Спец по платформе V8
« Ответ #64 : Май 10, 2017, 12:00:27 am »
СПР. По расчетной задаче еще остается вопрос, что означает "В одном документе могут быть данные за разные расчетные периоды" с точки зрения ввода информации по надбавкам и премиям. Добавлять Период регистрации в ТЧ с доп.начислениями? Ведь у них нет периода действия, есть только период регистрации. Или, может быть, здесь имеется в виду, что период регистрации все-таки в шапке и нужно ввести надбавку или премию "задним числом" за какой-то более ранний месяц? Ситуация в принципе реальная, только вот как ее реализовывать не понятно. Мне сначала понравилась идея с добавлением реквизита "МесяцНачисления" в ТЧ, чтобы от него отсчитывать базовый период. Для Надбавки тогда все нормально получается. Но возникает проблема с Премией от этой надбавки. Зависимость для Премии будет, по-любому, по периоду регистрации. Даже если мы будем из него выбирать данные только по разрезу, равному определенному МесяцуНачисления, мы можем делать это только в рамках конкретного Периода регистрации. Но где гарантия что каким-то другим документом не введут на тот же МесяцНачисления данные с другим Периодом регистрации. Здесь вообще получается путаница. В отчете, приведенном в билете, мы увидим противоречевые данные. Если отчет строить по Периоду регистрации, то в нем может оказаться сотрудник с надбавкой большей, чем та, с которой реально посчитали премию, если премия отбиралась с доп. условием по МесяцуНачисления. А если строить отчет по МесяцуНачисления - можем увидеть в нем данные из других Периодов регистрации. Т.е. начисленная премия ни в том, ни в другом случае не будет соответствовать данным отчета.

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

PS. На консультации Павел Белоусов сказал, что теперь в билетах такой формулировки, что в одном документе данные за разные расчетные периоды, НЕТ.
« Последнее редактирование: Май 10, 2017, 07:44:33 pm от MariaVG »

MariaVG

  • Проверенный
  • ***
  • Сообщений: 113
Re: Билет 13. Спец по платформе V8
« Ответ #65 : Май 10, 2017, 12:13:32 am »
2) нужно получение базы по данному полю. Хотелось бы понять, действительно ли пункт 2 верен.
Должно быть так.
Профразработка - Глава 13 - Измерения регистров расчета.
Нашла, спасибо.

TUBORG14

  • Пользователь
  • **
  • Сообщений: 23
  • ФИО: КДБ
Re: Билет 13. Спец по платформе V8
« Ответ #66 : Июнь 10, 2017, 06:40:26 pm »
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.

I-am-a-programmer

  • Новичок
  • *
  • Сообщений: 4
  • Я программист.ру
  • ФИО: Николай Захаренков
Re: Билет 13. Спец по платформе V8
« Ответ #67 : Июль 21, 2017, 10:39:38 am »
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?
Я сделал через перечисление РасположениеОборудования, т.к. проверять расположение оборудования по пустой или заполненной дате мне режет глаз.

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

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

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

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

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

TUBORG14

  • Пользователь
  • **
  • Сообщений: 23
  • ФИО: КДБ
Re: Билет 13. Спец по платформе V8
« Ответ #68 : Август 01, 2017, 08:52:17 pm »
Кому то попадалась задача ОУ с этого билета? Решать нужно на двух или на трех регистрах? И Если на двух, как разделять введенное и не введенное в эксплуатацию оборудование?
Я сделал через перечисление РасположениеОборудования, т.к. проверять расположение оборудования по пустой или заполненной дате мне режет глаз.

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

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

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

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

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

I-am-a-programmer ЖЖЁТ, предложенный код даже комментировать не хочу  ;D

I-am-a-programmer

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

Я бы обосновал это так. Может на специалисте этого и не надо, но в жизни...

LoktarOgar

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

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

Вопрос - а зачем так делать ?

Адам

  • Пользователь
  • **
  • Сообщений: 10
Re: Билет 13. Спец по платформе V8
« Ответ #71 : Март 07, 2018, 04:06:39 pm »
Мое решение 13 билета  , просьба посмотреть  :)

NICzzzZ

  • Пользователь
  • **
  • Сообщений: 22
Re: Билет 13. Спец по платформе V8
« Ответ #72 : Январь 13, 2019, 05:28:19 pm »
Коллеги, доброго! Решенный билет ++. Буду рад обратной связи.

серж

  • Пользователь
  • **
  • Сообщений: 93
  • Билеты: https://expert.chistov.pro/public/1127069/
Re: Билет 13. Спец по платформе V8
« Ответ #73 : Июнь 15, 2019, 03:11:55 pm »

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

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

epcs33

  • Новичок
  • *
  • Сообщений: 2
Re: Билет 13. Спец по платформе V8
« Ответ #74 : Август 21, 2019, 12:06:38 am »
Здравствуйте. Решил 13 билет. Просьба посмотреть задачу по расчетам там где расчитывается премия бригадиру это 3-й ВР. Смотрел решения других все используют Базу ДН через разрез. Максимальную премию по сотрудникам получил во 2-м ВР через переменную. В итоге ее и использовал. Все остальные данные взял из РР ДН. Стоит ли так делать?

ДмитрийК

  • Новичок
  • *
  • Сообщений: 8
Re: Билет 13. Спец по платформе V8
« Ответ #75 : Сентябрь 02, 2019, 04:08:01 pm »
Добрый день. У меня впечатление, что из условия задачи ОУ следует, что документ "Выбытие оборудования" не должен оперативно проводиться

the_shark

  • Новичок
  • *
  • Сообщений: 3
Re: Билет 13. Спец по платформе V8
« Ответ #76 : Май 04, 2020, 08:02:54 pm »
Видится мне, у многих ошибки в документе Выбытие оборудования:

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

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


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