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

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

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Билет 9. Спец по платформе V8
« : Сентябрь 09, 2015, 10:06:29 pm »
Сделал 9 билет включая УФ
Кто найдет ошибок пачку, тот получит водокачку!

Дотестировал, теперь Больничный корректно делится по месяцам.
« Последнее редактирование: Сентябрь 09, 2015, 10:50:26 pm от Jones »

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #1 : Сентябрь 09, 2015, 10:52:27 pm »
Небольшой комментарий к решению.

1)   ОУ задача 1.46 Характеристики номенклатуры
Добавлен спр Свойства, подчиненный Номенклатуре.
Спр ЗначенияХарактеристик подчинен ПВХ СвойстваОбъектов.
В типы значений характеристик ПВХ добавлен спр ЗначенияХарактеристик.
Рег.свед ЗначенияСвойств содержит данные о том, какое Свойство, какие значения характеристик содержит.

На самом деле каждое Свойство – это набор значений характеристик, а сами значения и их связь со Свойством хранятся в регистре сведений.

Отчет строится по таблице ОстаткиИОбороты. Запрос получает Номенклатуру, Свойство и все Количества. Кроме того в запросе настроена связь спр-ка Свойства с его характеристиками. На закладке конструктора запроса Характеристики указано, что характеристики получать для объектов типа Справочник.Свойства, виды характеристик берутся из ПВХ, а значения характеристик – из регистра сведений.

В свойствах элемента пользовательских настроек включено отображение Группировок на форме отчета. В режиме предприятия у пользователя появляется возможность добавить группировку по видам характеристик данного Свойства, в частности по Производителю.

2)   БУ Вознаграждение Агентам 20% от прибыли. Похоже в сборнике задач таковаой не наблюдается.

РБ содержит три ресурса:
Количество (признак учета Количественный)
Сумма
СуммаВал (признак учета Валютный)

счТовары Количественый, имеет два субконто Номенклатура и Склад
добавлен счАгенты, Активно/Пассивный, Валютный, имеет одно субконто Агенты (физлица)
в спр Физлица добавлен реквизит  Валюта

Как думаете, счет Агенты должен быть Активно/Пассивным?

Еще раз прошу проверить процедуру ПередЗаписью документа Операция
Отрабатывает корректно, при пометке документа движения дезактивируются, при изменении даты документа период записей также меняется.
Как думаете в Операции все путем?

3)   ПР Оклад+Больничный
Задача подозрительно простая, в связи с чем прошу уважаемых коллег прокомментировать решение.

Больничный делится по месяцам. Часовая ставка оклада берется один раз из регистра. Дневная ставка для Больничного считается делением Оклада за базовый период на Количество РАБОЧИХ дней в базовом периоде (по графику).
Вопрос: у меня для Больничного график задается в ТЧ. Как считаете это нормально?

4)   УФ 5.02 Хранить фото Сотрудников
В спр Физлица добавлены 2 реквизита: ИмяФайла (Строка 100) и ХранилищеФайла (Хранилище значения)
В форму добавлены 3 реквизита: ИмяФайла (Строка 100), ХранитьВБазе (булево), НавСсылка (строка 100)
На форму выведено ПолеКартинки, путь к данным НавСсылка

В модуле формы 4 процедуры:
&НаКлиенте ПриОткрытии
&НаКлиенте ВыбратьФайл
&НаКлиенте ПередЗакрытием
&НаСервере ПередЗаписьюНаСервере


artemusII

  • Пользователь
  • **
  • Сообщений: 34
  • ФИО: Артем А.
Re: Билет 9. Спец по платформе V8
« Ответ #2 : Октябрь 10, 2015, 09:32:44 pm »
Мое решение ОУ и БУ. Остальное завтра...

artemusII

  • Пользователь
  • **
  • Сообщений: 34
  • ФИО: Артем А.
Re: Билет 9. Спец по платформе V8
« Ответ #3 : Октябрь 11, 2015, 12:50:42 pm »
Как и обещал - Билет №9 весь... Учел в запросе разбиение больничного по месяцам. Гляньте - кому не лень...

artemusII

  • Пользователь
  • **
  • Сообщений: 34
  • ФИО: Артем А.
Re: Билет 9. Спец по платформе V8
« Ответ #4 : Октябрь 11, 2015, 01:15:53 pm »
Сам билет забыл...

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #5 : Октябрь 16, 2015, 04:38:39 pm »
ПР

Самые интересные моменты в Расчетной задаче:

В задании не сказано, что график устанавливается для каждого Сотрудника или Подразделения (Автомобиля), но сказано, что возможны разные графики. Поэтому создаем спр.Графики, а в рег.свед.Графики добавляем его как измерение.

Поскольку есть ставшая уже родной фраза «В одном документе Начисление ЗП могут быть данные за разные расчетные периоды», то ЧасСтавку оклада получаем не на НачМесДатыДок, а на НачМесяца ПериодаРегистрации каждой записи РР ОН (строки ТЧ ОН)

Данные могут вводиться задним числом, поэтому для движений по ОН надо предусмотреть сторнирование.

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


ОУ

Задача по ОперУчету интересна тем, что в ней требуется продемонстрировать владение механизмом Характеристик.
Обратите внимание, что в этой задаче характеристики указываются не для справочника Номенклатура, а для справочника СвойстваНоменклатуры. В свою очередь справочник Свойства подчиняется справочнику Номенклатура, поэтому можно сказать, что Характеристики относятся к Номенклатуре, но не напрямую, а через спр.Свойства.

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

Учет товаров ведется в разрезе Номенклатуры и Свойств, а уже для каждого Свойства (НабораЗначенийХарактеристик) его характеристики хранятся в регистре сведений.
При поступлении товара, в регистр остатков записывается только Товар, Свойство, Количество и Сумма. При списании укзываются те же поля, то есть регистр сведений в этот момент может быть вообще не заполнен. Данные регистра сведений понадобятся только к моменту формирования отчета.

В схеме компоновки данных, для каждого Свойства (НабораЗначенийХарактеристик), необходимо вывести указанные для него Значения характеристик. На задкладке Характеристики слева указывается тип объектов (спр.Свойства), для которых будут получены ЗначенияХарактеристик, затем источник видов характеристик (ПВХ из которого получать ВидыХарактеристик) и, наконец, хранилище значений этих характеристик – регистр сведений.

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

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 9. Спец по платформе V8
« Ответ #6 : Октябрь 29, 2015, 09:36:23 pm »
Jones дружище спасибо тебе за то что ты есть ))) иду по твоим стопам !!!
Посмотри пожалуйста запрос на разбиение периода перетекающего из месяца в месяц правильно составил или как то можно оптимизировать ?

ВЫБРАТЬ
    НачислениеЗарплатыОсновныеНачисления.НомерСтроки,
    НачислениеЗарплатыОсновныеНачисления.Сотрудник,
    НачислениеЗарплатыОсновныеНачисления.Подразделение,
    НачислениеЗарплатыОсновныеНачисления.ВидРасчета,
    НачислениеЗарплатыОсновныеНачисления.ДатаНачала,
    ВЫБОР
        КОГДА НачислениеЗарплатыОсновныеНачисления.ДатаОкончания > КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, МЕСЯЦ)
            ТОГДА КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, МЕСЯЦ)
        ИНАЧЕ НачислениеЗарплатыОсновныеНачисления.ДатаОкончания
    КОНЕЦ КАК ДатаОкончания
ИЗ
    Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
ГДЕ
    НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НачислениеЗарплатыОсновныеНачисления.НомерСтроки,
    НачислениеЗарплатыОсновныеНачисления.Сотрудник,
    НачислениеЗарплатыОсновныеНачисления.Подразделение,
    НачислениеЗарплатыОсновныеНачисления.ВидРасчета,
    ВЫБОР
        КОГДА НачислениеЗарплатыОсновныеНачисления.ДатаНачала < НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, МЕСЯЦ)
            ТОГДА НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, МЕСЯЦ)
        ИНАЧЕ НачислениеЗарплатыОсновныеНачисления.ДатаНачала
    КОНЕЦ,
    КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, ДЕНЬ)
ИЗ
    Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
ГДЕ
    НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка
« Последнее редактирование: Октябрь 29, 2015, 10:37:04 pm от alex44ru »

margaritka47729

  • Пользователь
  • **
  • Сообщений: 43
Re: Билет 9. Спец по платформе V8
« Ответ #7 : Ноябрь 05, 2015, 02:37:27 am »
Jones , а ведь если подумать, то и не сказано как ставка задается. по сотруднику или подразделению. или сотрудник + подразделение, или вообще общая для всех ... Печаль когда нет уточнений :-[

Ииии... один вопрос: почему написано "   // сторнироваие не нужно " ,
когда в условии сказано " Данные могут вводиться задним числом. " ?)
« Последнее редактирование: Ноябрь 05, 2015, 02:51:09 am от margaritka47729 »

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #8 : Ноябрь 06, 2015, 09:59:38 am »
Посмотри пожалуйста запрос на разбиение периода перетекающего из месяца в месяц правильно составил или как то можно оптимизировать ?
alex44ru, если ты можешь глядя вот так в текст, понять, верен ли он, то поздравляю, ты познал 1с, как Нео познал матрицу ))
Лично я, так вот, глядя в код запроса ошибку в нем вряд ли найду, если только совсем уж грубую.

При решении ПР действую по своей методике:
1) изучаю задачу и строю проект решения с учетом взаимного влияния всех формулировок
2) вношу в конфигурацию все объекты, создаю каркас решения, чтобы потом надо было применять только код (динамически)
3) запускаю Обычное приложение, в котором автоматически открывается КонсольЗапросов. Отключаю сеанс от отладки.
4) запускаю Упр.приложение, заполняю регистры сведений, создаю и заполняю документ Начисление
5) в КонсолиЗапросов создаю запрос, проверяю его, затем один раз переношу его в конфигурацию и динамически применяю.

А вы, коллеги, как добиваетесь высокой скорости при решении задач?
Научите, а то может я туплю и поэтому не успеваю все решить за 5 ч ))

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #9 : Ноябрь 06, 2015, 10:01:15 am »
Ииии... один вопрос: почему написано "   // сторнироваие не нужно " ,
когда в условии сказано " Данные могут вводиться задним числом. " ?)

margaritka47729, Вы совершенно правы. В задаче есть формулировка "Данные могут вводиться задним числом", поэтому для движений по ОН надо предусмотреть сторнирование.

margaritka47729

  • Пользователь
  • **
  • Сообщений: 43
Re: Билет 9. Спец по платформе V8
« Ответ #10 : Ноябрь 08, 2015, 01:46:36 am »

При решении ПР действую по своей методике:
1) изучаю задачу и строю проект решения с учетом взаимного влияния всех формулировок
2) вношу в конфигурацию все объекты, создаю каркас решения, чтобы потом надо было применять только код (динамически)
3) запускаю Обычное приложение, в котором автоматически открывается КонсольЗапросов. Отключаю сеанс от отладки.
4) запускаю Упр.приложение, заполняю регистры сведений, создаю и заполняю документ Начисление
5) в КонсолиЗапросов создаю запрос, проверяю его, затем один раз переношу его в конфигурацию и динамически применяю.

А вы, коллеги, как добиваетесь высокой скорости при решении задач?
Научите, а то может я туплю и поэтому не успеваю все решить за 5 ч ))


Расскажите подробнее п.3 , как вы отключаете сеанс от отладки? А то очень неудобно переключаться туда-сюда...((
PS Тоже не успеваю пока решать за 5ч. Когда засекала время, выяснила, что на билеты Оу/бу уходит по полторача часа. Из них кодинг занимает минут 40, все остальное - забивание данных, отслеживание правильности списываемых сумм и т.д. Задачи по СПР пока занимают аж по 3 часа... а ведь есть еще часть по УФ...

Когда у Вас сдача назначена?

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #11 : Ноябрь 09, 2015, 09:22:07 am »
подробнее п.3
Сервис-Параметры-Общие, Упр и Обычное приложение
Отладка-Подключение, удаляю сеанс из подключенных
обработка КонсольЗапросов запускается автоматом ПриНачалеРаботыСистемы

Роман

  • Пользователь
  • **
  • Сообщений: 44
Re: Билет 9. Спец по платформе V8
« Ответ #12 : Ноябрь 10, 2015, 03:50:21 am »
Привет всем. Jones а твоё выложенное решение от « Ответ #5 : Октября 16, 2015, 04:38:39 pm » ОУ задача уже правильно решена? Или может где либо есть скорректированный вариант. Почему у тебя создан план видов характеристик, но ты его не используешь? Только справочником СвойстваНоменклатуры и пользуешься. В булете 9 же указано условие что с использованием плана видов характеристик.

AlexGroovy

  • Пользователь
  • **
  • Сообщений: 69
  • ФИО: ЫЫЫ
Re: Билет 9. Спец по платформе V8
« Ответ #13 : Ноябрь 10, 2015, 09:27:43 am »
Привет Jones на по моему мнению у тебя ошибка в решении где нужно посчитать больничный ,ты берешь фактдни то есть учитываешь,Рабочие или не рабочие дни,а по логике тут написано,что надо брать тупо количество дней болезни,то есть делаем разностьдат,день +1.

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 9. Спец по платформе V8
« Ответ #14 : Ноябрь 10, 2015, 09:33:47 am »
Почему у тебя создан план видов характеристик, но ты его не используешь?
Вроде использую. ПВХ задействован в рег свед ЗначенияСвойств в измерении ВидХарактеристики.
Или надо как-то по другому использовать?