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

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

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 5. Спец по платформе V8
« Ответ #90 : Июнь 27, 2016, 09:34:51 am »
ОУ:
1 РН Взаиморасчеты, изм. Контрагент, Проект, рек. Сумма. Док. Приход делает приход, док. РТУ - делает расход
БУ:
сч. Товары, ПУ количественный (для списания) - суб Номенклатура, ПУС - суммовой (для себестоимости), ИнвНомер.
сч. ПрибылиУбытки, суб. Номенклатура Инв.номер, оборотные (для отчета)
Итого: на сч. Товары хранятся остатки в разрезе Номен. и Инв. Себестоимость только в разрезе Ном. На сч. ПрибылиУбытки продажи в разрезе Ном. и Инв.
Запрос по остаткам  с 2 итогами
запрос для отчета по ДвиженияССубконто соед. внутр. с собой
СПР:
РС Графики, изм. Дата, График, рес. Значение.
ПВР ОсновныеНачисления, Использует период действия, от базы не зависит. Элемент Оклад
ПВР ДопНачисления. От базы не зависит. Элемент Премия
РР ОсновныеНачисления, ПериодДействия, связь с графиком. Изм. Сотрудник, Подразделение (совместительство), рес. Результат, рек. График (связь с графиком), Размер
РР ДопНачисления. Изм. Сотрудник, рес. Результат, рек. Размер (сумма продаж из РБ по Подразделение оборотное, суммвое субконто сч. ПрибылиУбытки)
Отчет: Объединение двух РР. Осн. начисления - вирт. таблица ДанныеГрафика. В СКД группировка по подр. и сотруднику
Просмотрел Ваше решение, вроде всё неплохо. Что смутило - в обработке проведения документа НачислениеЗарплаты Вы сначала получаете минимальную и максимальную дату внесенных месяцев по надбавке (для последующего ограничения периода оборотного регистра бухгалтерии) - это правильно, но затем просто по подразделению,указанному в табличной части подтягиваете данные из регистра. Здесь, наверно, нужно установить периодичность регистра месяц и делать связь и по периоду. У Вас сейчас получается, что если внести данные за три разных месяца в документе, то сумма продаж подтянется для каждой строки за все три месяца, что не правильно.
И еще - если внести в документ только Оклад, а надбавку не указывать, то будет ошибка при проведении. У Вас всё равно результат запроса, где Вы находите минимальную и максимальную дату будет не пустой, но значениями переменных структуры ДатаНачала и ДатаОкончания будет Null. Я просто делал проверку, если ДопНачисления.Количество()>0 Тогда рассчитывал допначисления
« Последнее редактирование: Июнь 27, 2016, 09:42:08 am от pozitiFFF »

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 5. Спец по платформе V8
« Ответ #91 : Июнь 28, 2016, 12:26:26 pm »
Прикрепляю свой вариант решения. Вдруг (надежда умирает последней) кто-нибудь всё-таки просмотрит решение и напишет отзыв.
« Последнее редактирование: Июнь 28, 2016, 02:28:43 pm от pozitiFFF »


freez1301

  • Пользователь
  • **
  • Сообщений: 68
Re: Билет 5. Спец по платформе V8
« Ответ #92 : Июль 09, 2016, 04:30:34 pm »
Прикрепляю свой вариант решения. Вдруг (надежда умирает последней) кто-нибудь всё-таки просмотрит решение и напишет отзыв.
По СПР:
чтобы не указывать в шкале цифру 9999 можно сделать например так
ЕСТЬNULL(ОНДанныеГрафика.ЗначениеФактическийПериодДействия, 0) <= ШкалаОкладов.До
| ИЛИ ШкалаОкладов.До = 0
По БУ:
в отчете нет условия на корр. счет. Это к тому, что нужно учитывать док-т Операция.
больше ничего не увидел
зы а по поводу моего решения - спасибо за замечания, все верно

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 5. Спец по платформе V8
« Ответ #93 : Июль 10, 2016, 02:43:43 am »
Прикрепляю свой вариант решения. Вдруг (надежда умирает последней) кто-нибудь всё-таки просмотрит решение и напишет отзыв.
По СПР:
чтобы не указывать в шкале цифру 9999 можно сделать например так
ЕСТЬNULL(ОНДанныеГрафика.ЗначениеФактическийПериодДействия, 0) <= ШкалаОкладов.До
| ИЛИ ШкалаОкладов.До = 0
При Вашем варианте сработает проверка, но мне кажется ничего криминального в такой записи в регистре нет, а вот запрос уже немного усложенный, если в моем случае просто Период >=ПериодОт и Период<ПериодДо, до у Вас еще доп проверка на нуль, которая может даже немного сбить с толку. То есть здесь мне кажется, кому уже как удобнее.
По БУ:
в отчете нет условия на корр. счет. Это к тому, что нужно учитывать док-т Операция.
больше ничего не увидел
Да, Вы правы. По хорошему здесь необходим отбор в полях по корсчету, а также в параметрах виртуальной таблицы условие КорСчет в &СписокКорСчетов.
« Последнее редактирование: Июль 10, 2016, 12:08:57 pm от pozitiFFF »

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 5. Спец по платформе V8
« Ответ #94 : Июль 10, 2016, 02:45:25 am »
freez1301, когда планируете сдавать?

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #95 : Июль 10, 2016, 06:18:52 pm »
По поводу пятого билета на экзамене он вроде немного другой.
"В одном документе могут быть данные за разные расчетные периоды." - эту фразу вроде убрали и Там еще штраф добавили. Вроде сколько то рублей в случае 10 минутного опоздания. Точно не скажу. Но билет отличается немного. в зарплатной части


Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #96 : Июль 10, 2016, 06:24:28 pm »
pozitiFFF,
В ОУ задаче сказано что количество =1. у Вас если я правильно увидел, вы количество берете из документа. Мне кажется реквизит количество надо удалить из расходной накладной. а в регистр бух делать движение количество =1.
Я ОУ задачу на двух регистрах делал. интересно у экзаменаторов есть предпочтения к решению на одном или двух регистрах.
У вас галочка "автоупорядочивание" не стоит в запросе приход денег.
Для чего это "Движения.Управленческий.Очистить();" в процедуре проведения приходной накладной.
В запросе расходной накладной мне кажется количествоПоНоменклатуре лишнее. есть количествоОстаток Мах.

еще Вы всегда пишете Если отказ тогда Продолжить, почему нельзя написать Продолжить снизу в то же условие, где отказ=истина
Мне говорили, что если берем субконто то лучше к ТаблицеДтКт не обращаться. не знаю верно или нет.
« Последнее редактирование: Июль 11, 2016, 01:01:20 am от Анатолий »

freez1301

  • Пользователь
  • **
  • Сообщений: 68
Re: Билет 5. Спец по платформе V8
« Ответ #97 : Июль 10, 2016, 09:08:48 pm »
freez1301, когда планируете сдавать?
сдавать планирую через пару недель. Буду сдавать дистанционно. Видел Ваш отзыв - какая то жесть а не экзамен у Вас вышел )) надеюсь, что будет положительный результат судя по Вашим решениям )

freez1301

  • Пользователь
  • **
  • Сообщений: 68
Re: Билет 5. Спец по платформе V8
« Ответ #98 : Июль 10, 2016, 09:32:38 pm »
По поводу пятого билета на экзамене он вроде немного другой.
"В одном документе могут быть данные за разные расчетные периоды." - эту фразу вроде убрали и Там еще штраф добавили. Вроде сколько то рублей в случае 10 минутного опоздания. Точно не скажу. Но билет отличается немного. в зарплатной части
Я так понимаю должно быть какое регламентное время выхода на работу. В этом случае реквизиты ДатаНачала и ДатаОкончания в ТЧ НЗ должны иметь тип Дата+Время. И Если ДатаНачала >= РегВремениВыхода, то получаем разницу в минутах, и пишем ее с видом расчета Штраф?

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #99 : Июль 10, 2016, 11:01:59 pm »
Не знаю. Я не помню точно формулировку задания. Но знаю что там штраф добавили. Получить бы актуальные задания где-нибудь бесплатно.
Мне кажется нужно в рег.сведений заносить опоздания. Периодичность в пределах дня. Измерение сотрудник, ресурс Дата и ресурс ОпозданиеВМинутах (тип число).
Запросом непонятно как получать. срез не подходит. По физичесткой таблице Регистра сведений(условие между дата начала и дата конца и ОпозданиеВМинутах >10). Выразить(ОпозданиеВМинутах/10 как Число(10,0)). Обозвать его КоличествоОпозданий. сгруппировать по сотруднику, по ЕоличествуОпозданий суммировать. Результат = 100руб*КоличествоОпозданий.
Может так прокатит.
Или может создать документ Опоздания. Там фиксировать время минутОпоздания и закидывать в регистр накопления оборотный.
Предварительно проверив запросом из этого регистра были уже обороты за этот день или нет.  ВремяОпоздания=ВремяОпоздания-ВремяОпоздания%10;. Здесь можно будет получать обороты по виртуальной таблице.

Может можно как попроще
« Последнее редактирование: Июль 10, 2016, 11:13:39 pm от Анатолий »

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #100 : Июль 10, 2016, 11:57:07 pm »
как меня достали эти задачи

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #101 : Июль 11, 2016, 03:55:04 am »
Посмотрите если не сложно на задачу по зарплате.
У меня там запрос в цикле. Как думаете такое проканает? Это решение для меня простое и легче материлиазовать на экзамене в условиях нехватки времени.
И еще мне отчет не нравится по зарплате. Что можно сделать чтоб он доп.начисления брал не по периоду регистрации, а именно за какой месяц начислено (т.е. в документе между ДатаНачала и ДатаКонца). Как эти даты в регистр засунуть? никак? может использовать галочку использует период действия. Еще мне не нравится что регистр доп начислений - физическая таблица и условие сработает вроде как после того как он соберет все, а потом отбирать начнет. Или нет, СКД может оптимизирует это.

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #102 : Июль 11, 2016, 04:11:19 am »
забыл вложить.
вот здесь

Анатолий

  • Проверенный
  • ***
  • Сообщений: 134
Re: Билет 5. Спец по платформе V8
« Ответ #103 : Июль 11, 2016, 05:26:56 pm »
кто знает мнение экзаменаторов. запрос в цикле - это очень плохо или нормально?

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 5. Спец по платформе V8
« Ответ #104 : Июль 12, 2016, 06:36:58 am »
кто знает мнение экзаменаторов. запрос в цикле - это очень плохо или нормально?

Запрос в цикле - это очень плохо. Надо этого избегать.
Единственное где этот вариант может быть возможен, когда в документе вид расчета зависит по базе сам от себя и данные за разные расчетные периоды. Но и здесь было описание, что кто то так реализовал и написал в пояснении, что иного пути не было. Решение посчитали неправильным. Так что очень не рекомендую.