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

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

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #45 : Октябрь 22, 2015, 08:01:27 am »
Нет, это когда факт период действия получается отклонением от нормального (например, вытеснениями).
Странное условие задачи, так как тут нет вытесняющих видов расчета

Подразделение - реквизит РР. Если совместительство допускается, подразделение - измерение РР (Автомобиль - всегда реквизит  :) ).
Я в своем решении все таки сделал подразделение измерением.

Во первых это логично резать РР по организациям, подразделениям, сотрудникам, но организаций у нас нет в задаче так что не нужно.

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

Возможно это извращение, но в своем решении реализовал так:
Создал справочник сотрудники, подчинил подразделениям. У сотрудников отключил Наименование поставив длину 0, поставил контроль уникальности кода во всем справочнике и добавил реквизит с ссылкой на справочник физ лицо. Добавил обработчик перед записью написав в нем код: Код = ФизЛицо.Наименование. В итоге исполнил условие что каждый сотрудник может работать только в одном подразделении совместительство не допускается, платформа сама все проконтролирует. Ну и документа в ТЧ поставил связи параметров выбора. Решение считаю адекватным заданию, на аттестации я думаю оспаривать бы его не стали.

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #46 : Октябрь 22, 2015, 03:17:04 pm »
Выкладываю полное решение Билет № 1

По поводу совместительства СПР намудрил конечно я, но такой вариант тоже верен совместительство поставить не получиться, правда на аттестации такое реализовывать наверное не стоит тратить время.

Как и прежде жду критики решения, очень жду )


Dzenga

  • Новичок
  • *
  • Сообщений: 8
Re: Билет 1. Спец по платформе V8
« Ответ #47 : Октябрь 25, 2015, 09:59:39 am »
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 1. Спец по платформе V8
« Ответ #48 : Октябрь 25, 2015, 01:51:07 pm »
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой

Видимо по субконто "Сроки годности" отключен суммовой учет.

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #49 : Октябрь 25, 2015, 08:59:06 pm »
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой
В каком документе, в какой процедуре ?

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #50 : Октябрь 26, 2015, 01:04:53 pm »
Обновил решение.
* Поправил получение процента премии из РС задачи СПР

Dzenga

  • Новичок
  • *
  • Сообщений: 8
Re: Билет 1. Спец по платформе V8
« Ответ #51 : Октябрь 26, 2015, 04:35:19 pm »
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой
В каком документе, в какой процедуре ?

В документе "Расходная накладная" в обработке проведения по бухгалтерскому учету, если в отладке вычислить РезультатЗапроса.Выгрузить() то получается таблица, как я указал выше. Тоже решаю Билет 1, у меня как и у Вас получается эта строка.

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #52 : Октябрь 27, 2015, 09:03:57 pm »
В документе "Расходная накладная" в обработке проведения по бухгалтерскому учету, если в отладке вычислить РезультатЗапроса.Выгрузить() то получается таблица, как я указал выше. Тоже решаю Билет 1, у меня как и у Вас получается эта строка.
Как Вам уже ответили по субконто "Сроки годности" отключен суммовой учет.

zorky

  • Проверенный
  • ***
  • Сообщений: 222
  • ФИО: ЗЖВ
Re: Билет 1. Спец по платформе V8
« Ответ #53 : Октябрь 29, 2015, 04:28:09 pm »
Всем привет! 

Начал только решать ЗП, теорию вроде освоил мало-мало )))
Первый билет. Посмотрите кто делал:

Сразу вопросы, тут пробежался - а вопросы остались открытыми:

1)  Движения.ОсновныеНачисления.Записывать = Истина;
   Движения.ОсновныеНачисления.Очистить();
   
   Движения.ДополнительныеНачисления.Записывать = Истина;
   Движения.ДополнительныеНачисления.Очистить();

 - Очищать ли старые движения??? И нужно ли ещё Движения.ДополнительныеНачисления.Записать();  ?
    чтобы записать пустой набор записей по аналогии с Регистрами Накопления?
2) Про Период Регистрации:   Почему нельзя взять его от Даты документа?  Или всё же необходимо его вручную писать в документе...неудобно как-то имхо.

3) Про измерения в ВТ ДополнительныеНачисленияБазаОсновныеНачисления   - указываю одно "Сотрудник", -норм отрабатывает, указываю ещё "Подразделения" - точно также  )) сколько указывать то лучше

4)Видел в решениях, Базовый период не указывают в ТЧ (т.к. он берётся за тот же месяц,что и оклад) - и берут его от периода Регистрации, а может в этой задаче нужно поставить галочку у ВР Премия "Период действия как базовый период"??? Как думаете.

Ну и про совместительство... Как быть с этой ситуацией. Действительно, Измерение "" у РР не делать - это правильно будет? в отчёте же не нужно "Подразделение"...

Выкладываю базу-может кто глянет...
« Последнее редактирование: Октябрь 29, 2015, 04:30:37 pm от zorky »

alex44ru

  • Пользователь
  • **
  • Сообщений: 32
  • ФИО: Александр
Re: Билет 1. Спец по платформе V8
« Ответ #54 : Октябрь 29, 2015, 09:24:22 pm »
- Очищать ли старые движения???
И нужно ли ещё Движения.ДополнительныеНачисления.Записать();  ?
    чтобы записать пустой набор записей по аналогии с Регистрами Накопления?

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

Про Период Регистрации:   Почему нельзя взять его от Даты документа?

Как раз период регистрации и надо брать от даты документа, посмотри решения других

Про измерения в ВТ ДополнительныеНачисленияБазаОсновныеНачисления   - указываю одно "Сотрудник", -норм отрабатывает, указываю ещё "Подразделения" - точно также  )) сколько указывать то лучше

Указывать оба так как если вдруг у тебя сотрудник будет работать в 2 подразделениях, то ты получить не ту базу

Видел в решениях, Базовый период не указывают в ТЧ (т.к. он берётся за тот же месяц,что и оклад) - и берут его от периода Регистрации, а может в этой задаче нужно поставить галочку у ВР Премия "Период действия как базовый период"??? Как думаете.

Сдается мне ты что то перепутал так как такой галочки нет, есть галочка Базовый период как период действия, тут уже совсем другой смысл

Ну и про совместительство... Как быть с этой ситуацией. Действительно, Измерение "" у РР не делать - это правильно будет? в отчёте же не нужно "Подразделение"...

если совместительство запрещено делай Подразделение реквизитом, если нужно совместительство то измерением

... может я конечно не прав, но я делаю так ...

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 1. Спец по платформе V8
« Ответ #55 : Октябрь 30, 2015, 10:15:51 am »
- Очищать ли старые движения???
И нужно ли ещё Движения.ДополнительныеНачисления.Записать();  ?
    чтобы записать пустой набор записей по аналогии с Регистрами Накопления?

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


1. Экзамен уже давно принимается на упр.формах. Большинство форумчан при подготовке работают именно с ними.
2. Зачем нужны строки:
Движения.Основной.Очистить();
Движения.Основной.Записать();
Движения.Основной.Записывать = Истина;


Данная конструкция нужна только в ОУ и БУ, да и то лишь в случае использования старой методики контроля остатков,
когда сначала делается запрос к остаткам (+к себестоимости), а уже по результатам этого запроса формируются движения.

В результат запроса не дожны попасть движения сделанные ранее этим же документом (если он проведен), поэтому делаются первые две строки
Движения.Основной.Очистить();
Движения.Основной.Записать();


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

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

2) Про Период Регистрации:   Почему нельзя взять его от Даты документа?  Или всё же необходимо его вручную писать в документе

В задаче внизу идет ключевая фраза: "В одном документе могут быть данные за разные расчетные периоды"
Она означает, что ПерРег у каждой записи может быть своим, то есть заполнять его из ДатыДон - это упрощение задачи.
Значит ПерРег надо делать в ТЧ и расчеты начислений выполнять от него.

3) Про измерения в ВТ ДополнительныеНачисленияБазаОсновныеНачисления   - указываю одно "Сотрудник", -норм отрабатывает, указываю ещё "Подразделения" - точно также  )) сколько указывать то лучше

В начале задачи сказано: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". В этом случае Подразделение должно быть реквизитом, а измерением его надо делать когда совместительство допускается.

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

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 1. Спец по платформе V8
« Ответ #56 : Октябрь 30, 2015, 02:29:38 pm »
 Jones,
Не посоветуешь как лучше реализовывать условие на услугу на твой взгляд?

Допустимо ли делать так?

...   

    РезультатЗапроса = Запрос.Выполнить();
    Движения.ОстаткиНоменклатуры.Загрузить(РезультатЗапроса.Выгрузить());  // здесь я выгружаю в ТЗ
   
   
    //////////БУХ УЧЕТ////////////////////////
    Движения.РегистрБухгалтерии1.Записывать = Истина;
   
    Выборка = РезультатЗапроса.Выбрать();   //здесь инициирую выборку
    Пока Выборка.Следующий() Цикл
....

Т.е. сначала ТЗ, потом выборка из одного и того же запроса
« Последнее редактирование: Октябрь 30, 2015, 02:40:12 pm от HRom »

venvlad

  • Пользователь
  • **
  • Сообщений: 83
Re: Билет 1. Спец по платформе V8
« Ответ #57 : Октябрь 30, 2015, 05:03:49 pm »
Всем привет!) Моё. Рад конструктивной критике.

zorky

  • Проверенный
  • ***
  • Сообщений: 222
  • ФИО: ЗЖВ
Re: Билет 1. Спец по платформе V8
« Ответ #58 : Октябрь 30, 2015, 07:27:13 pm »
Всем привет!) Моё. Рад конструктивной критике.

Мельком глянул, ОУ и БУ вроде без ошибок, только ИНДЕКСИРОВАТЬ надо бы в ВТ сделать, говорят смотрят и отнимают баллы ;)

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

А крупная и фатальная ошибка - это не учитывается условие "В одном документе могут быть данные за разные расчётные периоды".  И "Оклад может меняться".  Вы берёте СрезПоследних на одну дату, (почему то на дату документа?)  - а нужно брать СрезПоследних на Начало Расчётного Периода - для КАЖДОЙ записи, а он у них может быть разный ;))  Посмотрите как сделано, я недавно выкладывал(но там косяки но другие) или у кого-нить тут много правильных решений.


« Последнее редактирование: Октябрь 31, 2015, 08:54:21 am от zorky »

venvlad

  • Пользователь
  • **
  • Сообщений: 83
Re: Билет 1. Спец по платформе V8
« Ответ #59 : Октябрь 30, 2015, 08:20:57 pm »
Всем привет!) Моё. Рад конструктивной критике.

Мельком глянул, ОУ и БУ вроде без ошибок, только ИНДЕКСИРОВАТЬ надо бы в ВТ сделать, говорят смотрят и отнимают баллы ;)

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

А крупная и фатальная ошибка - это не учитывается условие "В одном документе могут быть данные за разные расчётные периоды".  И "Оклад может меняться".  Вы берёте СрезПоследних на одну дату, (почему то на дату документа?)  - а нужно брать СрезПоследних на Начало Расчётного Периода - для КАЖДОЙ записи, а он у них может быть разный ;))  Посмотрите как сделано, я недавно выкладывал(но там косяки но другие) или у кого-нить тут много правильных решений.


ПС:  Уважаемые Alexx44ru  и Jones,  посмотрите плиз мой предыдущий пост - там есть ответы-вопросы..)
По поводу стажа. А как же условие: При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.