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

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

Random4Fun

  • Пользователь
  • **
  • Сообщений: 22
Re: Билет 1. Спец по платформе V8
« Ответ #90 : Январь 28, 2016, 11:33:42 am »
Выкладываю исправленное решение расчетной задачи.
В прошлой версии доп начисления не удовлетворяли условию "В одном документе могут быть данные за разные расчетные периоды." Добавил в ТЧ доп начисления реквизиты по базовому периоду.

Буду рад критике и отвечу на любые вопросы готовящихся.

АСБ

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Ааа
Re: Билет 1. Спец по платформе V8
« Ответ #91 : Февраль 21, 2016, 07:56:11 am »
Проверьте пожалуйста, подсматривал другие примеры, но старался всё сделать как можно стандартнее и менее запутано (по крайней мере для себя :) )


Odines

  • Проверенный
  • ***
  • Сообщений: 112
  • ФИО: Odines
Re: Билет 1. Спец по платформе V8
« Ответ #92 : Февраль 22, 2016, 09:46:01 pm »
Первый решенный билет.
Очень важно мнение опытных готовящихся.
Если не сложно прошу пройтись одним глазком.

Обратил внимание что задачи проще чем в сборнике. Или это первый билет только проще? Или все?

Silverman

  • Новичок
  • *
  • Сообщений: 5
  • ФИО: Silverman
Re: Билет 1. Спец по платформе V8
« Ответ #93 : Февраль 26, 2016, 11:26:08 am »
Всем привет. Сделал ОУ из первого билета. Есть один небольшой вопрос. При контроле остатков по партиям по способу Чистова возникает такая ситуация: в параметре виртуальной таблицы остатков используется значение параметра МоментВремени(), но т.к. разрешено оперативное проведение, то при проведении дата все время сдвигается и в остатки попадают движения самого документа. Я убрал возможность проводить документ оперативно и проблема исчезла. Может есть более правильный способ это обойти.
Может кто-то заодно покритикует решение.

Daria

  • Новичок
  • *
  • Сообщений: 8
Re: Билет 1. Спец по платформе V8
« Ответ #94 : Февраль 28, 2016, 03:24:05 pm »
Всем привет. Сделал ОУ из первого билета. Есть один небольшой вопрос. При контроле остатков по партиям по способу Чистова возникает такая ситуация: в параметре виртуальной таблицы остатков используется значение параметра МоментВремени(), но т.к. разрешено оперативное проведение, то при проведении дата все время сдвигается и в остатки попадают движения самого документа. Я убрал возможность проводить документ оперативно и проблема исчезла. Может есть более правильный способ это обойти.
Может кто-то заодно покритикует решение.

Добрый день!
Замечания по док. "Расходная накладная" следующие:
1) Правильней делать группировку по таб. части и потом её уже обходить выборкой, отобрав только нужные товары и далее с помощью менеджера временных таблиц использовать эти данные во всех последующих запросах.
2)Учетную политику необходимо проверять в начале обработки проведения, если же она не заполнена, то выполнять дальнейшие действия нет смысла. Если она не заполнена необходимо выводить сообщение пользователю.
3) У Вас дублирование текста при проверки метода списания, это плохой тон программирования. Достаточно один раз прописать, а с помощью функции СтрЗаменить менять упорядочивание в зависимости от результата метода списания.
4) Нет блокировок по регистру себестоимости.
5) В запросе себестоимости неправильно установлен параметр период. Необходимо проверять на режим проведения.
6) По рег. себестоимости нет очистки и записи пустого набора движений, для того чтобы можно было перепровести документ.
« Последнее редактирование: Февраль 28, 2016, 03:29:24 pm от Daria »

Silverman

  • Новичок
  • *
  • Сообщений: 5
  • ФИО: Silverman
Re: Билет 1. Спец по платформе V8
« Ответ #95 : Февраль 29, 2016, 03:24:33 pm »
Всем привет. Сделал ОУ из первого билета. Есть один небольшой вопрос. При контроле остатков по партиям по способу Чистова возникает такая ситуация: в параметре виртуальной таблицы остатков используется значение параметра МоментВремени(), но т.к. разрешено оперативное проведение, то при проведении дата все время сдвигается и в остатки попадают движения самого документа. Я убрал возможность проводить документ оперативно и проблема исчезла. Может есть более правильный способ это обойти.
Может кто-то заодно покритикует решение.

Добрый день!
Замечания по док. "Расходная накладная" следующие:
1) Правильней делать группировку по таб. части и потом её уже обходить выборкой, отобрав только нужные товары и далее с помощью менеджера временных таблиц использовать эти данные во всех последующих запросах.
2)Учетную политику необходимо проверять в начале обработки проведения, если же она не заполнена, то выполнять дальнейшие действия нет смысла. Если она не заполнена необходимо выводить сообщение пользователю.
3) У Вас дублирование текста при проверки метода списания, это плохой тон программирования. Достаточно один раз прописать, а с помощью функции СтрЗаменить менять упорядочивание в зависимости от результата метода списания.
4) Нет блокировок по регистру себестоимости.
5) В запросе себестоимости неправильно установлен параметр период. Необходимо проверять на режим проведения.
6) По рег. себестоимости нет очистки и записи пустого набора движений, для того чтобы можно было перепровести документ.

Спасибо за комментарии! Поправил. Надеюсь теперь все верно.

SAM

  • Пользователь
  • **
  • Сообщений: 56
  • ФИО: Сергей
Re: Билет 1. Спец по платформе V8
« Ответ #96 : Февраль 29, 2016, 11:06:30 pm »
Всем привет. Сделал ОУ из первого билета. Есть один небольшой вопрос. При контроле остатков по партиям по способу Чистова возникает такая ситуация: в параметре виртуальной таблицы остатков используется значение параметра МоментВремени(), но т.к. разрешено оперативное проведение, то при проведении дата все время сдвигается и в остатки попадают движения самого документа. Я убрал возможность проводить документ оперативно и проблема исчезла. Может есть более правильный способ это обойти.
Может кто-то заодно покритикует решение.

Добрый день!
Замечания по док. "Расходная накладная" следующие:
1) Правильней делать группировку по таб. части и потом её уже обходить выборкой, отобрав только нужные товары и далее с помощью менеджера временных таблиц использовать эти данные во всех последующих запросах.
2)Учетную политику необходимо проверять в начале обработки проведения, если же она не заполнена, то выполнять дальнейшие действия нет смысла. Если она не заполнена необходимо выводить сообщение пользователю.
3) У Вас дублирование текста при проверки метода списания, это плохой тон программирования. Достаточно один раз прописать, а с помощью функции СтрЗаменить менять упорядочивание в зависимости от результата метода списания.
4) Нет блокировок по регистру себестоимости.
5) В запросе себестоимости неправильно установлен параметр период. Необходимо проверять на режим проведения.
6) По рег. себестоимости нет очистки и записи пустого набора движений, для того чтобы можно было перепровести документ.

Спасибо за комментарии! Поправил. Надеюсь теперь все верно.

Доброго времени суток!
Silverman, взял за основу Ваше решение и слегка его "оптимизировал"  :D
Если где то ошибся, прошу строго не судить - сам только начал готовиться, пока разбираюсь на чужих решениях. Любые вопросы и критика приветствуется.

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 1. Спец по платформе V8
« Ответ #97 : Март 02, 2016, 04:42:41 pm »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Марк

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #98 : Март 02, 2016, 08:09:24 pm »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Приветствую!

Посмотрел Ваше решение и есть ряд замечаний. Соглашаться с моими замечаниями Ваше дело спорить не буду. И так поехали.

1) Не добавлены объекты в состав подсистем. Было очень не удобно смотреть Ваше решение, приходилось заходить во "Все функции".
2) Процедура для создания движений в бух.рег. в Приходной накладной пустая. Пришлось допилить, что бы посмотреть как списывается количество.
3) В ресурсе Количество в рег. Управленческий не выбран признак учета, галку Балансовый нужно было убрать. Признак учета Вы создали а про остальное забыли.
4) "&МоментВремени" в виртуальных таблицах. На мой взгляд нужно  использовать следующие приемы:
если "старый" метод списания тогда
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      МоментИтогов = '00010101';
Иначе   
      МоментИтогов = МоментВремени();
КонецЕсли;

а если "новая" методика списания тогда

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      МоментИтогов = '00010101';
Иначе   
      МоментИтогов = новый Граница(МоментВремени(),ВидГраницы.Включая);
КонецЕсли;

или же

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      Движения.Управленческий.Записать();
                МоментИтогов = '00010101';
Иначе   
      МоментИтогов = новый Граница(МоментВремени(),ВидГраницы.Включая);
КонецЕсли;

и так же по "новой" методике списания.

5) В запросах для документа Расходная накладная Вы создаете лишние таблицы.  За это снимаю баллы.
6) Нет массива с субконтами для рег.Управленческий.
7) Количество в ОУ не правильно списывалось из за отсутствия условия в запросе (в котором проверяется не ушли ли в минус) "ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) < 0".

Вроде все. Может есть что то еще но я заметил только такие нюансы.

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 1. Спец по платформе V8
« Ответ #99 : Март 03, 2016, 08:51:56 am »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Приветствую!

Посмотрел Ваше решение и есть ряд замечаний. Соглашаться с моими замечаниями Ваше дело спорить не буду. И так поехали.

1) Не добавлены объекты в состав подсистем. Было очень не удобно смотреть Ваше решение, приходилось заходить во "Все функции".
2) Процедура для создания движений в бух.рег. в Приходной накладной пустая. Пришлось допилить, что бы посмотреть как списывается количество.
3) В ресурсе Количество в рег. Управленческий не выбран признак учета, галку Балансовый нужно было убрать. Признак учета Вы создали а про остальное забыли.
4) "&МоментВремени" в виртуальных таблицах. На мой взгляд нужно  использовать следующие приемы:
если "старый" метод списания тогда
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      МоментИтогов = '00010101';
Иначе   
      МоментИтогов = МоментВремени();
КонецЕсли;

а если "новая" методика списания тогда

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      МоментИтогов = '00010101';
Иначе   
      МоментИтогов = новый Граница(МоментВремени(),ВидГраницы.Включая);
КонецЕсли;

или же

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
      Движения.Управленческий.Записать();
                МоментИтогов = '00010101';
Иначе   
      МоментИтогов = новый Граница(МоментВремени(),ВидГраницы.Включая);
КонецЕсли;

и так же по "новой" методике списания.

5) В запросах для документа Расходная накладная Вы создаете лишние таблицы.  За это снимаю баллы.
6) Нет массива с субконтами для рег.Управленческий.
7) Количество в ОУ не правильно списывалось из за отсутствия условия в запросе (в котором проверяется не ушли ли в минус) "ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) < 0".

Вроде все. Может есть что то еще но я заметил только такие нюансы.

Спасибо большое за такой подробный разбор, постараюсь всё привести в порядок.

Марк

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #100 : Март 04, 2016, 05:14:58 am »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Нашел еще одну ошибку. В задаче по БУ не правильно настроен ресурс Сумма. Так как в задаче есть фраза "Себестоимость определяется как средняя по товару по всем срокам годности" то необходимо было еще создать "признак учета субконто" при этом галочка балансовый остается включенной. В связи с этим ваш запрос с получение остатков не подходит.

Скачайте решения Sae в разделе Актуальные билеты на странице 58. Они могут вам помочь в подготовке.
« Последнее редактирование: Март 04, 2016, 05:24:28 am от Марк »

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 1. Спец по платформе V8
« Ответ #101 : Март 04, 2016, 10:05:41 am »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Нашел еще одну ошибку. В задаче по БУ не правильно настроен ресурс Сумма. Так как в задаче есть фраза "Себестоимость определяется как средняя по товару по всем срокам годности" то необходимо было еще создать "признак учета субконто" при этом галочка балансовый остается включенной. В связи с этим ваш запрос с получение остатков не подходит.

Скачайте решения Sae в разделе Актуальные билеты на странице 58. Они могут вам помочь в подготовке.

Спасибо за рекомендации.

Кирилл

  • Новичок
  • *
  • Сообщений: 3
Re: Билет 1. Спец по платформе V8
« Ответ #102 : Март 12, 2016, 12:25:41 am »
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

Добрый день.
Работоспособность не проверял. Посмотрел только код (в оперативном учете):
1. В качестве субконто "Срок годности" вы используете не ссылочный тип данных. Это явная ошибка.
2. В приходной накладной в табличной части можно выбрать услугу. Явно ни где сказано, но на мой взгляд то же косяк. Тем более, что отбор легко настраивается через Параметры выбора в свойствах Номенклатуры.
3. Документ "Приходная"  Обработка проведения ОУ:
Зачем так усложнять? Все движения конструктором строятся. Гораздо быстрее получается. Тем более, как правильно было сказано, за создание дополнительных таблиц значений снижают баллы.

Документ "Расходная" Обработка проведения ОУ:
4. Не очищаются записи документа в регистре - после первых трех строк нужно записать пустые движения. аналогично и с движениями регистра "Себестоимость номенклатуры" Вы пишите, что очищаете, только при оперативном проведении. А если пользователь решит изменить дату на большую у уже проведенного документа? Тогда ваши движения будут учитываться при проведении, хотя и не должны.
5. Нет блокировки записей таблицы регистра в момент записи движений в рамках новой методики проведения.
6. В качестве источника данных для блокировки можно использовать результат запроса. Не обязательно таблицу значений для этого создавать.
7. Когда выводите сообщение пользователю о нехватке товара используете ссылку на справочник, а не строку.  - гарантировано минус балл.

Ads666sda

  • Пользователь
  • **
  • Сообщений: 60
Re: Билет 1. Спец по платформе V8
« Ответ #103 : Март 17, 2016, 09:05:12 am »
Спасибо Кирилл за поправки, очень ценные.

axel_work

  • Проверенный
  • ***
  • Сообщений: 161
  • ФИО: Алексей
Re: Билет 1. Спец по платформе V8
« Ответ #104 : Март 26, 2016, 10:23:19 pm »
Доброго дня, коллеги!

Про получение стажа.

Заметил интересную вещь - РАЗНОСТЬДАТ(х, y, ГОД) возвращает разницу алгебраическую, то есть эквивалентно Год(у) - Год(х), что есть не гуд, так как разность например 01.10.2015 и 01.02.2016 - возвращает 1. Пришлось делать через месяцы и округление.

Второй момент - про данные разных расчетных периодов в одном документе. Очень неприятная вещь. В сборнике задач таких вообще не попадалось. Обычно период регистрации один на документ. Там с этим все понятно.

А тут как правильно решать? Указывать период регистрации в ТЧ или брать НачалоМесяца(НачалоПериода). Но самое плохое - как получать данные регистров (процент премии например, стаж)? На один какой-то период, или на каждый указанный период регистрации в ТЧ?