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

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

Kremlin

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #525 : Май 18, 2017, 01:21:51 pm »
Kremlin, посмотрел ОУ в твоем билете.
Вроде красиво всё.
Один вопрос по оперативному проведению.
Ты присваиваешь пустую дату, если оперативный режим.
А там разве не НЕОПРЕДЕЛЕНО надо?
Есть ли разница между пустой датой ?
Разница есть, я сейчас не вспомню какая именно. Но для себя запомнил, что брать пустую дату более правильней чем НЕОПРЕДЕЛЕНО

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Re: Билет 1. Спец по платформе V8
« Ответ #526 : Май 18, 2017, 01:31:18 pm »
Kremlin, посмотрел твоё решение по БП.
Да, без Петрова можно обойтись :-)
Здесь персональная адресация идет -
задача ему сразу и попадает.
Есть вопрос по действию "Отгрузка".
У тебя стоит галочка в конфигураторе "Групповая".
И создается 3 задачи на отгрузку - на каждого кладовщика своя.
Разве так должно быть ?
У меня в решении 1 задача создается, галочку "Групповая" я не ставил.
ОУ не смотрел ещё.
флажок "групповая" ставим, если на блок-схеме прямоугольник объемный(тень отбрасывает) :)

Kremlin, ты прав насчет "Групповая" !
Тут нужна галочка!
Цитирую сборник задач для подготовки к экзамену:
"Необходимо иметь в виду, что в зависимости от
настройки карты маршрута, в каждой ее точке,
может быть создана одна или несколько задач".

Спасибо что обратил внимание, я вообще пропустил
это "мимо ушей" !



АндрейН

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #527 : Май 20, 2017, 07:54:57 pm »
Просьба посмотреть, проверить решение первого билета. Решены все задачи билета.

Tilirxs

  • Пользователь
  • **
  • Сообщений: 11
  • ФИО: Timur
Re: Билет 1. Спец по платформе V8
« Ответ #528 : Май 21, 2017, 10:22:13 pm »
Подскажите кто нибудь. Для чего перед записью мы очищаем и записываем регистр бухгалтерии?
      Движения.Управленческий.Очистить();
      Движения.Управленческий.Записать();



Я спрашиваю к тому что не легче просто у документа указать автоматически удалять движения? В чем преимущества этого способа?
« Последнее редактирование: Май 21, 2017, 10:31:47 pm от Tilirxs »

Juliamosus

  • Новичок
  • *
  • Сообщений: 7
Re: Билет 1. Спец по платформе V8
« Ответ #529 : Май 22, 2017, 05:38:28 pm »
Просьба посмотреть, проверить решение первого билета. Решены все задачи билета.

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

БУ : в расходной накладной Движения.Управленческий.БлокироватьДляИзменения = истина - лишнее. В запросах не опеределены типы субконто. Проводку Дт «Покупатели» - Кт «Прибыли и убытки» на сумму в продажных ценах делаете в цикле, а нужна одна на документ. Не поняла, зачем на ПланеСчетов признак учета ФлСумм и признак учета субконто ФлКол?
В отчете тоже не определены типы субконто. На счетах Покупатели и Поставщики вы поставили субконто Контрагенты, это лишнее, если что-то не указано в задаче, не нужно усложнять себе жизнь  ;).

СПР : Я не уверена, но в ПВР ДопНачисления зависимость от базы по периоду действия, а не регистрации. Не реализовано учловие "В одном документе могут быть данные за разные расчетные периоды.", т.е. в ТЧ нужен реквизит ПериодРегистрации и значение оклада брать по нему. Вместо Движения.ОсновныеНачисления.Записать() и Движения.ДополнительныеНачисления.Записать() нужно - Движения.Записать(). Зачем в общем модуле вы обращаетесь к тч документа? все,что можно получить из документа нужно делать на модуле объекта, .т.е. в обработке проведения. В запросе соединение внутреннее, это не правильно, нет проверки на NULL. Не реализовано условие " При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.", нужен еще один регистр сведений со стажем. Вы стаж вычисляете не в запросе, по мне оптимальнее по максимуму все рассчитывать в нем. В РР ОсновныеНачисления лишний реквизит Подразделение.

Во общем,что увидела написала. Единственно, на живых примерах не тестила. Не претендую, что все мои замечания абсолютно верны.Могла накосячить. К тому же насчет очистки записей регистров пока не разобралась как правильно... Не могу найти ответа  :-[
« Последнее редактирование: Май 22, 2017, 06:03:17 pm от Juliamosus »

АндрейН

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #530 : Май 23, 2017, 08:21:28 pm »
ОУ, БУ, СПР
Спасибо.
ОУ : в приходной накладной нет проверки на вид товара.
Думаю это одна из тех проверок, который пользователь сам должен проверить. Иначе можно много всего проверять - на дубли, на незаполненность, на пустые строки.

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

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

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

БУ : в расходной накладной Движения.Управленческий.БлокироватьДляИзменения = истина - лишнее.
Есть какое-то обсуждение что таким образом блокируются старые движения на случай отмены транзакции при проведении
В запросах не опеределены типы субконто.
Согласен, ошибка.
Проводку Дт «Покупатели» - Кт «Прибыли и убытки» на сумму в продажных ценах делаете в цикле, а нужна одна на документ.

Согласен, ошибка.
зачем на ПланеСчетов признак учета ФлСумм и признак учета субконто ФлКол?
Подумал - не нужны.
В отчете тоже не определены типы субконто.
ОК

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

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

Вместо Движения.ОсновныеНачисления.Записать() и Движения.ДополнительныеНачисления.Записать() нужно - Движения.Записать().
Наверное так лучше. Но как у меня это не должно быть ошибкой.

Зачем в общем модуле вы обращаетесь к тч документа? все,что можно получить из документа нужно делать на модуле объекта, .т.е. в обработке проведения.
Я же обращаюсь в запросе к ТЧ в базе данных. А как по-другому? Обращаться к движениям.

В запросе соединение внутреннее, это не правильно, нет проверки на NULL.
В чём неправильное? Во внутреннем соединении нет NULLов

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

В РР ОсновныеНачисления лишний реквизит Подразделение.
Есть же условие "Каждый сотрудник может работать только в одном подразделении" - значит лучше учитывать


Juliamosus

  • Новичок
  • *
  • Сообщений: 7
Re: Билет 1. Спец по платформе V8
« Ответ #531 : Май 23, 2017, 08:52:15 pm »
ОУ : в приходной накладной нет проверки на вид товара.
Думаю это одна из тех проверок, который пользователь сам должен проверить. Иначе можно много всего проверять - на дубли, на незаполненность, на пустые строки.
- на экзамене я так и сделала, итог ошибка - неверно учитываются услуги, правда они не разъяснили в чем конкретно, но т.к. в расходнике была проверка, поэтому вывод, что дело в приходнике.

В расходной накладной нет блокировки на РН Партии.
В одном из примеров с описанием специально не блокировался второй регистр т.к. блокирован первый регистр и невозможно работать с РНПартии и не работать с регистром ОстаткиНоменклатуры. Нет документов, которые бы работали только с РНПартии
Согласен - надо или блокировать, или писать комментарий
- разъясните, я что-то не понимаю. БлокироватьДляИзменения блокирует записи данного документа, а блокировку данных мы устанавливаем,чтобы никто не изменил остатки пока проводится документ. Разве не так?

Зачем в общем модуле вы обращаетесь к тч документа? все,что можно получить из документа нужно делать на модуле объекта, .т.е. в обработке проведения.
Я же обращаюсь в запросе к ТЧ в базе данных. А как по-другому? Обращаться к движениям.
ну это конечно не ошибка, просто я привыкла по-другому ;D

В запросе соединение внутреннее, это не правильно, нет проверки на NULL.
В чём неправильное? Во внутреннем соединении нет NULLов
да, здесь тоже нет ошибки, видимо так торопилась,что не вдумалась

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

В РР ОсновныеНачисления лишний реквизит Подразделение.
Есть же условие "Каждый сотрудник может работать только в одном подразделении" - значит лучше учитывать
вот именно, в чем смысл подразделения? совместительств быть не может, т.е. каждый сотрудник жестко прикреплен к конкретному подразделению




Tilirxs

  • Пользователь
  • **
  • Сообщений: 11
  • ФИО: Timur
Re: Билет 1. Спец по платформе V8
« Ответ #532 : Май 23, 2017, 10:40:51 pm »
Подскажите кто нибудь. Для чего перед записью мы очищаем и записываем регистр бухгалтерии?
      Движения.Управленческий.Очистить();
      Движения.Управленческий.Записать();



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

Неужели все просто так пишут и не задаются вопросом???

Juliamosus

  • Новичок
  • *
  • Сообщений: 7
Re: Билет 1. Спец по платформе V8
« Ответ #533 : Май 23, 2017, 10:46:56 pm »
Подскажите кто нибудь. Для чего перед записью мы очищаем и записываем регистр бухгалтерии?
      Движения.Управленческий.Очистить();
      Движения.Управленческий.Записать();



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

Неужели все просто так пишут и не задаются вопросом???

Павел Чистов где-то объяснял,почему автоматическое удаление не есть хорошо. Не могу найти

Juliamosus

  • Новичок
  • *
  • Сообщений: 7
Re: Билет 1. Спец по платформе V8
« Ответ #534 : Май 23, 2017, 10:50:55 pm »
Подскажите кто нибудь. Для чего перед записью мы очищаем и записываем регистр бухгалтерии?
      Движения.Управленческий.Очистить();
      Движения.Управленческий.Записать();



Я спрашиваю к тому что не легче просто у документа указать автоматически удалять движения? В чем преимущества этого способа?
Очистить() используется исключительно для универсальности проведения в обычных и упр формах, а также при наличии прочитанных движений. В этой задаче мы принудительно записываем пустой набор, для того, чтобы при чтении остатков старые движения не попали в расчет виртуальных таблиц   Источник: ©Курсы-по-1С.рф


АндрейН

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #535 : Май 24, 2017, 06:30:04 pm »
- на экзамене я так и сделала, итог ошибка - неверно учитываются услуги, правда они не разъяснили в чем конкретно, но т.к. в расходнике была проверка, поэтому вывод, что дело в приходнике.
Может в чём-то другом была ошибка с услугами... Такая ситуация что пользователь захочет оприходовать услуги...какая-то странная.

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

вот именно, в чем смысл подразделения? совместительств быть не может, т.е. каждый сотрудник жестко прикреплен к конкретному подразделению
То что совместительств нет - это не значит что каждый сотрудник жёстко прикреплён к подразделению. Подразделение по-идее может меняться хоть по несколько раз в месяц. Главное что одновременно он и там и там работать не может - совместительство запрещено. Поэтому подразделение - реквизит.

Kremlin

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #536 : Май 26, 2017, 05:20:35 am »
АндрейН, фраза "совместительство быть не может" как раз и означает, что не может сотрудник работать в двух или более подразделениях. Значит измерение "Подразделение" в расчетных регистрах не нужно. Проверку на услуги нужно делать в модуле документов, можно сразу в запросе откидывать условием. Рекомендую посмотреть видео Павла Чистова, также хороши решения билетов от SAE. А сейчас у вас много мыслей, своих додумок и народ в заблуждение вводите ими.

АндрейН

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #537 : Май 27, 2017, 11:46:49 am »
АндрейН, фраза "совместительство быть не может" как раз и означает, что не может сотрудник работать в двух или более подразделениях. Значит измерение "Подразделение" в расчетных регистрах не нужно. Проверку на услуги нужно делать в модуле документов, можно сразу в запросе откидывать условием. Рекомендую посмотреть видео Павла Чистова, также хороши решения билетов от SAE. А сейчас у вас много мыслей, своих додумок и народ в заблуждение вводите ими.
Вы путаете и неправильно прочитали мой пост, а потом обвиняете меня что я кого то ввожу в заблуждение - вашим неправильным прочтением.

Где я пишу что Подразделение должно быть измерением? Подразделение должно быть реквизитом. Вы ведь разницу понимаете?
То что совместительство запрещено, запрещает одновременно работать в двух подразделениях. Но не запрещает переходить из подразделения в подразделение.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 1. Спец по платформе V8
« Ответ #538 : Май 27, 2017, 12:05:00 pm »
подразделение
Выскажу свою т.з. по данному моменту.
Сначала посмотрел своё решение, т.к. уже ничего не помню.  :D
У меня подразделения нет вообще в этой задаче. И действительно, подразделение, хоть и упоминается в тексте, но не влияет на решение никак, т.к. оклад от подразделения не зависит, и в отчете выводить данные по подразделениям не требуется.
С другой стороны, подразделение в тексте таки упоминается. И, пожалуй, соглашусь с вами, что вполне логично выглядит отражение этого факта в решении, в частности, при начислении з/п и записи данных в РР.
« Последнее редактирование: Май 27, 2017, 12:14:32 pm от alex1248 »

АндрейН

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #539 : Май 27, 2017, 04:20:41 pm »
Наверное как использовать реквизит Подразделение, так и не использовать ошибкой в данной задаче не будет. Реквизит места не занимает и на производительность не влияет.

Ещё спорный вопрос по данной задаче - учёт услуг? В 1 и во 2 билете упоминается это.
1) Надо ли в приходе проверять что пользователь ввёл услугу? По-моему нет. Но и проверку вставить - не проблема.
2) В расходе по услугам не надо проверять остаток - просто списать.
3) В расходе количество ставить "0" чтобы не было отрицательных остатков.
Или лучше отдельный регистр для услуг - без количества и без склада? Т.к. в остатки(билет 1), или в партии(билет 2) как-то неправильно услуги записывать
Ещё что-то?