Форум Чистова. Подготовка к экзаменам 1С

Аттестация "1С:Специалист" => Аттестация "1С:Специалист по платформе 1С:Предприятие 8.3 и 8.2" => Тема начата: Jones от Июль 30, 2015, 10:57:34 pm

Название: Билет 1. Спец по платформе V8
Отправлено: Jones от Июль 30, 2015, 10:57:34 pm
Сделал 1 билет из 15-ти (https://docs.google.com/document/d/19Cv6COjMRcN_qDLbiWmYwp686IXpxE9GHHzQkpa2rME/edit)
Пойдет? Вроде все работает ))

ПР - Оклад (из рег.свед), Премия (Процент из Шкалы от стажа)
БУ - Сроки годности, Номенклатура.
ОУ - Услуги, Партии, УчетнаяПолитика. Себестоимость по Партиям, но не по Складам (2 остаточных РН)
БП как БП. Параметр сеанса, форма задач, карта маршрута в форме процесса.

И еще вопрос: кто знает, что значит фраза "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается"?
Нужны ли в этой задаче Подразделения вообще?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Июль 30, 2015, 11:14:28 pm
Добавил кнопку Обновить для Карты маршрута в процессе.
Кнопку Установить пользователя в справочнике ФизЛица оформил текстом.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Июль 30, 2015, 11:35:00 pm
Подразделение нигде по задаче не нужно, в том числе и в отчете его нет.
В общем, я его вообще не использую, ни в ТЧ документа Начисление, ни в РР
Надеюсь, это не грех.

Народ, кто еще готовится к Спецу по платформе, прошу оценить решение.
Как думаете, сгодится, если так на экзамене успеть?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Июль 31, 2015, 05:45:48 am
Ух ты! Еще бы рубрикатор по этим "новым" билтеам, которых 15 шт.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 31, 2015, 09:59:26 am
Подразделение нигде по задаче не нужно, в том числе и в отчете его нет.
В общем, я его вообще не использую, ни в ТЧ документа Начисление, ни в РР
Надеюсь, это не грех.
Читал разъяснения, что "совместительство не допускается" - нет измерения Подразделение в РР, "допускается" - измерение есть, так что всё верно, хотя до экзамена надо еще поразмышлять.  :)

Как думаете, сгодится, если так на экзамене успеть?
ОУ - "Использование менее эффективной методики проведения документов" (как же так? ведь об этом столько говорят), в отчете убрать итог количество по складу.
БУ - субконто примитивного типа (дата) - не приветствуется.

Спасибо за работающий БП, сейчас буду у себя добивать, чтобы карта обновлялась.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Июль 31, 2015, 10:09:57 am
ОУ - "Использование менее эффективной методики проведения документов" (как же так? ведь об этом столько говорят), в отчете убрать итог количество по складу.

alex1248, хотите сказать, здесь можно контролировать остатки по НОВОЙ МЕТОДИКЕ?
Но ведь для формирования движений необходимо сначала получить Себестоимость.
Не понял Вас. Можете выложить решение с новой методикой? А то я прямо усомнился, может я чего не догоняю ))

А остаток количества по складу зачем из запроса убирать? Проверяю по нему, есть ли достаточное количество товара на этом складе. Регистров то ДВА.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Июль 31, 2015, 10:19:22 am
Читал разъяснения, что "совместительство не допускается" - нет измерения Подразделение в РР, "допускается" - измерение есть, так что всё верно, хотя до экзамена надо еще поразмышлять.  :)

Ага, картинка прорисовывается. Спасибо, alex1248
Тогда, если "Каждый сотрудник может работать одновременно в нескольких подразделениях компании, то есть совместительство допускается",
то это значит, что в РР необходимо Подразделение?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 31, 2015, 10:29:53 am
ОУ - "Использование менее эффективной методики проведения документов" (как же так? ведь об этом столько говорят), в отчете убрать итог количество по складу.

alex1248, хотите сказать, здесь можно контролировать остатки по НОВОЙ МЕТОДИКЕ?
Но ведь для формирования движений необходимо сначала получить Себестоимость.
Не понял Вас. Можете выложить решение с новой методикой? А то я прямо усомнился, может я чего не догоняю ))
Хм ... не понимаю, почему может быть нельзя. Бывают ситуации, что нет смысла, потому что уже предварительно нужно запросом получить какую-то информацию. В данном случае склад в шапке, номенклатура и количество в ТЧ, больше ничего не надо.
Да, прикрепляю.
Только там ОУ без всего остального. Может быть, имеет значение увязка с БУ? Этого я пока не делал.
Тем не менее, по отдельности у меня почти все ОУ из решенных - по новой методике.

А остаток количества по складу зачем из запроса убирать? Проверяю по нему, есть ли достаточное количество товара на этом складе.
Из отчета.
Не надо суммировать майонез с холодильниками.  :D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 31, 2015, 10:32:01 am
Читал разъяснения, что "совместительство не допускается" - нет измерения Подразделение в РР, "допускается" - измерение есть, так что всё верно, хотя до экзамена надо еще поразмышлять.  :)

Ага, картинка прорисовывается. Спасибо, alex1248
Тогда, если "Каждый сотрудник может работать одновременно в нескольких подразделениях компании, то есть совместительство допускается",
то это значит, что в РР необходимо Подразделение?
Да, по слухам из тырнета именно так.  :D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Август 02, 2015, 01:48:01 am
Хм ... не понимаю, почему может быть нельзя

alex1248, как Вы понимаете смысл Новой методики контроля остатков? Зачем она нужна и что дает?
В моем понимании, она работает быстрее старой (на уровне платформы), то есть позволяет сократить время проведения документа (это становится ощутимо на больших объемах данных).

В своем решении, в документе РН, Вы сначала делаете списание ОстаткиТоваров по НОВОЙ методике, а затем списываете Партии по СТАРОЙ. У меня же используется Старая методика. Запрос выполняется один, он получает остатки и по Складу и по Партиям и если их хватает, то формируются движения.

В моем понимании смысл НОВОЙ методки заключается в том, что сразу один раз без контроля остатков списал, затем проверил, что нет минусов и все! Поэтому она и применима не везде, а только в том случае, если для формирования движений не нужно предварительно получать данные.

А по Вашей схеме, и правда, "новую" методику можно использовать всегда.
С другой стороны, возможно, Вы правы, а я ошибаюсь, вот только рассудить нас некому ))
Хорошо, если бы к нам заглянул ВСЕВИДЯЩИЙ GROOVY, но вряд ли он найдет время копаться в наших "умных" решениях ))

alex1248, спасибо за ответ. Очень интересно узнать другую точку зрения. Ваше решение понятное, четко структурированное, легко читается, в общем респект.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 02, 2015, 10:21:50 am
alex1248, спасибо за ответ. Очень интересно узнать другую точку зрения. Ваше решение понятное, четко структурированное, легко читается, в общем респект.
В моем решении есть явная ошибка (-1 балл) (и наверное, не одна, так что работы еще море  :D ) - запрос (Если ТекСтрокаСписокНоменклатуры.Номенклатура.Услуга = Ложь) в цикле при записи в регистр остатков. В дальнейшем в такой ситуации из ТЧ номенклатуру без услуг выбираю одним запросом.
alex1248, как Вы понимаете смысл Новой методики контроля остатков? Зачем она нужна и что дает?
В моем понимании, она работает быстрее старой (на уровне платформы), то есть позволяет сократить время проведения документа (это становится ощутимо на больших объемах данных).

В своем решении, в документе РН, Вы сначала делаете списание ОстаткиТоваров по НОВОЙ методике, а затем списываете Партии по СТАРОЙ. У меня же используется Старая методика. Запрос выполняется один, он получает остатки и по Складу и по Партиям и если их хватает, то формируются движения.

В моем понимании смысл НОВОЙ методки заключается в том, что сразу один раз без контроля остатков списал, затем проверил, что нет минусов и все! Поэтому она и применима не везде, а только в том случае, если для формирования движений не нужно предварительно получать данные.

А по Вашей схеме, и правда, "новую" методику можно использовать всегда.
С другой стороны, возможно, Вы правы, а я ошибаюсь, вот только рассудить нас некому ))
Хорошо, если бы к нам заглянул ВСЕВИДЯЩИЙ GROOVY, но вряд ли он найдет время копаться в наших "умных" решениях ))
Я бы сказал, что вопрос не в понимании смысла методики, а в том, 1) когда преподаватели на экзамене посчитают, что она эффективнее, 2) убедить себя, что это именно так. В этом случае, можно будет во время защиты находиться с ними на одной волне, что, надеюсь, повысит шансы.  :D
В общем, когда - на данный момент я придерживаюсь т.з., что новую методику (не проведения, а контроля остатков), надо использовать тогда, когда вот этот самый контроль остатков (и ничего более) можно осуществить без получения данных из этого же самого регистра. Записали, прочитали, если есть нехватка - блокировку сняли - с регистром может работать другой работник. Всё остальное (а оно почти всегда находится) мы осуществляем в другом регистре и только в том случае, если знаем, что остатки корректны, и их даже проверять уже не надо.
Хотя, при моем двухнедельном опыте  :D работы с "новой" методикой и блокировками, думаю, все же лучше поделиться ссылками на источники:
http://1c.chistov.pro/2013/07/blog-post_25.html - итоговый запрос в конце статьи.
http://forum.chistov.pro/index.php?topic=1036.180 - если взглянуть на задачу, вроде бы, тоже можно без проблем провести "по-старому".
http://forum.chistov.pro/index.php?topic=1310.msg13626#msg13626 - ну и вот это вчера нашел (тоже ссылаются в других темах), со вторым регистром действительно почти всегда можно добиться этого.
Придумал ситуацию, когда невозможно использовать новую методику - например, товар хранится на нескольких складах, нам надо набрать в разных, но не более чем с двух - без получения остатков в разрезе складов записывать нечего, придется считать из базы остатки по всем складам из регистра остатков (если бы он был), значит, новая методика не имеет смысла.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: r2d2 от Сентябрь 01, 2015, 10:19:03 am
Моё решение первого билета. Если у кого есть возможность и желание - прошу проверить и отозваться о решении.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Uncle от Сентябрь 03, 2015, 08:42:26 am
вопрос следующий, кто как решал:

Движения.ОстаткиНоменклатуры.Очистить();
   Движения.ОстаткиНоменклатуры.Записать();
   Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;

т.к. по новой методике, нужна ли в этом случае БлокировкаДанных по измерению регистра Номенклатура?
и как вообще если эти две блокировки пересекаются?

и второй вопрос:
условие билета . В одном документе могут быть данные за разные расчетные периоды.
достаточно ли ввода ПериоодРегистрации в ТЧ. кто сдавал? у кого какая инфа? ведь можно и без него брать по НачалоПериода (привести его к началу месяца)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 14, 2015, 02:38:54 pm
Вопрос по бухгалтерской части в документе Расходная накладная:

         ОсталосьСписать = ВыборкаНоменклатура.КолДок;
         ОсталосьСписатьСумма = ВыборкаНоменклатура.СумОст;
         СредняяЦенаНом = ?(ВыборкаНоменклатура.КолОст = 0, 0, ВыборкаНоменклатура.СумОст / ВыборкаНоменклатура.КолОст);
         Если ОсталосьСписать = ВыборкаНоменклатура.КолОст Тогда
            СписатьОстатокСуммы = Истина;
         Иначе
            СписатьОстатокСуммы = Ложь;
         КонецЕсли;
         
         
         
         ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать();
         
         Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            
            КоличСписать = МИН(ОсталосьСписать, ВыборкаДетальныеЗаписи.КолОстСрок);
            Если КоличСписать = ОсталосьСписать И СписатьОстатокСуммы Тогда
               СуммаСписать = ОсталосьСписатьСумма;   // списываем остаток суммы
            Иначе
               СуммаСписать = КоличСписать * СредняяЦенаНом;
            КонецЕсли;

...
            ОсталосьСписать = ОсталосьСписать - КоличСписать;
            ОсталосьСписатьСумма = ОсталосьСписатьСумма - СуммаСписать;



Допустим есть одна и та же номенклатура со сроками годности:
СрокГодности 01.01.2016 Сумма 8 руб. - 1 шт.
СрокГодности 01.02.2016 Сумма 40 руб. - 2 шт.

По Вашему алгоритму СредняяЦенаНом  =  16 руб.
Надо списать 2 шт.

При списании по первому сроку годности уходим в минус.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Сентябрь 14, 2015, 03:30:15 pm
При списании по первому сроку годности уходим в минус.
Чтобы не "плыли" остатки по сумме там, где они не нужны, снимается признак суммового учета по соответствующему субконто (именно так сделано в этом решении).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 16, 2015, 08:02:24 am
alex1248,
спсибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 16, 2015, 08:13:03 am
   // отметим активность проводок если док помечен
   Если Не ЭтоНовый() Тогда
      НабЗап = РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
      НабЗап.Отбор.Регистратор.Установить(Ссылка);
      НабЗап.Прочитать();
      НабЗап.УстановитьАктивность(Не ПометкаУдаления);      
      НабЗап.Записать();
   КонецЕсли;


А вот этот код в документе Операция в процедуре "ПриЗаписи" можете прокомментировать?
Зачем читаются старые движения регистра "НабЗап.Прочитать();" и потом записываются, они же затрутся по завершении процедуры "ПриЗаписи" и заместятся новыми движениями "Объект.Движения.Основной", взятыми с формы?

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Сентябрь 17, 2015, 07:31:43 am
А вот этот код в документе Операция в процедуре "ПриЗаписи" можете прокомментировать?
Обратите внимание на УстановитьАктивность(). Этот фрагмент кода отключает активность проводок, если документ Помечен на удаление.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 17, 2015, 01:32:04 pm
А вот этот код в документе Операция в процедуре "ПриЗаписи" можете прокомментировать?
Обратите внимание на УстановитьАктивность(). Этот фрагмент кода отключает активность проводок, если документ Помечен на удаление.

К этой строчке у меня вопросов нет.
Но зачем снова читать данные из регистра, они же есть на форме и так?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Quantum81 от Сентябрь 17, 2015, 02:03:51 pm
А вот этот код в документе Операция в процедуре "ПриЗаписи" можете прокомментировать?
Обратите внимание на УстановитьАктивность(). Этот фрагмент кода отключает активность проводок, если документ Помечен на удаление.

К этой строчке у меня вопросов нет.
Но зачем снова читать данные из регистра, они же есть на форме и так?
Когда ставишь/снимаешь пометку удаления, никакой формы нет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 17, 2015, 02:25:38 pm
А вот этот код в документе Операция в процедуре "ПриЗаписи" можете прокомментировать?
Обратите внимание на УстановитьАктивность(). Этот фрагмент кода отключает активность проводок, если документ Помечен на удаление.

К этой строчке у меня вопросов нет.
Но зачем снова читать данные из регистра, они же есть на форме и так?
Когда ставишь/снимаешь пометку удаления, никакой формы нет.

Убедили!
Но код можно упростить:


    ДвиженияБух = Движения.РегистрБухгалтерии1; 
    Если не ДвиженияБух.Модифицированность() Тогда
        ДвиженияБух.Прочитать();
    КонецЕсли;
    ДвиженияБух.УстановитьАктивность(не ПометкаУдаления);
    ДвиженияБух.Записать();

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Quantum81 от Сентябрь 17, 2015, 06:47:29 pm
пересмотрев несколько вариантов на форуме, решил залезть в БУХу и посмотреть.
Там примерно так:
Проводки=Движения.Проводки;
Если Проводки.Записывать=Ложь тогда
проводки.Прочитать();
КонецЕсли;
НоваяАктивность=Не ПометкаУдаления;
Для каждого строка из Проводки цикл
Если строка.Период<>Дата тогда
Проводки.Записывать=Истина;
строка.Период=Дата;
КонецЕсли;
Если строка.Активность<>НоваяАктивность тогда
Проводки.Записывать=Истина;
строка.Активность=НоваяАктивность;
КонецЕсли;
КонецЦикла;
Лишний раз не читает, лишний раз не обновляет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Svetik_1704 от Сентябрь 18, 2015, 01:01:46 pm
Индексировать временные таблицы нужна всегда, причем по тем полям, которые используются при соединении таблиц, сортировке и тд. Еще временные таблицы не мешало бы и удалять. Но говорят платформа сама справляется с этим, поэтому никто этого не делает)).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 18, 2015, 03:08:27 pm
Индексировать временные таблицы нужна всегда, причем по тем полям, которые используются при соединении таблиц, сортировке и тд. Еще временные таблицы не мешало бы и удалять. Но говорят платформа сама справляется с этим, поэтому никто этого не делает)).

На экзамене снижают бал, если не проиндексирована ВТ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Сентябрь 21, 2015, 11:27:15 am
На экзамене снижают бал, если не проиндексирована ВТ?

Вот здесь рекомендуют использовать индексы. Чисто показать что мы умеем ими пользоваться:

http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Сентябрь 29, 2015, 05:28:45 pm
Еще доработал обработку ПередЗаписью документа Операция.
Отключение активности записей поместил в условие. Теперь чтение и запись Набора выполняется только если происходит снятие/установка ПометкиУдаления для объекта.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Для Каждого Запись Из Движения.Основной Цикл
Если Запись.Период <> Дата Тогда
Запись.Период = Дата;
КонецЕсли;
КонецЦикла;
Если ПометкаУдаления <> Ссылка.ПометкаУдаления Тогда
НабЗап = РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
НабЗап.Отбор.Регистратор.Установить(Ссылка);
НабЗап.Прочитать();
НабЗап.УстановитьАктивность(Не ПометкаУдаления);
НабЗап.Записать();
КонецЕсли;
КонецПроцедуры

Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Сентябрь 29, 2015, 06:34:37 pm
доработал
Цитата: "пользователь должен иметь возможность ввести проводки с произвольной корреспонденцией счетов" и усё, больше никаких возможностей ему не требуется ...  :)
Я на экзамене сделал только запись Даты в шапке в Период каждой записи регистра.  По поводу остального сделал пометку доделать позже, но так и не добрался до этого, как оказалось, не напрасно. ИМХО, в цейтноте не стоит Операции уделять много внимания.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Октябрь 05, 2015, 03:01:02 pm
В задаче по ПР обнаружил для себя два момента, которые надо закрепить. Проработал для быстрого решения на экзамене. Выкладываю решение задачи по ПР с учетом этих интересных для меня моментов:

1)   ПР: получение Оклада на начало РасчетногоПериода (ПериодаДействия) записи
В условии задачи есть формулировка: «В одном документе могут быть данные за разные расчетные периоды». При этом «Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода».
Для решения,
- в запросе РасчетаНачислений получаю ПериодДействия каждой записи ОН
- Левым соединением получаю все записи физической таблицы регистра сведений СведенияОСотрудниках, у которых Период <= ПериодуДействия записи ОН
- Группирую, получаю Максимальный Период (т.е. последний на ПериодДействия записи)
- Еще раз левым соединением подцепляю записи физ.таблицы СведенияОСотрудниках, так получаю Оклад на ПериодДействия каждой записи
Проблема казалась серьезной, но решилась неожиданно легко.
Спасибо Quantum81 и alex1248 за то, что указали верное направление.

2)   ПР: получение Процента премии в зависимости от Стажа
Еще раз проработал решение и закрепил его для себя.
- в спр.ФизЛица добавляю реквизиты ДатаПриема и НачальныйСтаж
- добавляю рег свед ШкалаПроцентов (От, До, Процент)
- в запросе процедуры РасчетаНачислений получаю СтажВсего:
РазностьДат(ДатаПриема, БазовыйПериодНачало, Год) + НачальныйСтаж
- Левым соединением подцепляю Процент из Шкалы, используя два простых условия:
СтажВсего > От
СтажВсего <= До
Здесь важное дополнение: чтобы условия работали, в регистр надо занести последнюю запись со значением До=999 (т.е. не 0, а максимальное число)

3)   Про отчет сказано, что он должен быть построен только за определенный календарный месяц.
Как считаете, пойдет, если на форме отчета будет выбор стандартного периода (как у меня) или есть более красивые варианты?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pewit от Октябрь 06, 2015, 02:31:58 pm
Начинаю подготовку к сдаче экзамена. Посмотрите, кому не лень оперативный учет. Правильно ли хоть двигаюсь. Заранее спасибо большое!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: margaritka47729 от Октябрь 09, 2015, 02:17:20 pm
доработал
Цитата: "пользователь должен иметь возможность ввести проводки с произвольной корреспонденцией счетов" и усё, больше никаких возможностей ему не требуется ...  :)
Я на экзамене сделал только запись Даты в шапке в Период каждой записи регистра.  По поводу остального сделал пометку доделать позже, но так и не добрался до этого, как оказалось, не напрасно. ИМХО, в цейтноте не стоит Операции уделять много внимания.


подскажите, на счет задачи в БУ ....надо как то проверять правильность заполнения согласно этому условию задачи:

 На один и тот же товар с разными сроками годности при его поступлении может указываться разная цена. Например, на товар со сроком годности 10 января 2010 цена может быть ниже, чем на товар со сроком годности 30 января 2010. Товар с одинаковым сроком годности может поступать разными документами и по разной цене. Возможна ситуация когда в одном документе один и тот же товар поступает с разными сроками годности (и по разной цене).  ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 10, 2015, 11:06:52 pm
Приступил к подготовке.
Прорешал задачу по ОУ.
Если у кого есть желание и время прошу комментарии.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 12, 2015, 01:45:07 pm
Сделал 1 билет из 15-ти (https://docs.google.com/document/d/19Cv6COjMRcN_qDLbiWmYwp686IXpxE9GHHzQkpa2rME/edit)
Пойдет? Вроде все работает ))

ПР - Оклад (из рег.свед), Премия (Процент из Шкалы от стажа)
БУ - Сроки годности, Номенклатура.
ОУ - Услуги, Партии, УчетнаяПолитика. Себестоимость по Партиям, но не по Складам (2 остаточных РН)
БП как БП. Параметр сеанса, форма задач, карта маршрута в форме процесса.

И еще вопрос: кто знает, что значит фраза "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается"?
Нужны ли в этой задаче Подразделения вообще?

Вдоль и поперек несколько раз изучил Ваш запрос:
Запрос.Текст =
      "ВЫБРАТЬ
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК КолДок,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК СумДок
      |ПОМЕСТИТЬ ТЧ
      |ИЗ
      |   Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
      |ГДЕ
      |   РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
      |
      |СГРУППИРОВАТЬ ПО
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ТЧ.Номенклатура,
      |   ТЧ.КолДок,
      |   ТЧ.СумДок,
      |   ЕСТЬNULL(ОсновнойОстатки.КоличествоОстатокДт, 0) КАК КолОст,
      |   ЕСТЬNULL(ОсновнойОстатки.СуммаОстатокДт, 0) КАК СумОст
      |ПОМЕСТИТЬ ОстаткиТоваров
      |ИЗ
      |   ТЧ КАК ТЧ
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.Остатки(
      |            &МоментОстатков,
      |            Счет = ЗНАЧЕНИЕ(ПланСчетов.Основной.Товары),
      |            &МассивСубконто,
      |            Субконто1 В
      |               (ВЫБРАТЬ
      |                  ТЧ.Номенклатура
      |               ИЗ
      |                  ТЧ КАК ТЧ)) КАК ОсновнойОстатки
      |      ПО ТЧ.Номенклатура = ОсновнойОстатки.Субконто1
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ОстаткиТоваров.Номенклатура КАК Номенклатура,
      |   ОстаткиТоваров.КолДок КАК КолДок,
      |   ОстаткиТоваров.СумДок КАК СумДок,
      |   ОстаткиТоваров.КолОст КАК КолОст,
      |   ОстаткиТоваров.СумОст КАК СумОст,
      |   ОсновнойОстатки.Субконто2 КАК Срок,
      |   ЕСТЬNULL(ОсновнойОстатки.КоличествоОстатокДт, 0) КАК КолОстСрок
      |ИЗ
      |   ОстаткиТоваров КАК ОстаткиТоваров
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.Остатки(
      |            &МоментОстатков,
      |            Счет = ЗНАЧЕНИЕ(ПланСчетов.Основной.Товары),
      |            &МассивСубконто,
      |            Субконто1 В
      |               (ВЫБРАТЬ
      |                  ТЧ.Номенклатура
      |               ИЗ
      |                  ТЧ КАК ТЧ)) КАК ОсновнойОстатки
      |      ПО ОстаткиТоваров.Номенклатура = ОсновнойОстатки.Субконто1
      |ИТОГИ
      |   МАКСИМУМ(КолДок),
      |   МАКСИМУМ(СумДок),
      |   МАКСИМУМ(КолОст),
      |   МАКСИМУМ(СумОст),
      |   СУММА(КолОстСрок)
      |ПО
      |   Номенклатура";

Покажите мне как Вы получаете условие задачи:
Цитировать
В первую очередь списывается товар с наименьшим календарным сроком годности.
в запросе я не вижу упорядочивания по сроку годности.

У меня получился такой запрос:
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СписокНоменклатуры.Номенклатура КАК Номенклатура,
        |    СУММА(СписокНоменклатуры.Количество) КАК Количество,
        |    СУММА(СписокНоменклатуры.Сумма) КАК Сумма
        |ПОМЕСТИТЬ ТабДок
        |ИЗ
        |    Документ.РасходнаяНакладная.СписокНоменклатуры КАК СписокНоменклатуры
        |ГДЕ
        |    СписокНоменклатуры.Ссылка = &Ссылка
        |    И СписокНоменклатуры.Номенклатура.ВидНоменклатуры = &Товар
        |
        |СГРУППИРОВАТЬ ПО
        |    СписокНоменклатуры.Номенклатура
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    УправленческийОстатки.Субконто1 КАК Номенклатура,
        |    УправленческийОстатки.Субконто2 КАК СрокГодности,
        |    ЕСТЬNULL(УправленческийОстатки.СуммаОстаток, 0) КАК СуммаОстаток,
        |    ЕСТЬNULL(УправленческийОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
        |ПОМЕСТИТЬ Остатки
        |ИЗ
        |    РегистрБухгалтерии.Управленческий.Остатки(
        |            &МоментИтогов,
        |            Счет = &Счет,
        |            ,
        |            Субконто1 В
        |                (ВЫБРАТЬ
        |                    ТабДок.Номенклатура
        |                ИЗ
        |                    ТабДок КАК ТабДок)) КАК УправленческийОстатки
        |
        |ИНДЕКСИРОВАТЬ ПО
        |    Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ТабДок.Номенклатура КАК Номенклатура,
        |    Остатки.СрокГодности КАК СрокГодности,
        |    Остатки.КоличествоОстаток КАК КоличествоОстаток,
        |    Остатки.СуммаОстаток КАК СуммаОстаток,
        |    ТабДок.Количество КАК Количество
        |ИЗ
        |    ТабДок КАК ТабДок
        |        ЛЕВОЕ СОЕДИНЕНИЕ Остатки КАК Остатки
        |        ПО ТабДок.Номенклатура = Остатки.Номенклатура
        |
        |УПОРЯДОЧИТЬ ПО
        |    СрокГодности
        |ИТОГИ
        |    СУММА(КоличествоОстаток),
        |    СУММА(СуммаОстаток),
        |    МИНИМУМ(Количество)
        |ПО
        |    Номенклатура";

Может я ошибаюсь ?

И еще самое главное в этом вопросе: снял галку суммовой у субконто сроки годности но в таблице остатков партия все равно висит и не списывается, что я не так делаю. База в приложении к сообщению.

Кстати в решении:
Добавил кнопку Обновить для Карты маршрута в процессе.
Кнопку Установить пользователя в справочнике ФизЛица оформил текстом.
Также при полном списании первой партии по сроку годности и частичному списанию второй, первая уходит по сумме в минус

Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 12, 2015, 10:08:27 pm
Отвечу себе же.
Воспользовался методом сисадминов, одел свитер с оленями, взял бубен ...
А если честно то мистика.
В плане счетов поменял местами галку суммовой у признака субконто у номенклатуры отключил у сроков годности поставил, запустил платформу перепровел приходную смотрю итоги по двум субконто - бются как положено у номенклатуры нет суммы, вернул в конфигураторе все на место, опять перепровел гляжу и все встало как надо, что такое было не знаю.
Как доделаю БУ сразу выложу
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Октябрь 13, 2015, 01:12:32 pm
Покажите мне как Вы получаете условие задачи:
Цитировать
В первую очередь списывается товар с наименьшим календарным сроком годности.
в запросе я не вижу упорядочивания по сроку годности.

Все верно. Это моя ошибка. В плане решения, для себя, я указал: "упорядочнить по СрокГодн Возр (сначала наименьший СрокГодн)"
но сделав запрос забыл добавить в него упорядочивание )) Получается я упростил задачу, чего на экзамене делать ни в коем случае нельзя.
alex44ru! Спасибо, что нашли косяк.

PS
Как Вы уже указали, в запрос надо добавить строку:
УПОРЯДОЧИТЬ ПО Срок
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 13, 2015, 04:41:49 pm

alex44ru! Спасибо, что нашли косяк.

PS
Как Вы уже указали, в запрос надо добавить строку:
УПОРЯДОЧИТЬ ПО Срок
мы все тут что бы друг у друга искать косяки )))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 16, 2015, 10:16:08 pm
Решил подзадачу по бухгалтерии. Выкладываю совместное решение ОУ+БП.
Продолжаю решать ЗП.
Любые пинки приветствуются )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 16, 2015, 11:29:50 pm
Любые пинки приветствуются )
Не установлено индексирование измерений РН.
Выгрузка результата запроса в ТЗ без необходимости (ТабДок = РезультатЗапроса.Выгрузить(); ).
В БУ не решена проблема копеек.

Просто совет - на экзамене не стоит тратить время на красоту формы Операции и отчетов.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 17, 2015, 09:11:22 pm
Спасибо за ответ !
Не установлено индексирование измерений РН.
а зачем оно там ?
при проведении читаются остатки из одного период+номенклатура+склад
и из другого период+номенклатура,
а это как известно индекс таблицы итогов РН период+измерение1+измерение2...
Выгрузка результата запроса в ТЗ без необходимости (ТабДок = РезультатЗапроса.Выгрузить(); ).
Затем эта переменная далее участвует в объекте Блокировка в строке 105
ЭлементБлокировки.ИсточникДанных = ТабДок;
В БУ не решена проблема копеек.
ага не обратил внимание проверял на десятках чтоб в голове решать легче было, поправил
Просто совет - на экзамене не стоит тратить время на красоту формы Операции и отчетов.
это понятное дело, на экзамены бы задачу то не упростить ) какая там красота.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 17, 2015, 10:01:27 pm
Не установлено индексирование измерений РН.
а зачем оно там ?
при проведении читаются остатки из одного период+номенклатура+склад
и из другого период+номенклатура,
а это как известно индекс таблицы итогов РН период+измерение1+измерение2...
Хм, я ориентировался лишь на доступную теорию и материалы форума, сам в вопросе индексов совершенно не спец  :(. К тому же, мнения расходятся.
Могу лишь сослаться на источники:
 - В задачах получения данных из информационной базы установка отборов по неиндексированным полям - одна из распространенных ошибок,
 - На форуме года 2 назад обсуждали, что многим сдававшим спеца снимали баллы за неустановку индексирования измерений РН.
Увы, это все мои аргументы.


P.S. Еще порылся в недрах форума. Да, похоже, речь идет не о самих измерениях РН, а об установке индексирования полей ВТ в запросе, с чем у alex44ru всё в норме. И я кое-чему доучился.  :)

Выгрузка результата запроса в ТЗ без необходимости (ТабДок = РезультатЗапроса.Выгрузить(); ).
Затем эта переменная далее участвует в объекте Блокировка в строке 105
ЭлементБлокировки.ИсточникДанных = ТабДок;
Это я видел. Но необходимости такого ее использования всё же нет. Вроде, можно выборку из результата запроса использовать, хотя на экзамене обычно ограничиваются ТЧ документа.

В БУ не решена проблема копеек.
ага не обратил внимание проверял на десятках чтоб в голове решать легче было, поправил
А что изменилось? Скачал новый файл, посмотрел в конфигураторе, разницы не увидел. На всякий случай ввел в польз режиме: новая номенклатура приход с разными сроками годности 1 ед - 1,00, 1 ед - 1,00, 1 ед - 1,01. Далее создал расх накладную сразу на 3 единицы, каждая списалась на сумму 1,00 ,т.е. 0,01 по сумме зависло.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 17, 2015, 10:52:47 pm
И я кое-чему доучился.
во во вот и я думал у мя все идеально )
Вроде, можно выборку из результата запроса использовать, хотя на экзамене обычно ограничиваются ТЧ документа.
ага намотал на ус как говориться
А что изменилось? Скачал новый файл, посмотрел в конфигураторе, разницы не увидел. На всякий случай ввел в польз режиме: новая номенклатура приход с разными сроками годности 1 ед - 1,00, 1 ед - 1,00, 1 ед - 1,01. Далее создал расх накладную сразу на 3 единицы, каждая списалась на сумму 1,00 ,т.е. 0,01 по сумме зависло
понятно, работаю над этим ... может подскажите в каком направлении копать ? я понимаю как по партиям все до копейки списать, но тут другая тема.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 18, 2015, 09:20:19 am
А что изменилось? Скачал новый файл, посмотрел в конфигураторе, разницы не увидел. На всякий случай ввел в польз режиме: новая номенклатура приход с разными сроками годности 1 ед - 1,00, 1 ед - 1,00, 1 ед - 1,01. Далее создал расх накладную сразу на 3 единицы, каждая списалась на сумму 1,00 ,т.е. 0,01 по сумме зависло
понятно, работаю над этим ... может подскажите в каком направлении копать ? я понимаю как по партиям все до копейки списать, но тут другая тема.
Можно через получение в запросе Итогов (Количество по документу) по Номенклатуре, далее определяем сумму к списанию на общее количество по номенклатуре, ну и т.д. И надо будет использовать Окр(), иначе всё равно не сведется.
Вот тут недавно необходимость использования Окр() обсуждали:
http://forum.chistov.pro/index.php?topic=993.msg42402#msg42402
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 18, 2015, 08:52:08 pm
Все поправил в соответствии с указанными недоработками (включая копейки).
Итак попытка номер ...
Билет 1 решено ОУ и БП
 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 19, 2015, 09:10:42 am
Приступил к решению части билета по ЗП.
Появились две непонятки:
1) Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонений - это сторно ?
2)
Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.

Кто подскажет, что это за формулировки ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 21, 2015, 01:37:35 pm
Билет 1 решено ОУ+БП+ЗП
Очень жду Вашей помощи в поиске косяков в моем решении ...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 21, 2015, 10:23:13 pm
1) Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно с использованием метода отклонений - это сторно ?
Нет, это когда факт период действия получается отклонением от нормального (например, вытеснениями). Но я грубо пишу, точнее лучше просто погуглить.
В принципе ничего особенного реализовывать не надо, это лишь противопоставление задачам с табелем.
Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
Подразделение - реквизит РР. Если совместительство допускается, подразделение - измерение РР (Автомобиль - всегда реквизит  :) ).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 22, 2015, 08:01:27 am
Нет, это когда факт период действия получается отклонением от нормального (например, вытеснениями).
Странное условие задачи, так как тут нет вытесняющих видов расчета

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

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

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

Возможно это извращение, но в своем решении реализовал так:
Создал справочник сотрудники, подчинил подразделениям. У сотрудников отключил Наименование поставив длину 0, поставил контроль уникальности кода во всем справочнике и добавил реквизит с ссылкой на справочник физ лицо. Добавил обработчик перед записью написав в нем код: Код = ФизЛицо.Наименование. В итоге исполнил условие что каждый сотрудник может работать только в одном подразделении совместительство не допускается, платформа сама все проконтролирует. Ну и документа в ТЧ поставил связи параметров выбора. Решение считаю адекватным заданию, на аттестации я думаю оспаривать бы его не стали.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 22, 2015, 03:17:04 pm
Выкладываю полное решение Билет № 1

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

Как и прежде жду критики решения, очень жду )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dzenga от Октябрь 25, 2015, 09:59:39 am
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Октябрь 25, 2015, 01:51:07 pm
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 ин не является ли это ошибкой

Видимо по субконто "Сроки годности" отключен суммовой учет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 25, 2015, 08:59:06 pm
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 (https://yadi.sk/i/FYluyeepjyc26) ин не является ли это ошибкой
В каком документе, в какой процедуре ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 26, 2015, 01:04:53 pm
Обновил решение.
* Поправил получение процента премии из РС задачи СПР
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dzenga от Октябрь 26, 2015, 04:35:19 pm
Добрый день! интересно, почему в результате запроса образуется 2-я строка: https://yadi.sk/i/FYluyeepjyc26 (https://yadi.sk/i/FYluyeepjyc26) ин не является ли это ошибкой
В каком документе, в какой процедуре ?

В документе "Расходная накладная" в обработке проведения по бухгалтерскому учету, если в отладке вычислить РезультатЗапроса.Выгрузить() то получается таблица, как я указал выше. Тоже решаю Билет 1, у меня как и у Вас получается эта строка.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex44ru от Октябрь 27, 2015, 09:03:57 pm
В документе "Расходная накладная" в обработке проведения по бухгалтерскому учету, если в отладке вычислить РезультатЗапроса.Выгрузить() то получается таблица, как я указал выше. Тоже решаю Билет 1, у меня как и у Вас получается эта строка.
Как Вам уже ответили по субконто "Сроки годности" отключен суммовой учет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Октябрь 29, 2015, 04:28:09 pm
Всем привет! 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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


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

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

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

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

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

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

может в этой задаче нужно поставить галочку у ВР Премия "Период действия как базовый период"
"ПД является базовым периодом" можно включить только у ВР, имеющего ПД. У Премии не может быть ПД, так как это ВР не протяженный во времени (поэтому он находится в ДН, а не в ОН)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Октябрь 30, 2015, 02:29:38 pm
 Jones,
Не посоветуешь как лучше реализовывать условие на услугу на твой взгляд?

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

...   

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

Т.е. сначала ТЗ, потом выборка из одного и того же запроса
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 30, 2015, 05:03:49 pm
Всем привет!) Моё. Рад конструктивной критике.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Октябрь 30, 2015, 07:27:13 pm
Всем привет!) Моё. Рад конструктивной критике.

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

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

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


Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 30, 2015, 08:20:57 pm
Всем привет!) Моё. Рад конструктивной критике.

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

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

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


ПС:  Уважаемые Alexx44ru  и Jones,  посмотрите плиз мой предыдущий пост - там есть ответы-вопросы..)
По поводу стажа. А как же условие: При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 30, 2015, 08:26:11 pm
Всем привет!) Моё. Рад конструктивной критике.

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

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

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


ПС:  Уважаемые Alexx44ru  и Jones,  посмотрите плиз мой предыдущий пост - там есть ответы-вопросы..)
Спасибо, что посмотрел. Про вторую ошибку только сейчас вкурил. Со вторым билетом разобрался?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Quantum81 от Октябрь 30, 2015, 08:36:43 pm
сотрудник уволился потом принялся снова. Вот и начальный стаж отличный от нуля.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 31, 2015, 08:06:40 am
сотрудник уволился потом принялся снова. Вот и начальный стаж отличный от нуля.
В условии сказано: на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля. Значит еще никаких приемов и увольнений не было.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Октябрь 31, 2015, 08:52:10 am
..Нда..мелочь вроде, не должны особо придираться) на очном можно спросить у препода - заводить Начальный Стаж или нет. На удалёнке пояснить.
В случае увольнения и принятия снова...на это же предприятие...)) да будет уже стаж, согласен. Значит по-хорошему дату приёма нужно  в Регистр Сведений...и брать Срез Первых )))

Venvlad    - второй билет пока не начинал по ПР, по ОУ и БУ делал да.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Октябрь 31, 2015, 08:54:38 am
Ох, спасибо alex44ru  и Jones !

Очищать не очищать в тонком клиенте значения не имеет набор пуст, но поскольку большинство программистов работали на обычных формах, то у них уже привычка очищать наборы, поэтому и решения в большинстве своем такие. (набор может быть не пуст если у набора в форме стоит галка использовать всегда как пример документ операция или запущен толстый клиент обычное приложение)
Да! Щас протестировал - именно так и есть, везде наборы пустые. Протестировал и в оперативном режиме - наборы ПУСТЫЕ. Смысла нет очищать, ни в ОУ ни в БУ ни в ПР. Но!  В примере от создателей Сборника - в решении ОУ и БУ стоят
Движения.Основной.Очистить();
Движения.Основной.Записать();

 с комментарием про остатки при оперативном режиме. Значит, на всякий случай(с галочкой или обычные формы) -очищаем всё таки в ОУ и БУ, и записываем.  Где-то видел что тут же делают Блокировать для изменения=Истина перед Записать().   Есть ли смысл в нём?...загвоздка.  Если после записи пустого набора(т.е. старые движения стираем) - кто-то параллельно сделает движение "расход", украдут наши остатки, а у нас отменяется транзакция  - значит мы старые движения возвращем на место, а товар уже списал кто-то ...получаем бардак в остатках? (слава богу что всё это может быть только с галочкой или обычные формы).

В задачах на ПР алгоритм в корне отличается. Там нет ни старой ни новой методики, там все, в принципе, по другому.
Сначала, в ОбрПроведения док Начисление формируются движения, тут же записываются, а после этого выполняется их Расчет (в идеале в общем модуле). Т.е. предварительно очищать и записывать движения по РР смысла нет.
- Да я понял, ведь вся эта заваруха связана только с КОНТРОЛЕМ ОТРИЦАТЕЛЬНЫХ ОСТАТКОВ, чтобы не уйти в МИНУС.,т.е. продать то, чего УЖЕ или ЕЩЁ нет. К Расчётам это не имеет никакого отношения.  Допустить что если бы мы ничего не продавали, а только покупали(нереально конеш) - то вообще не нужны были бы блокировки и различные очистки движений, всё в плюс хоть 100 док-ов в один момент )))но это фантастика...

В задаче внизу идет ключевая фраза: "В одном документе могут быть данные за разные расчетные периоды"
Она означает, что ПерРег у каждой записи может быть своим, то есть заполнять его из ДатыДон - это упрощение задачи.
Значит ПерРег надо делать в ТЧ и расчеты начислений выполнять от него.
Мдааа, проанализировал, ... условия задач кончено странноватые, и это специально сделано !- а подвох в данной задаче в Стаже. Все берут его как ПериодРегистрации - ДатаПриёма ! Это в принципе-правильно.  Но если зарегили ЗП за январь, например ПерРег 10 февраля, а 5-го февраля у чувака стаж стал больше 3-х лет, а 1-го он уволился ))) посчитает неверно)) Тут либо Период Регистрации ставить всегда = конец ПериодаДействия(что не реально), либо Стаж нужно считать от ПериодаДействияКонец - что есть СОВСЕМ правильно! Тогда и авансом премию правильно расчитает)))!хотя премия авансом-это фантастика))) .. Только как технически это реализовать...получается что из Дополнительных Начислений мы никак не вытянем инфу ПериодаДействияКонец, значит нужно в данной задаче Премию сувать в Осн.Начисления??? Период действия Премии бессмыслен, заполнять просто ПериодомДействия Оклада. Базовый период у оклада  пустой а у премии нужен....  Тогда ПерРег выносить в ТЧ или брать от ДатыДок - дело хозяйское, бывает же например регим одной датой начисления за прошлые три месяца, или у этих трёх начислений поставить разный ПерРег - от него тут ничего уже не зависит! )) 
Но конечно же Создатели подразумевали именно такое решение - Стаж от ПерРег, поэтому его в ТЧ...для каждой записи... Поправьте пожалуйста, если ошибаюсь..я ещё другие не видел в глаза задачи...Голова кругом !!!)))

В начале задачи сказано: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". В этом случае Подразделение должно быть реквизитом, а измерением его надо делать когда совместительство допускается.
- Как уже писал alex44ru   - если сделать его реквизитом - легко засунуть Иванова в 2 разных подразделения и за один и тот же период начислять Оклад, т.е. совместительство будет, и База будет за оба Подразделения. Вопрос как исключить совместительство без извращений(как предлагал alex44ru), скорее всего НЕ УКАЗЫВАТЬ Подразделение вовсе... ни там ни там)  Вообще это скорее задача расчётчика следить за этим, ведь он может ввести Иванова 2 раза в одном периоде но ПО разным Графикам. Получится совместительство графиков-что далеко от реальности )) Как быть пока не ясно - на экзамене явно не успеть извращаться ..или всё таки придётся???

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

Спасибо, здесь полностью согласен!!!

Бытует мнение, что задачи на ПР на экзамене  смотрят особым образом, тщательнее придираются..поэтому имхо они требуют досконального разбора...!?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 31, 2015, 09:29:16 am
Но конечно же Создатели подразумевали именно такое решение - Стаж от ПерРег, поэтому его в ТЧ...для каждой записи... Поправьте пожалуйста, если ошибаюсь..я ещё другие не видел в глаза задачи...Голова кругом !!!)))
В начале задачи сказано: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". В этом случае Подразделение должно быть реквизитом, а измерением его надо делать когда совместительство допускается.
- Как уже писал alex44ru   - если сделать его реквизитом - легко засунуть Иванова в 2 разных подразделения и за один и тот же период начислять Оклад, т.е. совместительство будет, и База будет за оба Подразделения. Вопрос как исключить совместительство без извращений(как предлагал alex44ru), скорее всего НЕ УКАЗЫВАТЬ Подразделение вовсе... ни там ни там)  Вообще это скорее задача расчётчика следить за этим, ведь он может ввести Иванова 2 раза в одном периоде но ПО разным Графикам. Получится совместительство графиков-что далеко от реальности )) Как быть пока не ясно - на экзамене явно не успеть извращаться ..или всё таки придётся???
Можно сказать честно, что я думаю по поводу этого?
Вы заморачиваетесь над вопросами, которые не являются целью проверки на экзамене. Если так искать, что еще надо бы в идеальном случае проверять, то найти можно не только этот момент, а в каждой задаче по десятку, и в итоге экзамен не сдадите наверняка, поскольку за выполнение того, что не требовалось, баллы не добавят. Попробуйте аккуратно и четко отработать то, что перечислено  в перечне ошибок, и будет вам положительный результат. Конечно же желательно задачу не упрощать, но в том случае, если формулировка выглядит неоднозначной, а вы сделали задачу в рамках данной формулировки максимально просто (просто - не значит неправильно), есть довольно высокий шанс что ваше пояснение будет принято экзаменатором (исключением является случай, когда при очной сдаче экзаменатор "перечисляет ошибки", а сдающий лишь хлопает глазками от удивления  :D, но в этом случае экзамен не сдается, не зависимо от фактического наличия / отсутствия ошибок в решении). В любом случае, если упрощение не слишком грубое, то снятие за него от 0,25 балла - не самое суровое наказание.
В частности, защита от дурака не проверяется, кроме тех случаев, когда в задаче конкретно сказано, например, так "пользователь не должен иметь возможности", т.е. таковой возможности его надо лишить. Если же говорится просто, что "делается так", значит, всё решение можно строить на том, что делаться юзером будет именно так, и  для этого не нужен никакой дополнительный контроль.
По поводу стажа - конечно же, не надо даже думать ни о каких вариантах, когда сотрудник уволился, потом вернулся (хотя бы потому, что об этом в условии не сказано). Если вас этот момент всё же смущает, при дистанционке пишите в пояснительной записке (при очной сдаче шансы на то, что у экзаменатора хватит времени на такую ерунду, практически равны нулю).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: HRom от Октябрь 31, 2015, 12:30:49 pm
ОУ - "Использование менее эффективной методики проведения документов" (как же так? ведь об этом столько говорят), в отчете убрать итог количество по складу.

alex1248, хотите сказать, здесь можно контролировать остатки по НОВОЙ МЕТОДИКЕ?
Но ведь для формирования движений необходимо сначала получить Себестоимость.
Не понял Вас. Можете выложить решение с новой методикой? А то я прямо усомнился, может я чего не догоняю ))
Хм ... не понимаю, почему может быть нельзя. Бывают ситуации, что нет смысла, потому что уже предварительно нужно запросом получить какую-то информацию. В данном случае склад в шапке, номенклатура и количество в ТЧ, больше ничего не надо.
Да, прикрепляю.
Только там ОУ без всего остального. Может быть, имеет значение увязка с БУ? Этого я пока не делал.
Тем не менее, по отдельности у меня почти все ОУ из решенных - по новой методике.

А остаток количества по складу зачем из запроса убирать? Проверяю по нему, есть ли достаточное количество товара на этом складе.
Из отчета.
Не надо суммировать майонез с холодильниками.  :D

В вашем случае (новая методика по ОстаткиНоменклатуры) не надо ли одновременно блокировать оба регистра и ОстаткиНоменклатуры и ПартииНоменклатуры? Чтобы не получилось так пока мы списываем товар по "ОстаткиНоменклатуры" кто-нибудь списал партии?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Октябрь 31, 2015, 06:34:23 pm
В начале задачи сказано: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". В этом случае Подразделение должно быть реквизитом, а измерением его надо делать когда совместительство допускается.
- Как уже писал alex44ru   - если сделать его реквизитом - легко засунуть Иванова в 2 разных подразделения и за один и тот же период начислять Оклад, т.е. совместительство будет, и База будет за оба Подразделения. Вопрос как исключить совместительство без извращений(как предлагал alex44ru), скорее всего НЕ УКАЗЫВАТЬ Подразделение вовсе... ни там ни там)  Вообще это скорее задача расчётчика следить за этим, ведь он может ввести Иванова 2 раза в одном периоде но ПО разным Графикам. Получится совместительство графиков-что далеко от реальности )) Как быть пока не ясно - на экзамене явно не успеть извращаться ..или всё таки придётся???
Не должно быть двух баз. Фактический период действия только у одной записи будет при пересечении.

Будет, щас ещё раз проверил )   

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

Гляньте, кто ПР разбирает.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zeskord от Октябрь 31, 2015, 07:03:37 pm
Всем привет!) Моё. Рад конструктивной критике.
Часто вижу в решениях подчиненные подсистемы:
Документы, справочники, регистры это не подсистемы. Для этого существуют группы команд. Для приведенного примера должно быть две подсистемы и три группы команд, и никаких подчиненных подсистем. Понятно, что визуальный эффект такой же, но (на мой взгляд) это неправильное использование объектов.

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

Проведение расходной налкадной. Первым делом вы получаете учетную политику, но зачем, может быть до списания себестоимости дело не дойдет. Используется старая методика проведения, а набор регистров сделан как для новой методики. Если решили списывать по старой методике, зачем тогда два регистра накопления?

Отчет БУ выглядит страшно. Соединение двух таблиц остатков, оно вообще работает? Мой текст запроса
ВЫБРАТЬ
РегистрБухгалтерииОстатки.Субконто1 КАК Товар,
РегистрБухгалтерииОстатки.Субконто2 КАК СрокГодности,
РегистрБухгалтерииОстатки.СуммаОстаток КАК Сумма,
РегистрБухгалтерииОстатки.КоличествоОстаток КАК Количество
ИЗ
РегистрБухгалтерии.РегистрБухгалтерии.Остатки({(&Период)}, Счет = ЗНАЧЕНИЕ(Плансчетов.Управленческий.Товары), , ) КАК РегистрБухгалтерииОстатки
и формула ресурса для группировки СрокГодности:
Цитировать
ВычислитьВыражение("Сумма(Сумма)/Сумма(Количество)", "Товар") * Сумма(Количество)

В отчете по ОУ у вас вообще не настроены ресурсы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 31, 2015, 07:29:02 pm
В приходной накладной проверка на услугу происходит при проведении. Правильнее ограничить ввод, настроив реквизит Номенклатуа табличной части.
Зачем ограничивать ввод, если "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части."?
Другое дело, что при проведении стоит обратить внимание на то, чтобы не допускать неявного запроса в цикле при проверке на услуги.
Субконто Дата имеет тип Дата. До недавнего времени я сам думал, что так надо делать, но нет. В книге об этом написано в трех местах. СрокГодности должен быть справочник.
А я наоборот, сначала делал справочник, потом перешел-таки в экз задачах на тип Дата, в рамках экз это разрешается (только для экономии времени).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zeskord от Октябрь 31, 2015, 07:35:12 pm
Зачем ограничивать ввод, если "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части."?
Я о приходной накладной. В рамках задачи мы не покупаем услуги, значит в табличной части приходной накладной настроить Параметр выбора: Отбор.ВидНоменклатуры(Товар). (или для этого решения Отбор.Услуга(Ложь) )
В решении
Запрос.Текст = "ВЫБРАТЬ
| ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад,
| ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| ПриходнаяНакладнаяСписокНоменклатуры.Ссылка КАК Регистратор,
| ПриходнаяНакладнаяСписокНоменклатуры.Количество,
| ПриходнаяНакладнаяСписокНоменклатуры.Ссылка КАК Партия,
| ПриходнаяНакладнаяСписокНоменклатуры.Количество КАК Колво,
| ПриходнаяНакладнаяСписокНоменклатуры.Сумма КАК Себестоимость,
| ПриходнаяНакладнаяСписокНоменклатуры.Ссылка.Дата КАК Период,
| ПриходнаяНакладнаяСписокНоменклатуры.СрокГодности
|ИЗ
| Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга = ЛОЖЬ
| И ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
услуги игнорируются, так не лучше ли запрещать их выбирать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 31, 2015, 07:59:14 pm
Зачем ограничивать ввод, если "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части."?
Я о приходной накладной.
Сорри, как обычно, смотрел на монитор, а думал о своем.  :D
Я в этом случае вообще ничего не делал бы - услуги для приходной накладной не предусмотрены, значит, в рамках экза пусть юзер их туда не вводит.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 31, 2015, 10:30:22 pm
Зачем ограничивать ввод, если "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части."?
Я о приходной накладной.
Сорри, как обычно, смотрел на монитор, а думал о своем.  :D
Я в этом случае вообще ничего не делал бы - услуги для приходной накладной не предусмотрены, значит, в рамках экза пусть юзер их туда не вводит.  :)
Если их не ограничить они будут накапливать движения по регистру. А списываем мы только товары.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Октябрь 31, 2015, 11:39:24 pm
Всем привет!) Моё. Рад конструктивной критике.
Часто вижу в решениях подчиненные подсистемы:
  • Оперативный учет
    • Документы
    • Справочники
    • Регистры
  • Бухгалтерский учет
    • Документы
    • Справочники
    • Регистры
Документы, справочники, регистры это не подсистемы. Для этого существуют группы команд. Для приведенного примера должно быть две подсистемы и три группы команд, и никаких подчиненных подсистем. Понятно, что визуальный эффект такой же, но (на мой взгляд) это неправильное использование объектов.

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

Проведение расходной налкадной. Первым делом вы получаете учетную политику, но зачем, может быть до списания себестоимости дело не дойдет. Используется старая методика проведения, а набор регистров сделан как для новой методики. Если решили списывать по старой методике, зачем тогда два регистра накопления?

Отчет БУ выглядит страшно. Соединение двух таблиц остатков, оно вообще работает? Мой текст запроса
ВЫБРАТЬ
РегистрБухгалтерииОстатки.Субконто1 КАК Товар,
РегистрБухгалтерииОстатки.Субконто2 КАК СрокГодности,
РегистрБухгалтерииОстатки.СуммаОстаток КАК Сумма,
РегистрБухгалтерииОстатки.КоличествоОстаток КАК Количество
ИЗ
РегистрБухгалтерии.РегистрБухгалтерии.Остатки({(&Период)}, Счет = ЗНАЧЕНИЕ(Плансчетов.Управленческий.Товары), , ) КАК РегистрБухгалтерииОстатки
и формула ресурса для группировки СрокГодности:
Цитировать
ВычислитьВыражение("Сумма(Сумма)/Сумма(Количество)", "Товар") * Сумма(Количество)

В отчете по ОУ у вас вообще не настроены ресурсы.
С услугами согласен. Ограничение в таблице будет правильней. Отчет БУ поправил. С регистрами не согласен.  Первый регистр нужен для хранения остатков по складам, а второй для расчета себестоимости по партиям. Здесь вопрос стоит в количестве и размере запросов. Если делать по новой методике - проводим движение, записываем. Если бы нам нужно было получить только остаток, тогда по новой подходит больше. но нам нужна еще и себестоимость по партиям.
По поводу субконто. В платформе индексируются первые 16 полей. В нашем билете поле 1 - период, поле 2 - счет, измерений нет,  2 субконто * 4 поля(если вместо примитивного "Дата" использовать справочник "Сроки годности" вместо 4 полей будет 3). Получается: если субконто=Дата, 10<16, если субконто=СрокГодности 8<16. Поэтому и так и так в нашем билете будет правильно. Просто в реальной практике, если делать справочник срокигодности, как рад будет оператор объему дополнительной работы по заполнению датами этого справочника. Главное если у экзаменатора возникнет вопрос, аргументировать свою позицию. Хотя в реальной практике на мой взгляд всё-таки в субконто вставлять составные типы. Потому что поле примитивного висит мертвым грузом на остальных составных.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 01, 2015, 01:02:08 pm
Зачем ограничивать ввод, если "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части."?
Я о приходной накладной.
Сорри, как обычно, смотрел на монитор, а думал о своем.  :D
Я в этом случае вообще ничего не делал бы - услуги для приходной накладной не предусмотрены, значит, в рамках экза пусть юзер их туда не вводит.  :)
Если их не ограничить они будут накапливать движения по регистру. А списываем мы только товары.
Здесь как раз та ситуация, о которой я писал выше (Ответ 66). Хотя, конечно же,  решение принимать вам.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zeskord от Ноябрь 01, 2015, 10:59:42 pm
Прошу покритиковать мое решение.
ОУ и БУ проведение расходной накладной по новой методике.
БУ использование справочника СрокГодности без непосредственной работы с этим справочником и без запросов в цикле. Пользователь выбирает дату в ТЧ документа Приходная накладная.
В ПР выполнено условие
Цитировать
Все сотрудники работают по пятидневному графику работы, однако в решении необходимо предусмотреть возможность работы по нескольким различным графикам.
с использованием функциональной опции. Расчет производится с возвратом данных в табличные части документа для последующего проведения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Ноябрь 02, 2015, 02:16:47 pm
Прошу покритиковать мое решение.
ОУ и БУ проведение расходной накладной по новой методике.
БУ использование справочника СрокГодности без непосредственной работы с этим справочником и без запросов в цикле. Пользователь выбирает дату в ТЧ документа Приходная накладная.
В ПР выполнено условие
Цитировать
Все сотрудники работают по пятидневному графику работы, однако в решении необходимо предусмотреть возможность работы по нескольким различным графикам.
с использованием функциональной опции. Расчет производится с возвратом данных в табличные части документа для последующего проведения.
В идеале при добавлении движения в приходной накладной, можно найти срок годности в справочнике срок годности, если его там нет - создать новый элемент справочника. Тогда не нужно его руками заполнять.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zeskord от Ноябрь 02, 2015, 02:28:47 pm
В идеале при добавлении движения в приходной накладной, можно найти срок годности в справочнике срок годности, если его там нет - создать новый элемент справочника. Тогда не нужно его руками заполнять.
А у меня так и сделано. Причем, нельзя искать для каждой строки, иначе это будет запрос в цикле. Сначала делается запрос по табличной части, где даты соединяются с элементами справочника СрокГодности. А потом при обходе результата запроса Если Выборка.СрокГодностиСсылка = NULL Тогда
Движение.СубконтоДт.СрокГодности = СоздатьПолучитьНовыйЭлементСправочникаСрокГодности(Выборка.СрокГодностиДата)
КонецЕсли;
как-то так. И времени занимает немного. И самое главное, это всегда можно оправдать при защите.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Ноябрь 02, 2015, 02:45:56 pm
В идеале при добавлении движения в приходной накладной, можно найти срок годности в справочнике срок годности, если его там нет - создать новый элемент справочника. Тогда не нужно его руками заполнять.
А у меня так и сделано. Причем, нельзя искать для каждой строки, иначе это будет запрос в цикле. Сначала делается запрос по табличной части, где даты соединяются с элементами справочника СрокГодности. А потом при обходе результата запроса Если Выборка.СрокГодностиСсылка = NULL Тогда
Движение.СубконтоДт.СрокГодности = СоздатьПолучитьНовыйЭлементСправочникаСрокГодности(Выборка.СрокГодностиДата)
КонецЕсли;
как-то так. И времени занимает немного. И самое главное, это всегда можно оправдать при защите.
Сорри не заметил)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Ноябрь 02, 2015, 02:48:41 pm
В идеале при добавлении движения в приходной накладной, можно найти срок годности в справочнике срок годности, если его там нет - создать новый элемент справочника. Тогда не нужно его руками заполнять.
А у меня так и сделано. Причем, нельзя искать для каждой строки, иначе это будет запрос в цикле. Сначала делается запрос по табличной части, где даты соединяются с элементами справочника СрокГодности. А потом при обходе результата запроса Если Выборка.СрокГодностиСсылка = NULL Тогда
Движение.СубконтоДт.СрокГодности = СоздатьПолучитьНовыйЭлементСправочникаСрокГодности(Выборка.СрокГодностиДата)
КонецЕсли;
как-то так. И времени занимает немного. И самое главное, это всегда можно оправдать при защите.
Ко второму билету уже приступал?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zeskord от Ноябрь 02, 2015, 02:50:31 pm
Ко второму билету уже приступал?
Сегодня запланировал делать его с секундомером :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 02, 2015, 02:57:03 pm
Ко второму билету уже приступал?
Сегодня запланировал делать его с секундомером :)
На мой взгляд, это имеет смысл, только если уже знаешь все нюансы, которые могут возникнуть при решении. И даже в таких случаях я при подготовке почему-то не успевал делать с такой скоростью, как в итоге получилось при сдаче (возможно, постоянно пытался дорабатывать, а на экз решил, что прежде всего сделаю по минимуму, чем в итоге ограничился, и этого вполне хватило для сдачи).  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: venvlad от Ноябрь 02, 2015, 03:06:29 pm
Ко второму билету уже приступал?
Сегодня запланировал делать его с секундомером :)
По моему опыту это имеет смысл только если уже знаешь все нюансы, которые могут возникнуть при решении. И даже в таких случаях я не успевал делать так, как получилось при сдаче.  :)
Какой билет попался?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 02, 2015, 03:09:23 pm
Ко второму билету уже приступал?
Сегодня запланировал делать его с секундомером :)
По моему опыту это имеет смысл только если уже знаешь все нюансы, которые могут возникнуть при решении. И даже в таких случаях я не успевал делать так, как получилось при сдаче.  :)
Какой билет попался?
Сборная солянка. Кстати, точно такой же набор был и до моей сдачи, и после.
Я вот тут отчитался.  :)
http://forum.chistov.pro/index.php?topic=993.msg41978#msg41978
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Jones от Ноябрь 06, 2015, 10:29:45 am
Jones,
Не посоветуешь как лучше реализовывать условие на услугу на твой взгляд?

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

...   

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

Т.е. сначала ТЗ, потом выборка из одного и того же запроса

ХитрО )) Может тогда в запросе сделать два запроса пакета?
Результат первого загружать в движения ОУ, а Результат второго - в Движения БУ
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Quantum81 от Ноябрь 10, 2015, 12:53:16 am
моя версия. Делал в цейтноте.

СПР. Сначала сделал Премию всегда за месяц. потом все же переделал на любой дипазон в пределах месяца. 
   РС стаж сделал с одним измерение "До".
  Разные расчетные периоды.

ОУ. Два РН новая методика
БУ. Неожиданно запутался в трех соснах. Вот что цейтнот делает! В итоге по времени не уложился.
   Сделал лишнее списание Дт Покупатели КТ ПрибИУбиток по частям. Но править назад  бы не стал .т.к. по времени не уложился.
БП стандартно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pewit от Ноябрь 10, 2015, 04:35:15 pm
Посмотрите билетик, пожалуйста. Первый раз всё в кучу собрала. Буду рада любой критики и замечаниям! Заранее большое спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: mrWinders от Ноябрь 10, 2015, 07:26:40 pm
я за Итоги в  запросе по БУ при проведении РасхНакладной на сдаче получил... лишние они там
по Номенклатуре общий итог , а в других остатках кол-во по 2-му субконто. вопрос зачем тебе итоги ?

А почему МассивСубконто и для общих остатков1 (по номенклатуре) и для остатков2 (Номенклатура,Срок)  - совпадают? - аяяй

Движения.Основной.Записать(); - Что это такое ??? я так понимаю за это вообще сапогами по лицу.
?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено, МоментВремени())); - какой момент времени? Границу Исключай и не надо записывать, может я конечно чтото не догоняю, но ты же прям движуху чистишь и записываешь, а вдруг отказ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bor от Декабрь 02, 2015, 05:39:57 pm
Часто вижу в решениях подчиненные подсистемы:
  • Оперативный учет
    • Документы
    • Справочники
    • Регистры
  • Бухгалтерский учет
    • Документы
    • Справочники
    • Регистры
Документы, справочники, регистры это не подсистемы. Для этого существуют группы команд. Для приведенного примера должно быть две подсистемы и три группы команд, и никаких подчиненных подсистем. Понятно, что визуальный эффект такой же, но (на мой взгляд) это неправильное использование объектов.
Так (через подсистемы) сделано в примере решения задачи в официальном сборнике задач.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Random4Fun от Январь 26, 2016, 05:51:28 pm
Выкладываю мое решение расчетной задачи.
Буду рад критике и отвечу на любые вопросы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Random4Fun от Январь 28, 2016, 11:33:42 am
Выкладываю исправленное решение расчетной задачи.
В прошлой версии доп начисления не удовлетворяли условию "В одном документе могут быть данные за разные расчетные периоды." Добавил в ТЧ доп начисления реквизиты по базовому периоду.

Буду рад критике и отвечу на любые вопросы готовящихся.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АСБ от Февраль 21, 2016, 07:56:11 am
Проверьте пожалуйста, подсматривал другие примеры, но старался всё сделать как можно стандартнее и менее запутано (по крайней мере для себя :) )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Odines от Февраль 22, 2016, 09:46:01 pm
Первый решенный билет.
Очень важно мнение опытных готовящихся.
Если не сложно прошу пройтись одним глазком.

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

Добрый день!
Замечания по док. "Расходная накладная" следующие:
1) Правильней делать группировку по таб. части и потом её уже обходить выборкой, отобрав только нужные товары и далее с помощью менеджера временных таблиц использовать эти данные во всех последующих запросах.
2)Учетную политику необходимо проверять в начале обработки проведения, если же она не заполнена, то выполнять дальнейшие действия нет смысла. Если она не заполнена необходимо выводить сообщение пользователю.
3) У Вас дублирование текста при проверки метода списания, это плохой тон программирования. Достаточно один раз прописать, а с помощью функции СтрЗаменить менять упорядочивание в зависимости от результата метода списания.
4) Нет блокировок по регистру себестоимости.
5) В запросе себестоимости неправильно установлен параметр период. Необходимо проверять на режим проведения.
6) По рег. себестоимости нет очистки и записи пустого набора движений, для того чтобы можно было перепровести документ.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Silverman от Февраль 29, 2016, 03:24:33 pm
Всем привет. Сделал ОУ из первого билета. Есть один небольшой вопрос. При контроле остатков по партиям по способу Чистова возникает такая ситуация: в параметре виртуальной таблицы остатков используется значение параметра МоментВремени(), но т.к. разрешено оперативное проведение, то при проведении дата все время сдвигается и в остатки попадают движения самого документа. Я убрал возможность проводить документ оперативно и проблема исчезла. Может есть более правильный способ это обойти.
Может кто-то заодно покритикует решение.

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

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

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

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

Доброго времени суток!
Silverman, взял за основу Ваше решение и слегка его "оптимизировал"  :D
Если где то ошибся, прошу строго не судить - сам только начал готовиться, пока разбираюсь на чужих решениях. Любые вопросы и критика приветствуется.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ads666sda от Март 02, 2016, 04:42:41 pm
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Марк от Март 02, 2016, 08:09:24 pm
Здравствуйте, уважаемые специалисты.
Решил таки начать подготовку к экзамену. И начал с самого начала.
При решении задачи ОУ и БУ, возникла проблема. Не пойму почему не списывается толком количество, может я что-то не так понял.
Если у кого время будет, подскажите пожалуйста, что сделал не так.
Спасибо

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

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

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

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

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

или же

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

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

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

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

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

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

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

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

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

или же

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

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

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

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

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

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

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

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

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

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

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

Документ "Расходная" Обработка проведения ОУ:
4. Не очищаются записи документа в регистре - после первых трех строк нужно записать пустые движения. аналогично и с движениями регистра "Себестоимость номенклатуры" Вы пишите, что очищаете, только при оперативном проведении. А если пользователь решит изменить дату на большую у уже проведенного документа? Тогда ваши движения будут учитываться при проведении, хотя и не должны.
5. Нет блокировки записей таблицы регистра в момент записи движений в рамках новой методики проведения.
6. В качестве источника данных для блокировки можно использовать результат запроса. Не обязательно таблицу значений для этого создавать.
7. Когда выводите сообщение пользователю о нехватке товара используете ссылку на справочник, а не строку.  - гарантировано минус балл.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ads666sda от Март 17, 2016, 09:05:12 am
Спасибо Кирилл за поправки, очень ценные.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: axel_work от Март 26, 2016, 10:23:19 pm
Доброго дня, коллеги!

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

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

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

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

Название: Re: Билет 1. Спец по платформе V8
Отправлено: axel_work от Март 27, 2016, 11:34:15 am
Мое решение.  Плиз критика.

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

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Март 27, 2016, 01:59:32 pm
Мое решение.  Плиз критика.

Хз насколько правильно сделал СПР с этим условием про разные периоды. Начало и конец оклада можно ввести любой месяц, добавил только месяц базы в доп. начисления.
Посмотрел только СПР, и без  учета условия по периоды. В целом понравилось, есть некоторые моменты по-мелочи.
1.В процедуре проведения
   Движения.ОсновныеНачисления.Записать();
   Движения.ДополнительныеНачисления.Записать();
можно было заменить на Движения.Записать() и сэкономить немного времени, благо что вариант через название регистра тут не нужен, т.к. тут не нужно указывать параметры.
2.Расчет нужно перенести в общий модуль, вот за это могут немного снизить оценку.
3. Насколько я понимаю, в подобных констукциях тоже должна быть проверка на null после функции, ведь теоретически в итоге тут тоже может получится null. Или нет?
   |      МАКСИМУМ(ШкалаПроцентов.Стаж) КАК Стаж,                           МАКСИМУМ(isnull(ШкалаПроцентов.Стаж,0)) КАК Стаж,
4.При записи рассчитанных доп.начислений не нужно писать параметр Истина, ведь у них нет ФПД,не? Движения.ДополнительныеНачисления.Записать(, Истина);
И вопрос по проектированию: А можно ли со стажем и датой приема поступить было несколько проще - указать их в справочнике Сотрудников и брать их оттуда? По этому поводу что-то слышно было по информации с экзаменов?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Март 27, 2016, 05:01:33 pm
Мое решение.  Плиз критика.

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

Доброго дня!

Несколько предложений по Вашему решению:
1. Я бы сделал сначала проверку на Метод списания. В вашем варианте, если не установлен, то получается зря движения по РН "ОстаткиНоменклатуры" делали, а в документе может быть много записей.

2. Зачем таскать признак услуги? Почему в первом же пакете запроса не поставить условие
"ГДЕ НЕ РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)" ?

3. Есть ли смысл делать проверку при списании партий? Уже проверили по ОстаткиТоваров, что товара хватает.

4. Во многих решениях видел - в документе Операция при установке пометки удаления на документ для набора записей снимается активность (и наоборот). Это примерно такой код в модуле документа:

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Проводки = Движения.Управленческий;
Проводки.Записывать = Истина;
Если НЕ Проводки.Модифицированность() И НЕ ЭтоНовый() Тогда
           Проводки.Прочитать();
КонецЕсли;

Для каждого Проводка Из Проводки Цикл
           Проводка.Период = Дата;

 Если НЕ ЭтоНовый() И ПометкаУдаления <> Ссылка.ПометкаУдаления Тогда
                     Проводка.Активность = НЕ ПометкаУдаления;
 КонецЕсли;
КонецЦикла;

КонецПроцедуры

5. Соглашусь с Гакусеем - начальный стаж и дата приема на работу скорее всего неизменяемая информация и их можно хранить в реквизитах справочника ФизическиеЛица.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Good_Smile от Апрель 05, 2016, 10:52:23 am
Всем привет! Опять начала подготовку)
Моё решение, прошу посмотреть

ОУ - 2 рн Остатки и Себестоимость с суммой
добавила немного кода с проведением ОУ и БУ в РН
получаю втДанныеДокумента в начале и потом передаю запрос в процедуры ОУ и БУ

БУ - счет Товары, пу Количественный, суб1 Номенклатура (пус Суммовой), суб2 СрокГодности
в проводке Дт Покупатели - Кт ПрибылиУбытки сумму по документу использовать нельзя, так как в тч могут быть услуги от ОУ, хотя может быть я сильно заморачиваюсь) и на экзамене это смотреть не будут
кстате услуги в этом билете совсем не используются, отсекаю их когда получаю втДанныеДокумента

по поводу Операции вопрос, код в модуле объекта
Цитировать
   Движения.Управленческий.Записывать = Истина;
   Движения.Управленческий.Прочитать();
   Движения.Управленческий.УстановитьАктивность(НЕ ПометкаУдаления);
   Движения.Записать();
будет работать всегда или лучше использовать отбор по регистратору?

также прошу посмотреть отчет, а именно параметры вт

СПР - стаж храню в спр ФизЛица (реквизит ДатаПриема)

вопрос по поводу реквизитов в тч
Цитировать
Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается
подразумевает, что Подразделение не нужно?
Период регистрации нужен или нет, объясните пожалуйста когда его нужно делать, а когда нет?

в решении ориентировалась на решения SAE (актуальные билеты, 58 стр)
и последний вопрос по поводу флага Разрешить разделение итогов, SAE его проставляет везде (рн и рр), как вы думаете, нужно ли его проставлять всегда, а если нет, то почему?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Апрель 07, 2016, 11:01:56 pm
Доброго времени суток! Наконец то осилил первый билет, прошу посмотреть и раскритиковать.

По ходу решения возникло несколько вопросов:
1. Нужно ли индексировать существующие и добавляемые измерения в регистрах накопления?

2. Нужно ли на эти же измерения накладывать запрет на незаполненные значения?

3. Насколько критично в СПР выносить расчет в общий модуль? Сделал все в процедуре проведения НачислениеЗарплаты, могут снять баллы за это?

4. В ОУ в Приходной не ставлю проверку на Услуги, так как в тексте задачи не сказано явно, что Услуги поступают, вроде бы только оказываются фирмой. Но, если возможно поступление Услуг, то они будут накапливаться в регистре, т.е. проверку надо делать. Кто как считает?

5. Просьба особо проверить параметры виртуальных таблиц в запросах к регистрам бухгалтерии (отчет и проведение расходной накладной), все ли параметры правильно указаны?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Апрель 10, 2016, 10:07:27 pm
Доброго времени суток! Наконец то осилил первый билет, прошу посмотреть и раскритиковать.

По ходу решения возникло несколько вопросов:
1. Нужно ли индексировать существующие и добавляемые измерения в регистрах накопления?

2. Нужно ли на эти же измерения накладывать запрет на незаполненные значения?

3. Насколько критично в СПР выносить расчет в общий модуль? Сделал все в процедуре проведения НачислениеЗарплаты, могут снять баллы за это?

4. В ОУ в Приходной не ставлю проверку на Услуги, так как в тексте задачи не сказано явно, что Услуги поступают, вроде бы только оказываются фирмой. Но, если возможно поступление Услуг, то они будут накапливаться в регистре, т.е. проверку надо делать. Кто как считает?

5. Просьба особо проверить параметры виртуальных таблиц в запросах к регистрам бухгалтерии (отчет и проведение расходной накладной), все ли параметры правильно указаны?

Бегло глянул, пару моментов:   по БУ  - делайте Если Отказ Тогда Продолжить, за условием о нехватке, иначе у вас к примеру 100000 позиций, 1-ая не хватает, всё, Отказ = истина, а остальные все норм хватает, и у вас за зря 99999 итераций пройдёт с расчетом себестоимости.
Ну и пресловутая "проблема копеек" не реализована.
в рамках экзамена:
1) не нужно
2)не нужно
3) критично, т.к. в этой задаче изменение 100%. Будете делать форму, получать объект, его движения , и  вызывать Общий Модуль расчета, грузить в ТЧ результат. (по кнопке Рассчитать результат д.б. в ТЧ документа появится.)
4)  Отсеивайте в параметрах выбора: Отбор.ВидНоменклатуры(Товар)
5) почему массив субконто не заполняете? нужно, влияет на скорость запроса к РБ
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Апрель 11, 2016, 12:52:27 pm
Доброго времени суток! Наконец то осилил первый билет, прошу посмотреть и раскритиковать.

По ходу решения возникло несколько вопросов:
1. Нужно ли индексировать существующие и добавляемые измерения в регистрах накопления?

2. Нужно ли на эти же измерения накладывать запрет на незаполненные значения?

3. Насколько критично в СПР выносить расчет в общий модуль? Сделал все в процедуре проведения НачислениеЗарплаты, могут снять баллы за это?

4. В ОУ в Приходной не ставлю проверку на Услуги, так как в тексте задачи не сказано явно, что Услуги поступают, вроде бы только оказываются фирмой. Но, если возможно поступление Услуг, то они будут накапливаться в регистре, т.е. проверку надо делать. Кто как считает?

5. Просьба особо проверить параметры виртуальных таблиц в запросах к регистрам бухгалтерии (отчет и проведение расходной накладной), все ли параметры правильно указаны?

Бегло глянул, пару моментов:   по БУ  - делайте Если Отказ Тогда Продолжить, за условием о нехватке, иначе у вас к примеру 100000 позиций, 1-ая не хватает, всё, Отказ = истина, а остальные все норм хватает, и у вас за зря 99999 итераций пройдёт с расчетом себестоимости.
Ну и пресловутая "проблема копеек" не реализована.
в рамках экзамена:
1) не нужно
2)не нужно
3) критично, т.к. в этой задаче изменение 100%. Будете делать форму, получать объект, его движения , и  вызывать Общий Модуль расчета, грузить в ТЧ результат. (по кнопке Рассчитать результат д.б. в ТЧ документа появится.)
4)  Отсеивайте в параметрах выбора: Отбор.ВидНоменклатуры(Товар)
5) почему массив субконто не заполняете? нужно, влияет на скорость запроса к РБ

Спасибо за ответ и критику. Насчет "Если Отказ Тогда Продолжить" сначала не понял, в чем подвох, потом дошло, логичное замечание, поправлю.
Насчет "проблемы копеек" не соглашусь - у меня с последней партии всегда списывается остаток суммы, завел тестовый пример - 3шт. общей себестоимостью 1000 р., все списалось нормально. Либо я что-то не понимаю, прошу пояснить подробнее.

Расчет СПР в общем модуле - надо посмотреть, как это реализовано в других решениях. Ориентировался на SAE, у него все было в обработке проведения.

По остальным пунктам замечания/советы понятны, будем исправлять. Спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Апрель 11, 2016, 10:22:31 pm


По остальным пунктам замечания/советы понятны, будем исправлять. Спасибо!

ага с проблемой копеек проглядел, всё верно реализовано)
весьма неплохое решение билета, и все таки СПР выносите в общий модуль;-)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Good_Smile от Апрель 12, 2016, 09:42:45 am
весьма неплохое решение билета, и все таки СПР выносите в общий модуль;-)

Zorky, спасибо, что остались на форуме и комментируете решения после того как сдали
прошу прокомментируйте моё решение или хотя бы ответьте на вопросы в моём сообщении

на счет ПериодаРегистрации в тч документа НачислениеЗарплаты я видела, что это не очень приветствуется на экзамене, и нужно делать для ВР, используемых ПериодДействия, ПериодДействияНачало и ПериодДействияКонец, и правильно ли я поняла, что для Премии можно делать ПериодРегистрации в тч?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Апрель 12, 2016, 08:19:21 pm
весьма неплохое решение билета, и все таки СПР выносите в общий модуль;-)

Zorky, спасибо, что остались на форуме и комментируете решения после того как сдали
прошу прокомментируйте моё решение или хотя бы ответьте на вопросы в моём сообщении

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

нет, период регистрации берите начало месяца  Даты документа, или можно в шапке. Для премии заведите реквизит типа Дата и назовите как нибудь, типа Месяц начисления, ну или по другому. Он не будет влиять на ПР, ПР всегда один у всего Дока, а он нужен для условия "разные расчетные периоды", и от него уже и отсчитывайте базовый период.

ПС:  скоро времени совсем не будет....)))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Good_Smile от Апрель 15, 2016, 10:54:57 am

нет, период регистрации берите начало месяца  Даты документа, или можно в шапке. Для премии заведите реквизит типа Дата и назовите как нибудь, типа Месяц начисления, ну или по другому. Он не будет влиять на ПР, ПР всегда один у всего Дока, а он нужен для условия "разные расчетные периоды", и от него уже и отсчитывайте базовый период.


спасибо за ответ, всё стало гораздо понятней в этих СЛОЖНЫХ периодических расчетах))

Цитировать
ПС:  скоро времени совсем не будет....)))
Начали подготовку к другой аттестации?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Апрель 16, 2016, 10:59:18 am

нет, период регистрации берите начало месяца  Даты документа, или можно в шапке. Для премии заведите реквизит типа Дата и назовите как нибудь, типа Месяц начисления, ну или по другому. Он не будет влиять на ПР, ПР всегда один у всего Дока, а он нужен для условия "разные расчетные периоды", и от него уже и отсчитывайте базовый период.


спасибо за ответ, всё стало гораздо понятней в этих СЛОЖНЫХ периодических расчетах))

Цитировать
ПС:  скоро времени совсем не будет....)))
Начали подготовку к другой аттестации?

можно и так сказать, и параллельно с работой...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Апрель 16, 2016, 05:12:29 pm
можно и так сказать, и параллельно с работой...
К какой, если не секрет? Я бух планирую, в перспективе - ЗУП.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: zorky от Апрель 16, 2016, 09:11:05 pm
можно и так сказать, и параллельно с работой...
К какой, если не секрет? Я бух планирую, в перспективе - ЗУП.

да, тоже скорее бух! для начала) без Бухи никуда ))))  тока ещё не начинал даже к профу готовится ))))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pathfi от Апрель 25, 2016, 01:31:24 pm
Привет! Посмотрите, пожалуйста, мое решение 1 билета:
ОУ - новая методика, 2 регистра накопления (Остатки и Себестоимость)
БУ - тип субконто "срок годности" - дата, для экзамена пойдет
СПР - сделал с учетом нового условия: "сделать на форме кнопу "рассчитать" при нажатии которой будет производится расчёт и сразу же результаты должны отображаться в ТЧ документа."
БП - стандартно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: axel_work от Апрель 28, 2016, 08:31:33 am
Мое решение.  Плиз критика.

Хз насколько правильно сделал СПР с этим условием про разные периоды. Начало и конец оклада можно ввести любой месяц, добавил только месяц базы в доп. начисления.
Посмотрел только СПР, и без  учета условия по периоды. В целом понравилось, есть некоторые моменты по-мелочи.
1.В процедуре проведения
   Движения.ОсновныеНачисления.Записать();
   Движения.ДополнительныеНачисления.Записать();
можно было заменить на Движения.Записать() и сэкономить немного времени, благо что вариант через название регистра тут не нужен, т.к. тут не нужно указывать параметры.
2.Расчет нужно перенести в общий модуль, вот за это могут немного снизить оценку.
3. Насколько я понимаю, в подобных констукциях тоже должна быть проверка на null после функции, ведь теоретически в итоге тут тоже может получится null. Или нет?
   |      МАКСИМУМ(ШкалаПроцентов.Стаж) КАК Стаж,                           МАКСИМУМ(isnull(ШкалаПроцентов.Стаж,0)) КАК Стаж,
4.При записи рассчитанных доп.начислений не нужно писать параметр Истина, ведь у них нет ФПД,не? Движения.ДополнительныеНачисления.Записать(, Истина);
И вопрос по проектированию: А можно ли со стажем и датой приема поступить было несколько проще - указать их в справочнике Сотрудников и брать их оттуда? По этому поводу что-то слышно было по информации с экзаменов?

Извините, что долго не отвечал.
По этим моментам:

1. Я обычно не использую Движения.Записать(). Во-первых для увеличения скорости и уменьшения кол-ва ошибок все действия стараюсь максимально делать однотипными. Поэтому использую запись Движения.ОсновныеНачисления.Записать(). Потому что в коде надо будет писать второй раз тоже самое, но с параметрами. Второй момент - а разве для ДвиженияЗаписать() не надо предварительно выставлять флаги Движения.ОН.Записывать = Истина? Если надо - тогда получается дольше.

2. Это согласен. Грешен, ленюсь :)

3. В запросе свертки стажей null не будет - там внутреннее соединение.

4. Насчет Движения.ДопНач.Записать(, Истина) - да, возможно вы правы. Можно и не писать. Тут частично мои аргументы из п.1 (однотипность = скорость и меньше ошибок), ведь ошибкой данное написание точно не является и не надо запоминать - какие именно наборы мы сейчас записываем. Второй момент - в справке про этот пункт еще про перерасчеты упоминалось, а перерасчеты могут быть и у доп. начислений. Хотя сильно я не разбирался в этом вопросе.

5. Можно и в справочнике задать - разницы нет, у меня РС непериодический.  Думаю, не настолько принципиальный вопрос, чтобы экзаменатор обращал на него внимание.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: axel_work от Апрель 28, 2016, 09:05:37 am
Мое решение.  Плиз критика.

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

Доброго дня!

Несколько предложений по Вашему решению:
1. Я бы сделал сначала проверку на Метод списания. В вашем варианте, если не установлен, то получается зря движения по РН "ОстаткиНоменклатуры" делали, а в документе может быть много записей.

2. Зачем таскать признак услуги? Почему в первом же пакете запроса не поставить условие
"ГДЕ НЕ РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)" ?

3. Есть ли смысл делать проверку при списании партий? Уже проверили по ОстаткиТоваров, что товара хватает.

4. Во многих решениях видел - в документе Операция при установке пометки удаления на документ для набора записей снимается активность (и наоборот). Это примерно такой код в модуле документа:

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Проводки = Движения.Управленческий;
Проводки.Записывать = Истина;
Если НЕ Проводки.Модифицированность() И НЕ ЭтоНовый() Тогда
           Проводки.Прочитать();
КонецЕсли;

Для каждого Проводка Из Проводки Цикл
           Проводка.Период = Дата;

 Если НЕ ЭтоНовый() И ПометкаУдаления <> Ссылка.ПометкаУдаления Тогда
                     Проводка.Активность = НЕ ПометкаУдаления;
 КонецЕсли;
КонецЦикла;

КонецПроцедуры

5. Соглашусь с Гакусеем - начальный стаж и дата приема на работу скорее всего неизменяемая информация и их можно хранить в реквизитах справочника ФизическиеЛица.

Спасибо за комментарий!

1. По методу списания каюсь, забыл про него - поэтому он в середине. Согласен, надо вынести вперед, или в ПередЗаписью.

2. Если не обратили внимание - там МенеджерВременныхТаблиц. Признак ЭтоУслуга используется далее в коде БУ части.

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

4. Про код в Операции спасибо. Обычно в целях экономии времени я ничего туда не пишу, так как считается, что пользователь сам там все контролирует. Кроме того, в видео бонусе от Гилева - решении бух. задачи он тоже только движения вывел на форму и этим ограничился.

5. В общем разницы нет,  просто как-то проскочило предположение, что сотрудника могут несколько раз принимать и увольнять, соот-но она все таки изменяемая, но нечасто :).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: aevdovin от Апрель 28, 2016, 05:16:17 pm
Посмотрите билетик, пожалуйста. Первый раз всё в кучу собрала. Буду рада любой критики и замечаниям! Заранее большое спасибо!
Нет признака учета субконто "Суммовой". Он требуется в этой задаче по условию ("Себестоимость определяется как средняя по товару по всем срокам годности.
Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей
и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей,
то при списании себестоимость одной пачки данного йогурта равна 100 рублей.
")
Название: Re: Билет 1. Спец по платформе V8
Отправлено: aevdovin от Апрель 29, 2016, 02:19:07 pm
мое решение. Если кто  прокомментирует, буду признателен. Есть сомнения по поводу расчета средней себестоимости в БУ. (скрин прилагаю).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Июнь 03, 2016, 01:59:04 pm
Здравствуйте! Решил задача ОУ

Посмотрите, кто может пжл  :-[
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Июнь 06, 2016, 09:20:16 am
Выгрузка в dt
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 06, 2016, 12:15:22 pm
Выгрузка в dt

Добрый день!
Вы неверно новую методику проведения используете, ошибка в модуле Расходной накладной, строка 14:
Движения.ОстаткиНоменклатуры.Записать(); //очищаем движения (нужно для перепроведения)не нужна. Почитайте статью Павла Чистова http://1c.chistov.pro/2013/07/blog-post_25.html  там все понятно и доступно про проведение по разным методикам. И запрос по остаткам весьма оригинальный - зачем в запрос передавать массив с номенклатурой, когда в БД есть сам документ?

Структура регистров построена неверно, если вы в запросе индексируете и соединение делаете по Номенклатуре, то и в регистре ставьте ее на первое место в измерениях.

Также есть неявный запрос к базе в цикле, когда к реквизиту Номенклатуры через точку обращаетесь.
И вот здесь Сообщение.Текст = "Недостаточно номенклатуры "+ВыборкаДетальныеЗаписи.Номенклатура+" "+(-ВыборкаДетальныеЗаписи.Остаток); неявный запрос, лучше взять Представление от Номенклатуры в запросе и его выводить в Сообщении.

В расходной накладной рекомендовал бы проведение сделать по следующей схеме:
1. сначала смотрите значение Учетной политики - может быть вообще не заполнено, тогда отказ.
2. Запросом группируем табличную часть документа, в запросе же исключаем услуги
3. формируем из результата запроса движения по РН "ОстаткиНоменклатуры", записываем, не забываем про блокировку
4. проверяем на отрицательные остатки
5. если не отказ, то очищаем и записываем движения по регистру с партиями, накладываем Блокировку, читаем и делаем списание.

В проведении Приходной накладной строки:
Цитировать
Движения.ОстаткиНоменклатуры.Записать();
Движения.ПартииНоменклатуры.Записать();
не нужны. Главное флаги "Записывать=Истина" не забыть выставить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Июнь 06, 2016, 12:48:03 pm
SAM, спасибо! Всё понятно, кроме
3. формируем из результата запроса движения по РН "ОстаткиНоменклатуры", записываем, не забываем про блокировку
Можете поподробнее раскрыть? Я думал, что блокировки для старой и новой методик выглядят след. образом:

1 - Новая методика (сначала пишем, потом читаем)
Движения.Регистр.Записывать = Истина;
Движения.Регистр.БлокироватьДляИзменения = Истина; //используем БлокироватьДляИзменения

//Дальше код по записи движений и контролю остатков

2 - Старая методика (сначала читаем, потом пишем)
Движения.Регистр.Записывать = Истина;

Блокировка = Новый БлокировкаДанных; //накладываем явную блокировку

//Дальше стандартный запрос к БД по партиям, контроль остатков, расчет себестоимости и запись движений

P.S. по поводу Движения.Регистр.Записать(), действительно, в голове каша была. В статье написано следуюущее:
Цитировать
При установленном свойстве "Удалять автоматически" в самом начале транзакции проведения система автоматически записывает пустые наборы записей в регистры, тем самым очищая старые движения. Это физически происходит, запись, со всеми вытекающими транзакциями и блокировками.
Видимо это ещё с 8.1 у меня привычка всегда руками очищать движения. Спасибо Вам большое

UPD.: убрал
Движения.ПартииНоменклатуры.Записать();Теперь при перепроведении система подцепляет предыдущие движения документа по данному регистру... Что-то я совсем запустался.
Как при старой методике при перепроведении документа очищать предыдущие движения без Записать() ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 06, 2016, 02:59:05 pm
SAM, спасибо! Всё понятно, кроме
3. формируем из результата запроса движения по РН "ОстаткиНоменклатуры", записываем, не забываем про блокировку
Можете поподробнее раскрыть? Я думал, что блокировки для старой и новой методик выглядят след. образом:

P.S. по поводу Движения.Регистр.Записать(), действительно, в голове каша была. В статье написано следуюущее:
Цитировать
При установленном свойстве "Удалять автоматически" в самом начале транзакции проведения система автоматически записывает пустые наборы записей в регистры, тем самым очищая старые движения. Это физически происходит, запись, со всеми вытекающими транзакциями и блокировками.
Видимо это ещё с 8.1 у меня привычка всегда руками очищать движения. Спасибо Вам большое

UPD.: убрал
Движения.ПартииНоменклатуры.Записать();Теперь при перепроведении система подцепляет предыдущие движения документа по данному регистру... Что-то я совсем запустался.
Как при старой методике при перепроведении документа очищать предыдущие движения без Записать() ?

Прошу прощения, если запутал  ;D
Во-первых, в документах Удаление движений ставим в "Удалять автоматически при отмене проведения" (так установлено изначально). Если укажем, что "Удалять автоматически" - движения будут очищаться автоматом перед началом проведения, но это лишняя запись в базу, которая не всегда нам нужна.

При новой методике проведения:
1.Движения.Регистр.Очистить(); - можно очистить набор движений, но не обязательно, в описании Аттестации указано, что формы управляемые. Если движения не читать заранее, то набор будет пуст. Но можно и очистить, вряд ли это будет ошибкой, главное не записывать!
2. Формируем набор движений.
3. Движения.Регистр.БлокироватьДляИзменения = Истина; - блокируем для изменений.Важно, чтобы у Регистра стоял флаг разделения итогов, иначе БлокироватьДляИзменения не работает!
4. Далее на выбор:
Движения.Регистр.Записать(); - пишем набор движений по регистру
либо
Движения.Регистр.Записывать = Истина; - устанавливаем флаг, затем
Движения.Записать();  - будут записаны только те движения, у которых выставили Записывать = Истина

что важно Движения.Регистр.Записать() оказывается не сбрасывает флаг, поэтому такая конструкция:
Цитировать
Движения.Регистр.Записывать = Истина;
Движения.Регистр.Записать();
будет ошибкой для новой методики, т.к. мы пишем движения явно, а затем, по окончанию транзакции, платформой будут писаться все движения с установленным флагом, т.е. запись еще раз.

При записи новые движения заместят старые, если идет перепроведение.

5. проверка на отрицательные остатки и т.д.

При старой методике:
1. Я использовал такую конструкцию:
Движения.Регистр.Очистить();
Движения.Регистр.БлокироватьДляИзменения = Истина;
Движения.Регистр.Записать();

Павел Чистов в своей статье предлагает использовать такой код только для оперативного проведения, обернуть в Если РежимПроведения=РежимПроведенияДокумента.Оперативный Тогда
...
КонецЕсли;
однако на форуме я видел сообщения, что на аттестации такой вариант не понравился принимающему.
Т.к. сдавал дистанционно, и не было возможности поспорить, оставил только эти три строки, т.е. очищаем набор, блокируем, если вдруг это перепроведение и какие то движения там уже были, и записываем пустой набор.

Далее Блокировка = Новый БлокировкаДанных;
читаем, формируем набор движений и ставим флаг Записывать=Истина; чтобы движения записались при окончании транзакции. И все  :D

Еще замечание - при оперативном проведении запрос выполнять не на пустую дату, а в качестве момента времени передавать Неопределено.
Т.е. при новой методике
Запрос.УстановитьПараметр("Момент",?(РежимПроведение=РежимПроведенияДокумента.Оперативный,Неопределено,Новый Граница(МоментВремени(),ВидГраницы.Включая)));
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Июнь 06, 2016, 04:32:50 pm
Да, сейчас почитал про БлокироватьДляИзменения и тоже пришёл к таким же выводам.
Для новой методики:
Движения.Регистр.БлокироватьДляИзменения = Истина; //Блокируем старые движения

//Формируем новые движения

Движения.Регистр.Записать(); //Явно записываем их

//Делаем проверки

Для старой методики:
Движения.Регистр.Записывать = Истина; //устанавливаем маркер записи, в принципе неважно где, можно хоть в самом конце после формирования движений
Движения.Регистр.БлокироватьДляИзменения = Истина; //Блокируем старые движения
Движения.Регистр.Записать() //Очищаем движения, чтобы они не попадали в запрос

//Формируем движения и проверки

Цитировать
Еще замечание - при оперативном проведении запрос выполнять не на пустую дату, а в качестве момента времени передавать Неопределено.
Т.е. при новой методике
Запрос.УстановитьПараметр("Момент",?(РежимПроведение=РежимПроведенияДокумента.Оперативный,Неопределено,Новый Граница(МоментВремени(),ВидГраницы.Включая)));
А почему? Разве для платформы есть какая-то существенная разница? Ведь всё равно Неопределено будет преобразовано в пустую дату
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 07, 2016, 10:49:42 am
Доброго времени всем )
посмотрите плз мой вариант. Буду признателен за комменты
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 07, 2016, 11:32:51 am
Доброго времени всем )
посмотрите плз мой вариант. Буду признателен за комменты
Посмотрел бегло,
isnull в запросах отсутствует
В БУ отключают ПУС Суммовой по срокам годности, из-за этого меняются запросы и прочее. В БУ отчете не учтено условие, что сумма должна формироваться специфически.
Отключать всегда Оперпроведение у НЗ
Подразделение в РР не нужно, галка Базовое не проставлено
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 09:43:43 am
В БУ отключают ПУС Суммовой по срокам годности, из-за этого меняются запросы и прочее. В БУ отчете не учтено условие, что сумма должна формироваться специфически.
так ведь если оставить только обороты на сроках годности, то остатка в разрезе этого субконто не видно будет. Не понятно что списывать и как строить отчет в таком случае
и про флажок - Базовое. В РР измерение одно, смысл то от него какой будет? Если бы было 2 и больше - тогда можно было бы подумать какой индекс нужен и расставить этот флажок и порядок измерений в РР. А так - не понимаю зачем его выставлять? Наоброт - это увеличит время записи наборов.
И кстати, давно хотел спросить - на индексирование реквизитов смотрят на экзамене? (я про измерения РН в частности)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 08, 2016, 10:25:21 am
ПУС и только обороты - совершенно разные вещи.
Насколько я понял на индексирование смотрят на уровне "чтобы было" . Ну а если хошь подискутировать с преподом, то такая возможность у тебя будет конечно ;D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 10:45:54 am
ПУС и только обороты - совершенно разные вещи.
Насколько я понял на индексирование смотрят на уровне "чтобы было" . Ну а если хошь подискутировать с преподом, то такая возможность у тебя будет конечно ;D
я из региона, так что подискутировать не смогу )) буду сдавать дистанционно )
зы хм, ПУС - не понял я что это такое. Признак учета субконто, по-другому как еще расшифровать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 08, 2016, 10:50:27 am
ПУС и только обороты - совершенно разные вещи.
Насколько я понял на индексирование смотрят на уровне "чтобы было" . Ну а если хошь подискутировать с преподом, то такая возможность у тебя будет конечно ;D
Признак учета субконто, по-другому как еще расшифровать?
Да, к только оборотам не имеют отношения. Самостоятельная фенька
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 08, 2016, 10:51:02 am
ПУС и только обороты - совершенно разные вещи.
Насколько я понял на индексирование смотрят на уровне "чтобы было" . Ну а если хошь подискутировать с преподом, то такая возможность у тебя будет конечно ;D
я из региона, так что подискутировать не смогу )) буду сдавать дистанционно )
зы хм, ПУС - не понял я что это такое. Признак учета субконто, по-другому как еще расшифровать?

ПУС - это признак учета субконто. В этой задаче нужен признак учета субконто "суммовой" и признак учета "количественный", плюс разобраться как это работает и зачем это нужно. Как только разберетесь в этом моменте - сразу решать бух.задачи становится проще.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 12:41:58 pm
с признаками учета вроде все понятно. Непонятно как избавиться от копеек:
Если брать формулу
Себестоимость = Выборка.СуммаОст * Списывать/ Выборка.КолВоОст;где Выборка.СуммаОст - общая стоимость, Списывать - колво к списанию в тек. партии, а Выборка.КолВоОст - общий остаток
Название: Re: Билет 1. Спец по платформе V8
Отправлено: rds92 от Июнь 08, 2016, 04:23:21 pm
с признаками учета вроде все понятно. Непонятно как избавиться от копеек:
Если брать формулу
Себестоимость = Выборка.СуммаОст * Списывать/ Выборка.КолВоОст;где Выборка.СуммаОст - общая стоимость, Списывать - колво к списанию в тек. партии, а Выборка.КолВоОст - общий остаток
По этой формуле ни разу копейки не зависали, все в 0 всегда уходило. Или я как то не так тестировал?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 04:39:06 pm
По этой формуле ни разу копейки не зависали, все в 0 всегда уходило. Или я как то не так тестировал?
приложил скрины. Сумма по партиям - 3350, куплено 12 шт. Продаем 12. В итоге 1 копейки не хватает до полной суммы себестоимости
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 08, 2016, 04:47:25 pm
см. последние решения, по-моему это почти в каждом решении реализовано
Название: Re: Билет 1. Спец по платформе V8
Отправлено: rds92 от Июнь 08, 2016, 04:56:48 pm
По этой формуле ни разу копейки не зависали, все в 0 всегда уходило. Или я как то не так тестировал?
приложил скрины. Сумма по партиям - 3350, куплено 12 шт. Продаем 12. В итоге 1 копейки не хватает до полной суммы себестоимости


Хм, что я делаю не так? Почему у меня нормально списывает?
Движение.Количество = Мин(Списать, ВыборкаДетальные.КоличествоОстаток);
Движение.Сумма = Движение.Количество * ВыборкаДетальные.СуммаОстаток / ВыборкаДетальные.КоличествоОстаток;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 08, 2016, 04:58:27 pm
как раз пишу эту часть в другой задаче:   
         Ксписанию=мин(Списать,Выборка.Количество);

   
   Если Ксписанию=Выборка.Количество Тогда
         СС=Выборка.Сумма;
      Иначе
            
         СС=Ксписанию/Выборка.Количество*Выборка.Сумма;
      КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: rds92 от Июнь 08, 2016, 05:00:25 pm
как раз пишу эту часть:     
   Если Ксписанию=Выборка.Количество Тогда
            СС=Выборка.Сумма;
         Иначе
           
            СС=Ксписанию/Выборка.Количество*Выборка.Сумма;
         КонецЕсли;

Ксписанию = 1
Выборка.Количество = 1

Получаем

 Если 1=1 Тогда
           СС=Выборка.Сумма;
 Иначе
           СС=1/1*Выборка.Сумма; Это равнозначно 1 * Выборка.Сумма
КонецЕсли;

Не вижу смысла городить это условие, если эотт код отрабатывает нормально:
Движение.Количество = Мин(Списать, ВыборкаДетальные.КоличествоОстаток);
Движение.Сумма = Движение.Количество * ВыборкаДетальные.СуммаОстаток / ВыборкаДетальные.КоличествоОстаток;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 05:01:52 pm
с копейками разобрался. спасибо, ребят.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: rds92 от Июнь 08, 2016, 05:02:34 pm
с копейками разобрался. спасибо, ребят.
В чем косяк был?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 08, 2016, 05:19:53 pm
с копейками разобрался. спасибо, ребят.
В чем косяк был?
косяк мой был в том, что от остатка суммы к списанию отнимал рассчитанную себестоимость. А надо отнимать сумму, которая уже в проводке. На всякий случай код

СебестоимостьСредняя = ?(НЕ Выборка.КолвоОст, 0, Выборка.СуммаОст / Выборка.КолВоОст);
ОсталосьСписатьКолво = Выборка.КоличествоДок;
ОсталосьСписатьСумма = ?(Выборка.КоличествоДок = Выборка.КолВоОст, Выборка.СуммаОст, СебестоимостьСредняя * Выборка.КоличествоДок);

ВыборкаНоменклатура = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ОсталосьСписатьКолво > 0 И ВыборкаНоменклатура.Следующий() Цикл
Проводка = Движения.РегистрБухгалтерии.Добавить();
Проводка.Период = Дата;
Проводка.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Проводка.СчетКт = ПланыСчетов.Управленческий.Товары;
Проводка.СубконтоКт.Номенклатура = ВыборкаНоменклатура.Номенклатура;
Проводка.СубконтоКт.СрокГодности = ВыборкаНоменклатура.СрокГодности;
Списывать = Мин(ОсталосьСписатьКолво, ВыборкаНоменклатура.КолвоОст);
Себестоимость = ?(ОсталосьСписатьКолво = ВыборкаНоменклатура.КолвоОст, ОсталосьСписатьСумма, СебестоимостьСредняя * Списывать);

Проводка.КоличествоКт = Списывать;
Проводка.Сумма   = Себестоимость;

ОсталосьСписатьКолво = ОсталосьСписатьКолво - Списывать;
ОсталосьСписатьСумма = ОсталосьСписатьСумма - Проводка.Сумма;

           КонецЦикла;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 09, 2016, 10:43:55 am
контрольный. гляньте кому не сложно, плз.
остался один вопрос - не формируются задачи автоматически. 2 раза перенастроил все. не понимаю почему
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Гакусей от Июнь 09, 2016, 11:06:56 am
В реквизите Адресации коряво связано- Пдоразделение с должностью. Наверное из-за этого нет задач
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 09, 2016, 11:09:36 am
контрольный. гляньте кому не сложно, плз.
остался один вопрос - не формируются задачи автоматически. 2 раза перенастроил все. не понимаю почему

Ошибка в настройке адресации в задаче, для подразделения указано - Измерение адресации: Должность
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 09, 2016, 11:18:20 am
спасибо. все взлетело ))
да эж, каркас билета сделал за полдня а на допиливание ушло еще 2 дня, правда отвлекался, но все же. Надеюсь, что к 6 билету будет попроще уже )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 21, 2016, 09:08:46 am
Ну вот и пришло время решать билеты на время. Первый пошел)) 4 часа 20 минут - на все задания, включая внесение тестовых данных, настройка отображения отчетов как в задании - считаю справился неплохо по времени, хотя билет, конечно, не самый трудный. Был бы очень признателен за конструктивную критику моего решения!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 21, 2016, 01:45:53 pm
Ну вот и пришло время решать билеты на время. Первый пошел)) 4 часа 20 минут - на все задания, включая внесение тестовых данных, настройка отображения отчетов как в задании - считаю справился неплохо по времени, хотя билет, конечно, не самый трудный. Был бы очень признателен за конструктивную критику моего решения!

На мой взгляд, в целом все ок. Два момента только бросились в глаза:

1. В проведении расходной накладной строка 19 Движения.Записать(); точно не нужна. Она и не запишет ничего.

2. Зачем из модуля документа "Начисление зарплаты" в общий модуль передавать ссылку, а потом от ссылки читать из базы движения? Лишнее чтение из базы, в модуле документа есть универсальная коллекция Движения, имхо, лучшее эту коллекцию и передать (и из нее же взять ссылку на документ)

И самое главное - не сделали кнопку "Рассчитать" в документе НачислениеЗ/п, советую сделать - я попал на 2 балла из-за этой кнопки.
 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freez1301 от Июнь 21, 2016, 03:59:43 pm
2SAM
видел пишут про эту кнопку на форуме, но ни в одном задании не встречал еще такого требования, да и в решениях ни у кого тоже не видел. В моем понимании она должна показать в таб. части результат? Грубо говоря провести документ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 21, 2016, 06:01:56 pm
Ну вот и пришло время решать билеты на время. Первый пошел)) 4 часа 20 минут - на все задания, включая внесение тестовых данных, настройка отображения отчетов как в задании - считаю справился неплохо по времени, хотя билет, конечно, не самый трудный. Был бы очень признателен за конструктивную критику моего решения!

На мой взгляд, в целом все ок. Два момента только бросились в глаза:

1. В проведении расходной накладной строка 19 Движения.Записать(); точно не нужна. Она и не запишет ничего.

2. Зачем из модуля документа "Начисление зарплаты" в общий модуль передавать ссылку, а потом от ссылки читать из базы движения? Лишнее чтение из базы, в модуле документа есть универсальная коллекция Движения, имхо, лучшее эту коллекцию и передать (и из нее же взять ссылку на документ)

И самое главное - не сделали кнопку "Рассчитать" в документе НачислениеЗ/п, советую сделать - я попал на 2 балла из-за этой кнопки.
SAM, во-первых, спасибо что и после сдачи появляетесь на этом форуме и помогаете тем, кто еще не получил сертификат.
По поводу замечаний, действительно в коде должен был указываться конкретный набор записей Движения.ТоварыНаСкладах.Записать(); Передача ссылки а не коллекции движений в общий модуль - в принципе так видел во многих решениях + Чистов именно так реализовывает в своих курсах, думаю это не принципиальный вопрос, буду уже делать так как набил руку.
А вот по поводу расчета интересное замечание, уточните, у Вас было прямо в условии задания текст про кнопку расчета  в форме документа? Или теперь это общее требование ко всем расчетным задачам?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 21, 2016, 07:15:49 pm
Движения.ТоварыНаСкладах.Записать();так тем более не нужно делать - это противоречит новой методике проведения, которую вы применяете. В данном случае надо сформировать движения, записать их и потом проверить на отрицательные остатки. Предварительно записывать пустые (очищенные) движения не нужно - это лишняя запись в базу.

По поводу кнопки "Рассчитать": у меня был на аттестации именно 1-й билет и в расчетной задаче был примерно такой текст (насколько вспомню):
Цитировать
В документе Начисление зарплаты на форме реализовать кнопку "Рассчитать" для предварительного заполнения результатов расчета в форме...
. Должен ли проводиться документ по этой кнопке, или нужно как то провести вычисления и заполнить столбец "Результат" на форме - тут я не могу подсказать, если бы знал - сделал бы на аттестации  ;D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 22, 2016, 06:43:37 am
Движения.ТоварыНаСкладах.Записать();так тем более не нужно делать - это противоречит новой методике проведения, которую вы применяете. В данном случае надо сформировать движения, записать их и потом проверить на отрицательные остатки. Предварительно записывать пустые (очищенные) движения не нужно - это лишняя запись в базу.
Осмелюсь с Вами поспорить.
Перед записью пустого набора устанавливается свойство БлокироваДляИзмерения в Истина.
Движения.ОстаткиТоваров.БлокироватьДляИзменения=Истина;
Движения.ОстаткиТоваров.Очистить();

Здесь на одной из веток шло бурное обсуждение установки свойства БлокироватьДляИзменения в Истина и дальнейшая запись пустого набора. Это делается для того чтобы заблокировать регистр по тем позициям, что были в документе ранее (так как транзация может завершиться неуспешно и движения в регистре остануться старые, мы должны обеспечить блокировку и этих позиций)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SAM от Июнь 22, 2016, 09:32:15 am
Движения.ТоварыНаСкладах.Записать();так тем более не нужно делать - это противоречит новой методике проведения, которую вы применяете. В данном случае надо сформировать движения, записать их и потом проверить на отрицательные остатки. Предварительно записывать пустые (очищенные) движения не нужно - это лишняя запись в базу.
Осмелюсь с Вами поспорить.
Перед записью пустого набора устанавливается свойство БлокироваДляИзмерения в Истина.
Движения.ОстаткиТоваров.БлокироватьДляИзменения=Истина;
Движения.ОстаткиТоваров.Очистить();

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

Я руководствовался статьей Павла Чистова http://1c.chistov.pro/2013/07/blog-post_25.html (http://1c.chistov.pro/2013/07/blog-post_25.html) явно в статье нет ответа на Ваш вопрос, но есть ниже в комментариях. 
Вкратце: очищать движения, блокировать для изменения и записывать нужно в начале проведения по старой методике. По новой методике - формируете движения, устанавливаете БлокироватьДляИзменения=Истина и пишите. Движения, которые возможно были в базе до записи набора, тоже заблокируются.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 23, 2016, 10:03:10 am
Я руководствовался статьей Павла Чистова http://1c.chistov.pro/2013/07/blog-post_25.html (http://1c.chistov.pro/2013/07/blog-post_25.html) явно в статье нет ответа на Ваш вопрос, но есть ниже в комментариях. 
Вкратце: очищать движения, блокировать для изменения и записывать нужно в начале проведения по старой методике. По новой методике - формируете движения, устанавливаете БлокироватьДляИзменения=Истина и пишите. Движения, которые возможно были в базе до записи набора, тоже заблокируются.
Не нашел подтверждение своих слов. Так что судя по всему Вы правы - для новой методики проведения, не следуют записывать пустой набор записей, блокировка по удаленным позициям из документа будет осуществляться в дальнейшем при записи набора записей. Спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: roxy_ от Август 05, 2016, 02:09:15 pm
Добрый день !
делала по материалам чистова контроль остатков , вроде бы все нормально , ошибок нет
но , при проведении документа нет предупреждений о том , что товара нет
хотя пытаюсь продать несуществующий товар
мб кто-то сталкивался с такой проблемой ?
прикладываю файл dt
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 05, 2016, 02:33:20 pm
Добрый день, roxy_ !
Посмотрел твое решение.
Ошибка была в том, что ты пишешь в регистр с видом движения "Приход" - а надо "Расход".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: misev от Август 05, 2016, 03:24:40 pm
Ребят, проверьте, если кому не сложно, вроде бы все правильно работает, но вот эти вечные ньюансы все портят. (Нет кнопки рассчитать) Делала ее, когда решала задачи из билета по отдельности, с легкостью сделала, поэтому второй раз делать было просто влом)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: roxy_ от Август 05, 2016, 08:49:26 pm
Спасибо , freemaestro , что откликнулся
я поменяла , как ты советуешь
но , к сожалению у меня теперь ни один документ не проводится , в сообщениях ошибки числа намного больше , чем в приходной накладной   :(
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 05, 2016, 10:58:23 pm
Спасибо , freemaestro , что откликнулся
я поменяла , как ты советуешь
но , к сожалению у меня теперь ни один документ не проводится , в сообщениях ошибки числа намного больше , чем в приходной накладной   :(
Странно, прежде, чем добраться до сообщений, пришлось исправлять ошибки в коде.
Цитировать
Сообщение.Текст = "Не хватает товара" + Выборка.Материал.Представление +" не хватает "+ (-Выборка.КоличествоОстаток);
Что это такое у вас - Выборка.Материал.Представление? Как у вас вообще что-то проводится с таким кодом?  :-\
А когда ошибку поправил, и исправил в расходе вид движения на Расход, вроде бы недостача указывается верно, за исключением - расходная накладная 1 по времени раньше приходной, а недостаток выдает с учетом прихода. Подозреваю, что дело в оперативном проведении - поскольку расход сегодняшней датой, то программа пытается провести документ текущим временем.
Но плохо не это  :D , а то, что вы обрабатываете оперативное проведение, а на экзамене этого делать НЕ НАДО.
Недавно в "Результатах сдачи ..." писали, что, по крайней мере, за это делают замечание, т.к. по условиям экзамена остатки надо получать на момент проведения документа. Некоторые, кроме того, вообще запрещают оперативное проведение всех документов.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 06, 2016, 10:18:40 am
Добрый день, alex1248 !

Но плохо не это  :D , а то, что вы обрабатываете оперативное проведение, а на экзамене этого делать НЕ НАДО.
Недавно в "Результатах сдачи ..." писали, что, по крайней мере, за это делают замечание, т.к. по условиям экзамена остатки надо получать на момент проведения документа. Некоторые, кроме того, вообще запрещают оперативное проведение всех документов.  :)

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

На самом деле, я за то, чтобы его не обрабатывать, а вообще запретить - это упростило бы жизнь.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 06, 2016, 03:59:15 pm
Добрый день, alex1248 !

Но плохо не это  :D , а то, что вы обрабатываете оперативное проведение, а на экзамене этого делать НЕ НАДО.
Недавно в "Результатах сдачи ..." писали, что, по крайней мере, за это делают замечание, т.к. по условиям экзамена остатки надо получать на момент проведения документа. Некоторые, кроме того, вообще запрещают оперативное проведение всех документов.  :)

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

На самом деле, я за то, чтобы его не обрабатывать, а вообще запретить - это упростило бы жизнь.
Вот сообщение, где сказано (в самом конце), что за это делали замечания:
http://forum.chistov.pro/index.php?topic=993.msg47005#msg47005
Дальше обсуждали - это замечание основано на ошибке из перечня: "Если при проведении документа используются каким-то образом данные, считываемые из регистров, обязательно требуется предусмотреть получение таких данных на момент проведения документа". Эта ошибка = -1 балл. При обработке оперативного проведения как раз получаются данные НЕ на момент проведения документа.
По поводу запрета оперативного проведения - идея не нова, так делают много лет, я ее нарыл в сообщениях 2011-2012 годов; не читал, чтобы за это были замечания. Я сам на экз опер проведение запрещал во всех доках, но, по-моему, на это Гончаров просто не смотрел; в коде оперативное проведение я не обрабатывал, это Гончаров, естественно, видел, замечаний не было.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 06, 2016, 10:34:07 pm
Спасибо за ответ, alex1248 !

Полезная информация !
Название: Re: Билет 1. Спец по платформе V8
Отправлено: roxy_ от Август 08, 2016, 09:51:48 am
Спасибо за консультацию
поняла и исправила )
а можете какую-нибудь литературу или уроки подсказать , чтобы лучше в 1с разобраться ??
половину Радченко прорешала , но мало что запоминается  :(
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 08, 2016, 12:55:26 pm
Добрый день, roxy_ !

Ну такого специфического ничего и не посоветуешь здесь.

Первое - это учебная платформа 1С.
Там есть не только платформа, но и учебные материалы, книги.
Тот же Радченко там есть, "Руководство разработчика", "Руководство администратора".

Если брать конкретно подготовку к спецу по платформе -
то есть специализированные курсы от 1С именно по подготовке к этому экзамену.
Очно и дистанционно.

Ну и, конечно, продолжать решать задачи из сборника.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Noxie41 от Август 08, 2016, 01:56:15 pm
Спасибо за консультацию
поняла и исправила )
а можете какую-нибудь литературу или уроки подсказать , чтобы лучше в 1с разобраться ??
половину Радченко прорешала , но мало что запоминается  :(

1. 1C:Предприятие 8.3. Практическое пособие разработчика http://v8.1c.ru/metod/books/book.jsp?id=441
2. Реализация прикладных задач в системе «1С:Предприятие 8.2» http://v8.1c.ru/metod/books/book.jsp?id=268
3. Профессиональная разработка в системе 1С:Предприятие 8 http://v8.1c.ru/metod/books/book.jsp?id=401
4. Курсы от Евгения Гилева и компании. Иногда решение от Евгения не совпадает с решение принимающих экзамен. Там можно будет и отыскать бесплатные курсы по 1С (Программирование в 1С - за 21 день).
5. Читать статьи на ИТС
6. Курсы от 1С (очные, веб) никто не отменял.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 16, 2016, 04:56:19 pm
Посмотрел последние решение задач по БУ.
Вопрос: Для чего 2 левых соединения используются?
(В одном получение себестоимости, а во втором количество и сумму в разрезе номенклатуры и срока годности?)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 17, 2016, 07:54:09 am
Посмотрел последние решение задач по БУ.
Вопрос: Для чего 2 левых соединения используются?
(В одном получение себестоимости, а во втором количество и сумму в разрезе номенклатуры и срока годности?)


Добрый день, xXeNoNx!

А ты можешь текст запроса привести?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 17, 2016, 10:53:53 am
А ты можешь текст запроса привести?

Вот

ВЫБРАТЬ
   ПРЕДСТАВЛЕНИЕ(ВТ_Товары.Номенклатура),
   ВТ_Товары.Номенклатура КАК Номенклатура,
   РБОстатокКолво.Субконто2 КАК СрокГодности,
   ВТ_Товары.Количество КАК КоличествоДок,
   ЕСТЬNULL(РБОстатокКолво.КоличествоОстатокДт, 0) КАК КолвоОст,
   ЕСТЬNULL(РБОстатокСумма.СуммаОстатокДт, 0) КАК СуммаОст
ИЗ
   ВТ_Товары КАК ВТ_Товары
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Остатки(
            &Момент,
            Счет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Товары),
            &ВидыСубконто,
            Субконто1 В
               (ВЫБРАТЬ
                  ВТ_Товары.Номенклатура
               ИЗ
                  ВТ_Товары КАК ВТ_Товары)) КАК РБОстатокКолво
      ПО ВТ_Товары.Номенклатура = РБОстатокКолво.Субконто1
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Остатки(
            &Момент,
            Счет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Товары),
            &ВидыСубконто,
            Субконто1 В
               (ВЫБРАТЬ
                  ВТ_Товары.Номенклатура
               ИЗ
                  ВТ_Товары КАК ВТ_Товары)) КАК РБОстатокСумма
      ПО (ВТ_Товары.Номенклатура = РБОстатокКолво.Субконто1)

УПОРЯДОЧИТЬ ПО
   СрокГодности
ИТОГИ
   МАКСИМУМ(КоличествоДок),
   СУММА(КолвоОст),
   МАКСИМУМ(СуммаОст)
ПО
   Номенклатура
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 17, 2016, 11:44:44 am
Посмотрел последние решение задач по БУ.
Вопрос: Для чего 2 левых соединения используются?
(В одном получение себестоимости, а во втором количество и сумму в разрезе номенклатуры и срока годности?)


Добрый день, xXeNoNx!

А ты можешь текст запроса привести?

Если честно, xXeNoNx, не вижу причин делать 2 левых соединения - можно обойтись и одним. А почему бы не спросить автора решения, может, у него был какой-то "хитрый план" ? :-) Но в любом случае, если можно обойтись одним левым соединением вместо двух - надо обходиться одним.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 17, 2016, 02:34:40 pm
Это делается потому что на Субконто2 нет суммового учета. Хотя можно все сделать одним соединением. Система создаст еще одну строчку и там будет сумма. Правда потом в обработке проведения придется писать Если ВЫборкаДетЗап.КолвоОстаток=0 Тогда Продолжить. В плане эффективности без понятия, что быстрее. Наверное все таки одно соединение. Хотя почему то многие делают двумя. Даже те кто все сдал и помогают советами здесь.
Этот экзамен очень странный
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 17, 2016, 02:45:33 pm
Правда потом в обработке проведения придется писать Если ВЫборкаДетЗап.КолвоОстаток=0 Тогда Продолжить.

Зачем? Все итогами решается..
Вот мое решение.
ОУ + БУ(пока без отчета)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 17, 2016, 03:13:10 pm
косячно сделано. зачем итоги по срокамгодности? у вас в приходе со сроком годности 2 августа 1 шт товара, а списывается две.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 17, 2016, 03:22:43 pm
есть тут профи? кто в курсе почему все соединяются с двумя таблицами, а не с одной? Не хотелось бы чтоб ответ на этот вопрос мне сказали на экзамене
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 18, 2016, 09:28:20 am
есть тут профи? кто в курсе почему все соединяются с двумя таблицами, а не с одной? Не хотелось бы чтоб ответ на этот вопрос мне сказали на экзамене

Анатолий, скажите, зачем профи ходить на этот форум?  :)
Здесь в основном такие же готовящиеся.
Наша задача - помочь друг другу, так как в одиночку вообще некому "ткнуть носом"
даже в явные ошибки.

Вы имеете в виду решение xXeNoNx, которое он выложил?
Посмотрю, постараюсь ответить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Noxie41 от Август 18, 2016, 09:37:49 am
есть тут профи? кто в курсе почему все соединяются с двумя таблицами, а не с одной? Не хотелось бы чтоб ответ на этот вопрос мне сказали на экзамене

Как мне кажется, здесь лишнее одно Левое соединение.  КоличествоОстатокДт, СуммаОстатокДт можно получить используя только одно соединение с РегистрБухгалтерии.Остатки(). Параметры для таблиц остатков одинаковые, смысл тогда использовать 2 соединения я не вижу.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Август 18, 2016, 09:48:17 am
 
есть тут профи? кто в курсе почему все соединяются с двумя таблицами, а не с одной? Не хотелось бы чтоб ответ на этот вопрос мне сказали на экзамене

Анатолий, xXeNoNx одно соединение в своем решении использовал. Значит, надо смотреть только на запрос, который выше приводился на этом форуме.

Там соединение с двумя виртуальными таблицами, у которых одинаковые параметры.

Тут я согласен с Noxie41, и тоже, не вижу смысла делать 2 левых соединения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 18, 2016, 09:48:46 am
Посмотрел в "запасниках" - одно соединение и Итоги. Вроде, всё считалось корректно.
Не вижу смысла использовать 2 соединения.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 18, 2016, 04:48:21 pm
Собственно прошлый вариант был не очень удачным.
Вот исправленная версия. Просьба прокомментировать.
Использую одно левое соединение.
Остается вопрос в корректности решения
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 05:21:13 pm
я щас подумал, тут вроде практически все задачи можно решить одним соединением, все делают двумя. и пятый билет и шестой. Двумя таблица проще получается итоговая. на экзамене смотрят два соединения или одно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 05:36:43 pm
1)автоупорядочивание не стоит.
2)попробуйте ввести срок годности 05.01.2015 и 01.01.2016. Что раньше спишется.
Расчет себестоимости для меня тяжеловато написан, лень разбирать
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 18, 2016, 05:56:00 pm
1)автоупорядочивание не стоит.
2)попробуйте ввести срок годности 05.01.2015 и 01.01.2016. Что раньше спишется.
Расчет себестоимости для меня тяжеловато написан, лень разбирать

Списывает корректно, разные даты пробовал(точки спасают).
Не понимаю для чего делать автоупорядочивание?
Мне кажется что сортировать по ссылке не совсем корректно, ведь эти сроки могут вводится в произвольном виде, особенно близлежащие.
Максимум что можно сделать, это упорядочить по вложенной дате (сроку годности).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 06:04:33 pm
проделайте это:
1в расходной накладной товар водка сделайте 1шт количество.
посмотрите товар с каким сроком списался.
2в приходной накладной там где срок 02.08.16 (тот который списался) поменяйте (не выбрать другой, а изменить этот срок - наименование и дату) на 07.08.16. P.s. Наименование короч поменяйте у 02.08.16 на 07.08.16.
перепроведите приходную и расходную. посмотрите что какой срок спишется
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 06:06:35 pm
за 2 соединения вместо одного на экзамене наказывают?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 18, 2016, 07:01:05 pm
Про наименование согласен, я выше предложил сортировку по дате, которая в этом элементе.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 07:21:05 pm
зачем??? надо поставить галочку автоупорядочивание - чтоб сортировался по наименованию, а не по ссылке. и даты вводить надо не 01.12.2016, а 2016,12,01. в Справочник СрокиГодности создать форму и в модуле формы:
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
   Объект.Наименование = Формат(Объект.СрокГодности,"ДФ=yyyy-MM-dd");
КонецПроцедуры

Наименование сделать полеНадписи.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 07:23:36 pm
меня больше интересует мнение экзаменаторов про 2 соединения вместо одного и
кто знает, что если более сложные задачи типа билет 5 и 6 решать одним соединением.
мне двумя проще, т.к. рука набита уже и таблица итоговая проще получается
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Август 18, 2016, 07:28:33 pm
Вроде как в рекомендации к сдаче экзамену есть пункт про упрощение решения...
И Гончаров об этом говорил.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 18, 2016, 07:35:47 pm
за 2 соединения вместо одного на экзамене наказывают?
На мой взгляд, в данном случае можно применить снижение оценки "за неэффективное решение" (если оно таково, я думаю, так и есть, но ошибаться могу).
А вообще, надо стараться делать лучше всё решение, потому что на экзамене может не хватить времени, что-то упустить, и т.д. и т.п., и минусы могут накопиться довольно быстро. Если на первый взгляд будет не очевидно, ставить троячок или нет, то экзаменатор вполне может принять решение на основании какого-то не очень существенного нюанса, на который не обратил бы внимание при почти идеальном решении, и на которое не было бы смысла смотреть при большом количестве грубых ошибок. В частности, его вопрос, и молчание в ответ сдающего будет трактоваться как повод для снижения оценки (а правильный ответ вы можете так и не узнать).
И еще, зачем смотрите все решения? Тут же большинство выкладывают не для образца, а чтобы их проверили, и ошибок там зачастую хватает на несколько двоек в каждой задаче.  :)
В этой ветке можно смотреть у зоркого (zorky), лучше в последних вариантах, еще кто-то был позже, но я не помню (редко бывал), а вы (Анатолий) можете помнить, кто недавно сдал быстро и успешно. А вот вспомнил одного из последних, как не помнить - Гакусей.  :)
Где-то выкладывал решения SAE, многие их хвалили одно время, наверное в Результатах сдачи, но наверняка не скажу.
Лично я разбирался с непонятками по решениям от sada. Он выкладывал примерно в 2012 году в ветках по соответствующим задачам из Сборника (на них есть ссылки в ветке Новый рубрикатор). Так вот, из того, что я смотрел, не помню вообще таких соединений, о каких вы пишете.

P.S.  И у Джонса, ТС всех этих веток, должно быть норм в последних вариантах.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Август 18, 2016, 07:41:07 pm
Вроде как в рекомендации к сдаче экзамену есть пункт про упрощение решения...
И Гончаров об этом говорил.
В данном случае имеется ввиду упрощение моделируемой ситуации.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Август 18, 2016, 07:42:26 pm
что думаете если билет 5 решать одним соединением с бух.регистром, а не двумя?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: MadRave от Сентябрь 05, 2016, 03:26:54 pm
Буду рад критике :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 09, 2016, 04:41:51 pm
попался этот билет. все сделал кроме з/п. Никак не хотела проводиться НачислениеЗарплаты.
Вылезла ошибка :
-Недопустимое значение параметра (параметр номер '2') (Необходим пересчет фактического периода действия)'
на: Движения.ДопНачисления.Записать(,Истина);

Я так и не успел разобраться что ей нужно. Первоначальную запись сделал. Вроде все как обычно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alyx Ruby от Сентябрь 09, 2016, 05:55:36 pm
Анатолий, ты про экзамен? Если да, то и у меня в 1 билете была ошибка с пустой партией, с которой я боролась , потеряв драгоценное время (хотя все заполнялось прекрасно, видимо глючная база или платформа)...  :D В итоге не зачет!  :-\ Такое впечатление, что это делается специально! А люди от нервов теряются и тратят драгоценное время и деньги впустую!  >:(
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 09, 2016, 06:36:16 pm
у меня тоже все рассчиталось норм. В режиме отладки через "Вычислить выражение" проверял - все нормально заполнено. НО не проводится. Выше названная ошибка. До сих пор не пойму из-за чего. Может хоть когда результат экзамена пришлют, скажут что это. Хотя вряд ли. Там конвейер - не работает - два, дальше думаю причины смотреть даже не будут.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 28, 2016, 01:05:39 am
почему все используют в запросе:
РАЗНОСТЬДАТ(НачислениеЗарплатыДопНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД)
//если от 2016.01.01 вычесть 2015.12.31 то вернется 1 год.
//////////////////////////////////////////////////////
Никто не знает:
-В условии сказано что отчет должен быть строго за месяц определенного года (январь,февраль). Никак попроще это нельзя решить, не создавая формуОтчета и реквизитов? Нет же никаких хитрых настроек?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: lanky от Сентябрь 28, 2016, 01:24:51 pm
попался этот билет. все сделал кроме з/п. Никак не хотела проводиться НачислениеЗарплаты.
Вылезла ошибка :
-Недопустимое значение параметра (параметр номер '2') (Необходим пересчет фактического периода действия)'
на: Движения.ДопНачисления.Записать(,Истина);

Я так и не успел разобраться что ей нужно. Первоначальную запись сделал. Вроде все как обычно

Из синтакс-помощника

"<ТолькоЗапись> (необязательный)

Тип: Булево.
Определяет режим записи набора. Истина - производится только запись набора; Ложь - производится пересчет фактического периода действия и ввод записей перерасчетов.
По умолчанию при записи набора производится не только собственно запись, но и пересчет периода действия (для регистров расчета с поддержкой периода действия) и ввод записей перерасчета (если необходимо).
Внимание! Значение Истина для параметра можно задавать только при записи уже записанного набора записей и только в том случае, если в наборе записей изменялись только ресурсы и реквизиты. Если в наборе записей изменялись любые другие поля записей набора, то запись набора с параметром, равным Истина не выполняется и выдается сообщение об ошибке.
Значение по умолчанию: Ложь. "

Необходимо было писать так
Движения.ДопНачисления.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Сентябрь 28, 2016, 02:45:00 pm
почему все используют в запросе:
РАЗНОСТЬДАТ(НачислениеЗарплатыДопНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД)
//если от 2016.01.01 вычесть 2015.12.31 то вернется 1 год.
че сразу все-то? я наверное дни/365 использовал с округлением куда надо. Или месяцы / 12, т.к. в днях может быть проблема с 365/366
Никто не знает:
-В условии сказано что отчет должен быть строго за месяц определенного года (январь,февраль). Никак попроще это нельзя решить, не создавая формуОтчета и реквизитов? Нет же никаких хитрых настроек?
Ни в одном отчете не создавал форму отчета, отчеты в этих задачах все простые. Сложные вот только начал делать, по спецзаказам от бухов )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 28, 2016, 08:06:21 pm
да не. я все правильно написал. просто в одном месте невнимательно код напечатал, и даже мысли не возникло что там косяк может быть. Я когда набор заполнял в цикле: вместо Движение.Результат написал Движение.Регистратор и из-за этого такая ошибка вылетела. Там времени совсем мало. Монитор маленький, неудобный.


попался этот билет. все сделал кроме з/п. Никак не хотела проводиться НачислениеЗарплаты.
Вылезла ошибка :
-Недопустимое значение параметра (параметр номер '2') (Необходим пересчет фактического периода действия)'
на: Движения.ДопНачисления.Записать(,Истина);

Я так и не успел разобраться что ей нужно. Первоначальную запись сделал. Вроде все как обычно

Из синтакс-помощника

"<ТолькоЗапись> (необязательный)

Тип: Булево.
Определяет режим записи набора. Истина - производится только запись набора; Ложь - производится пересчет фактического периода действия и ввод записей перерасчетов.
По умолчанию при записи набора производится не только собственно запись, но и пересчет периода действия (для регистров расчета с поддержкой периода действия) и ввод записей перерасчета (если необходимо).
Внимание! Значение Истина для параметра можно задавать только при записи уже записанного набора записей и только в том случае, если в наборе записей изменялись только ресурсы и реквизиты. Если в наборе записей изменялись любые другие поля записей набора, то запись набора с параметром, равным Истина не выполняется и выдается сообщение об ошибке.
Значение по умолчанию: Ложь. "

Необходимо было писать так
Движения.ДопНачисления.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 28, 2016, 09:19:13 pm
никто не смог сделать чтоб отчет только за месяц формировался? Можно еще один параметр добавить Месяц. и его подставлять в параметры которые в запросе. Как сделать чтоб в отчете 01.05.2016 заменялось на май 2016.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 28, 2016, 09:20:19 pm
а все. не надо. разобрался
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Анатолий от Сентябрь 29, 2016, 01:14:13 am
интересно на практике бизнес-процессы кто-нибудь применяет? Ясно же что этого недостаточно для практического применения. Что еще нужно доработать (например необходимо чтоб Жупиков не мог нажать "Выполнено,закрыть" на задаче для Лоханкиной и т.д.)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Пётр от Сентябрь 29, 2016, 02:43:43 pm
Добрый день!
Прошу пояснить кто знает)) Что за волшебная кнопка рассчитать о которой пишут?

Я думал что это кнопка, должна пере провести документы которые влияют на сформированную премию. В задание (Механизм перерасчетов в рамках данной задачи использовать не надо) 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GH0STexe от Сентябрь 29, 2016, 02:55:48 pm
Добрый день!
Прошу пояснить кто знает)) Что за волшебная кнопка рассчитать о которой пишут?

Я думал что это кнопка, должна пере провести документы которые влияют на сформированную премию. В задание (Механизм перерасчетов в рамках данной задачи использовать не надо)
А как между собой связаны кнопка "Рассчитать" и механизм перерасчетов? Я что то не понял мысли
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Пётр от Сентябрь 29, 2016, 03:09:27 pm
Добрый день!
Прошу пояснить кто знает)) Что за волшебная кнопка рассчитать о которой пишут?

Я думал что это кнопка, должна пере провести документы которые влияют на сформированную премию. В задание (Механизм перерасчетов в рамках данной задачи использовать не надо)
А как между собой связаны кнопка "Рассчитать" и механизм перерасчетов? Я что то не понял мысли

Ну я думал получить данные для перерасчета, и пере провести доки..
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 06, 2016, 02:56:08 pm
Хотел бы поделиться своими соображениями по поводу использования Старого или Нового метода учета остатков при списании.

Структура для ОУ:
2 Регистра:
1. "Остатки товаров"
изм: Номенклатура, склад
рес: Количество

2. "Стоимость товаров"
изм: Номенклатура, Партия
Рес: Количество, Стоимость
(Из условия задачи, себестоимость не учитывается в разрезе складов т.е. Остатки списываем со склада а себестоимость по учетной политике, даже если склад получается разным)


Мой листинг модуля документа РасходнаяНакладная для ОУ:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Новый Граница(МоментВремени())).МетодСписания; // быстрее в 2 раза чем через запрос

Если ЗначениеЗаполнено(Метод) Тогда
Если Метод = Перечисления.МетодСписания.LIFO Тогда
Порядок = " Убыв";
Иначе
Порядок = "";
КонецЕсли;
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Заполните Учетную политику!";
Сообщение.Сообщить();
Отказ = Истина;
Возврат;
КонецЕсли;

//- Получить учетную политику



//+ Получаем номенклатуру без услуг Делаем движения по отаткам

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
| РасходнаяНакладнаяТовар.Номенклатура,
| СУММА(РасходнаяНакладнаяТовар.Количество) КАК Количество
|ПОМЕСТИТЬ ДокТЧ
|ИЗ
| Документ.РасходнаяНакладная.Товар КАК РасходнаяНакладнаяТовар
|ГДЕ
| РасходнаяНакладнаяТовар.Ссылка = &Ссылка                     
| И НЕ РасходнаяНакладнаяТовар.Номенклатура.Услуга
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяТовар.Номенклатура,
| РасходнаяНакладнаяТовар.Ссылка.Склад
|
| ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТЧ.Номенклатура,
| ДокТЧ.Количество КАК Количество
|ИЗ
| ДокТЧ КАК ДокТЧ";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса = Запрос.ВыполнитьПакет();
СписатьОстатки = РезультатЗапроса[1].Выбрать();

Движения.ОстаткиТоваров.Записывать = Истина;
Движения.ОстаткиТоваров.Очистить();
Пока СписатьОстатки.Следующий() Цикл
Движение = Движения.ОстаткиТоваров.ДобавитьРасход();
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = СписатьОстатки.Номенклатура;
Движение.Количество = СписатьОстатки.Количество;
КонецЦикла;

Движения.ОстаткиТоваров.БлокироватьДляИзменения = Истина;
Движения.Записать();

//- Получаем номенклатуру без услуг Делаем движения по отаткам


//+ Проверяем отриц остатки

Запрос.Текст = "ВЫБРАТЬ
| Остатки.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
| Остатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(
| &ТочкаИтогов,
| Номенклатура В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ КАК ДокТЧ)
| И Склад = &Склад) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток < 0
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТЧ.Номенклатура
|ИЗ
| ДокТЧ КАК ДокТЧ";

Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("ТочкаИтогов", Новый Граница(МоментВремени(), ВидГраницы.Включая));

ПакетРезультатов = Запрос.ВыполнитьПакет();
РезультатЗапроса = ПакетРезультатов[0];

Если НЕ РезультатЗапроса.Пустой() Тогда
Отказ = Истина;

Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Мало товара " + Выборка.НаименованиеПолное + " на складе - "+ Склад +" нужно еще " + (-Выборка.КоличествоОстаток);
Сообщение.Сообщить();
КонецЦикла; 
КонецЕсли;

Если Отказ Тогда
Возврат;
КонецЕсли;

//- Проверяем отриц остатки


//+ Блокировка Создаем движения в регистре партий

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СтоимостьТоваров");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = ПакетРезультатов[1] ;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();

Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
Движения.СтоимостьТоваров.Очистить();
Движения.СтоимостьТоваров.БлокироватьДляИзменения = Истина;
движения.СтоимостьТоваров.Записать();
КонецЕсли;

Запрос.Текст = "ВЫБРАТЬ
| ДокТЧ.Номенклатура КАК Номенклатура,
| ДокТЧ.Количество КАК Количество,
| СтоимостьТоваров.Партия,
| СтоимостьТоваров.КоличествоОстаток,
| СтоимостьТоваров.СтоимостьОстаток
|ИЗ
| ДокТЧ КАК ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьТоваров.Остатки(
| &ТочкаИтоговДляСебестоимости,
| Номенклатура В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ КАК ДокТЧ)) КАК СтоимостьТоваров
| ПО ДокТЧ.Номенклатура = СтоимостьТоваров.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| СтоимостьТоваров.Партия.МоментВремени " + Порядок +"
|ИТОГИ
| МИНИМУМ(Количество)
|ПО
| Номенклатура";

Запрос.УстановитьПараметр("ТочкаИтоговДляСебестоимости", МоментВремени());

Движения.СтоимостьТоваров.Очистить();

РезультатЗапроса = Запрос.Выполнить();
ВыборкаТовар = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаТовар.Следующий() Цикл

ОсталосьСписать = ВыборкаТовар.Количество;

ВыборкаПартия = ВыборкаТовар.Выбрать();
Пока ВыборкаПартия.Следующий() И ОсталосьСписать <> 0 Цикл

Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличествоОстаток);

Движение = Движения.СтоимостьТоваров.ДобавитьРасход();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Движение.Стоимость = Списать / ВыборкаПартия.КоличествоОстаток * ВыборкаПартия.СтоимостьОстаток;

ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;

КонецЦикла;

Движения.СтоимостьТоваров.Записывать = Истина;

//- Блокировка Создаем движения в регистре партий
КонецПроцедуры

Короткий план:
1. Получаем учетную политику на тек момент.
2. Запросом получаем список номенклатуры без услуг. А так же сразу же создаем индексированную временную таблицу для последующих запросов. Делаем движения по остаткам товаров.
3. Получаем из Регистра Остатки товаров записи с отрицательными остатками, если записи есть - отмена транзакции иначе продолжаем
4. Блокируем регистр Стоимость товаров по номенклатуре. Читаем регистр по учет политике, делаем движения, записываемся.

Теперь нюансы:
1. В этой задаче обязателен запрос на выборку номенклатуры без услуг.
Обращение через точку в цикле - ошибка! При получении значения через точку мы не только получаем нужное значение но и все другие реквизиты.
2. По совету коллег – не использовать метод "Сообщить("")" т.к. он плохо работает в Web интерфейсе, использовать "СообщениеПользователю"

3. А теперь самое интересное, почему новая методика а не старая.
За образец "Старого" решения я взял решение от Alex1248, убрал в нем все движения/блокировки, все что относится к бухгалтерским задачам и начал замеры производительности.
Результаты:
Производительность моего решения показала лучший результат при 600+ записей в Табличной части документа (600+ одинаковых номенклатур в ТЧ). Что дает нам понять, при росте заполнености базы мое решение будет работать в разы быстрее. (При 1000 записей в ТЧ производительность различалась на 40% в мою пользу).
Как итог: Запись происходит быстрее, блокировки короче.

Код Alex1248 с которым сравнивал:
Процедура ОбработкаПроведения(Отказ, Режим)

Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата).Метод;

Если ЗначениеЗаполнено(Метод) Тогда
Если Метод = Перечисления.УчетнаяПолитика.ЛИФО Тогда
Порядок = " Убыв";
Иначе
Порядок = "";
КонецЕсли;
Иначе
Сообщить("Заполните метод списания!");
Отказ = Истина;
Возврат;
КонецЕсли;

// регистр ОстаткиНоменклатуры Расход
Движения.ОстаткиНоменклатуры.Записывать = Истина;

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;

// регистр бухгалтерии
//Движения.РегистрБухгалтерии.Записывать = Истина;

Блокировка = Новый БлокировкаДанных;
ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
ЭлБлокировки.УстановитьЗначение("Склад", Склад);
Блокировка.Заблокировать();


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
|ПОМЕСТИТЬ ТчДок
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
| И РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТчДок.Склад,
| ТчДок.Номенклатура КАК Номенклатура,
| СебестоимостьОстатки.Партия,
| ТчДок.Количество КАК КолДок,
| ЕСТЬNULL(СебестоимостьОстатки.КолвоОстаток, 0) КАК КолОст,
| ЕСТЬNULL(СебестоимостьОстатки.СебестоимостьОстаток, 0) КАК СумОст,
| ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КолСклад
|ИЗ
| ТчДок КАК ТчДок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &Момент,
| (Склад, Номенклатура) В
| (ВЫБРАТЬ
| ТчДок.Склад,
| ТчДок.Номенклатура
| ИЗ
| ТчДок КАК ТчДок)) КАК ОстаткиНоменклатурыОстатки
| ПО ТчДок.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
| И ТчДок.Склад = ОстаткиНоменклатурыОстатки.Склад
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Себестоимость.Остатки(
| &Момент,
| Номенклатура В
| (ВЫБРАТЬ
| ТчДок.Номенклатура
| ИЗ
| ТчДок КАК ТчДок)) КАК СебестоимостьОстатки
| ПО ТчДок.Номенклатура = СебестоимостьОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| СебестоимостьОстатки.Партия.МоментВремени"  + Порядок + "
|ИТОГИ
| МАКСИМУМ(КолДок)
|ПО
| Номенклатура";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Момент", МоментВремени());

//Движения по регистрам накопления
Пакет = Запрос.ВыполнитьПакет();
Результат = Пакет[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока Результат.Следующий() Цикл

Выборка = Результат.Выбрать();
Остаток = Результат.КолДок;

Пока Выборка.Следующий() И Остаток > 0 Цикл

Если Выборка.КолДок > Выборка.КолСклад Тогда
Сообщить("Товара не хывтает");
Отказ = Истина;
Возврат;
КонецЕсли;

//Остатки
Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = мин(Выборка.КолОст,Остаток);

//Себестоимость
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Партия = Выборка.Партия;
Движение.Колво = мин(Выборка.КолОст,Остаток);
Движение.Себестоимость = ?(Выборка.КолОст = 0,0, Движение.Колво * Выборка.СумОст / Выборка.КолОст);

Остаток = Остаток - Движение.Колво;
КонецЦикла;

КонецЦикла;
КонецПроцедуры


Кстати
РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Новый Граница(МоментВремени())).МетодСписания;Работает быстрее чем через запрос в 2 раза. но разница в 0.0015 секунды (0.0030 против 0.0015).

Готов услышать критику и замечания.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kuzyara от Октябрь 06, 2016, 05:22:34 pm
1. В этой задаче обязателен запрос на выборку номенклатуры без услуг.
интересно, зачем тогда про них в условии говорится ;)
Обращение через точку в цикле - ошибка!
а если еще и понимать отличия объектной модели данных от табличной... ???
2. По совету коллег – не использовать метод "Сообщить("")"
ох уж эти вредные советы :D
плохо работает в Web интерфейсе
1с вообще плохо работает в веб-интерфейсе  ;D
Производительность моего решения показала лучший результат
только преподу этого не ляпни ???
Готов услышать критику и замечания.
комментарии повторяешь по два раза, по два раза :-X
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 06, 2016, 05:45:00 pm
плохо работает в Web интерфейсе
1с вообще плохо работает в веб-интерфейсе  ;D
Производительность моего решения показала лучший результат
только преподу этого не ляпни ???

1. В целом она неплохо справляется с Web интерфейсом для определенных задач. Только одно но, самая стабильная и функциональная 1с в Вебе получается при запуске в IE. (К примеру для работы(загрузки) файлов необходимо использовать только IE)

2. Как я понял из комментариев сдававших то главная их ошибка при сдаче, они не уверены в своей правоте потому что сделали "Как все", "Так нам на курсах говорили" и т.д. Здесь я конкретно взял два решения, и сделал замер производительности. И, пока что, я уверен что мое решение получилось более эффективным.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 06, 2016, 06:04:59 pm
И, пока что, я уверен что мое решение получилось более эффективным.
Поскольку сделано на основе моего решения, тоже прокомментирую. Увы, но новая методика в этой задаче получит -1 балл, почти наверняка. Уверенность нужна не в тех вопросах, по которым у экзаменаторов есть однозначное мнение (именно поэтому мне пришлось позже поменять своё отношение к этому пунктику).

По поводу Сообщить, даже не знаю, откуда оно в моем решении ). Видимо решение было выложено в начале подготовлено. Да, крайне нежелательно его использовать. Именно под несоответствие веб-интерфейсу и будет подведено, и штрафные баллы конкретно указаны за это. Так что только СообщениеПользователю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Октябрь 06, 2016, 11:32:02 pm
И, пока что, я уверен что мое решение получилось более эффективным.
Поскольку сделано на основе моего решения, тоже прокомментирую. Увы, но новая методика в этой задаче получит -1 балл, почти наверняка. Уверенность нужна не в тех вопросах, по которым у экзаменаторов есть однозначное мнение (именно поэтому мне пришлось позже поменять своё отношение к этому пунктику).

По поводу Сообщить, даже не знаю, откуда оно в моем решении ). Видимо решение было выложено в начале подготовлено. Да, крайне нежелательно его использовать. Именно под несоответствие веб-интерфейсу и будет подведено, и штрафные баллы конкретно указаны за это. Так что только СообщениеПользователю.

Добрый день, alex1248 !

Поясните, пожалуйста, про -1 балл. За что?



Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 07, 2016, 05:26:11 am
Поясните, пожалуйста, про -1 балл. За что?
За "использование менее эффективной методики проведения документов".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kuzyara от Октябрь 07, 2016, 07:18:58 am
Читаю методику.
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Мало товара " + Выборка.НаименованиеПолное + " на складе - "+ Склад +" нужно еще " + (-Выборка.КоличествоОстаток);
Сообщение.Сообщить();
Без ключа данных эти три строки абсолютно идентичны методу:
Сообщить("Мало товара " + Выборка.НаименованиеПолное + " на складе - "+ Склад +" нужно еще " + (-Выборка.КоличествоОстаток));, а по сему использовать этот объект для такого сообщения бессмысленно, не?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kuzyara от Октябрь 07, 2016, 11:24:30 am
Код Alex1248:
Процедура ОбработкаПроведения(Отказ, Режим)
// ...

// регистр ОстаткиНоменклатуры Расход
Движения.ОстаткиНоменклатуры.Записывать = Истина;

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;

// регистр бухгалтерии
//Движения.РегистрБухгалтерии.Записывать = Истина;

Блокировка = Новый БлокировкаДанных;
ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
ЭлБлокировки.УстановитьЗначение("Склад", Склад);
Блокировка.Заблокировать();


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ остатки";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Момент", МоментВремени());

//Движения по регистрам накопления
Пакет = Запрос.ВыполнитьПакет();
Почему нет Движения.ОстаткиНоменклатуры.Записать() перед блокировкой, ведь тогда на момент запроса в итогах мешаются старые движения документа?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 07, 2016, 11:43:19 am
Код Alex1248:
Процедура ОбработкаПроведения(Отказ, Режим)
// ...

// регистр ОстаткиНоменклатуры Расход
Движения.ОстаткиНоменклатуры.Записывать = Истина;

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;

// регистр бухгалтерии
//Движения.РегистрБухгалтерии.Записывать = Истина;

Блокировка = Новый БлокировкаДанных;
ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
ЭлБлокировки.УстановитьЗначение("Склад", Склад);
Блокировка.Заблокировать();


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ остатки";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Момент", МоментВремени());

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

Не обращайте внимания на код Алекса, он не эталонный, тем более он "устаревший". Я брал его решение просто для примера "Старого" метода что бы провести замер производительности.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Октябрь 11, 2016, 12:42:51 pm
моё решение
Буду рад критике
 :D

Обновлено: http://forum.chistov.pro/index.php?topic=3638.msg48933#msg48933
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 11, 2016, 03:28:47 pm
Все, на этом я собираюсь остановиться.

Потратил еще 2 дня на разбор и поиск информации по вопросы Старый/Новый метод учета.
В прошлом, я ошибся, положившись на решение от Алекса которое нашел. И толком его не проверял на "оптимальность". И вот, Индексация не сделана, движения не чистятся, в общем доработал все по новой. Вынес запрос на Номенклатуру без услуг до блокировок, что бы Услуги в регистрах не блокировать.

Результаты оказались менее впечатляющими   :-[ .

Производительность Старого метода:
Кол-во записей в документе: 3
Время выполнения: ~0.048 секунды.

Кол-во записей в документе: 1000
Время выполнения: ~1.2 секунды

Производительность Нового метода:
Кол-во записей в документе: 3
Время выполнения: ~0.040 секунды.

Кол-во записей в документе: 1000
Время выполнения: ~1.1 секунда

Т.е. "новый" метод работает на 10-20% быстрее чем "Старый".
Однако, хотел бы сделать акцент на следующем моменте (если я все правильно понимаю):
В новом методе, не блокируются записи в регистре Бухгалтерии и в Регистре с себестоимостью пока не пройдет проверка на остатки. А, между прочим, проверка на остатки занимает ~15% Времени проведения документа.
Т.е. Мало того что метод работает на 10-20% быстрее так еще на дополнительные 15% уменьшается время блокировки 2-х ключевых регистров системы.
А в случае отказа транзакции из-за отсутствия товара, эти регистры не блокируются вовсе.

Представляю на суд 2 модуля которые я сравнивал:

Пример "Нового" метода ОП/БУ Документ Расходник
Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Новый Граница(МоментВремени())).МетодСписания; // быстрее в 2 раза чем через запрос

Если ЗначениеЗаполнено(Метод) Тогда
Если Метод = Перечисления.МетодСписания.LIFO Тогда
Порядок = " Убыв";
Иначе
Порядок = "";
КонецЕсли;
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Заполните Учетную политику!";
Сообщение.Сообщить();
Отказ = Истина;
Возврат;
КонецЕсли;

//- Получить учетную политику

//+ Получаем номенклатуру без услуг Делаем движения по отаткам

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
              | РасходнаяНакладнаяТовар.Номенклатура,
              | СУММА(РасходнаяНакладнаяТовар.Количество) КАК Количество,
              | СУММА(РасходнаяНакладнаяТовар.Сумма) КАК Сумма
              |ПОМЕСТИТЬ ДокТЧ
              |ИЗ
              | Документ.РасходнаяНакладная.Товар КАК РасходнаяНакладнаяТовар
              |ГДЕ
              | РасходнаяНакладнаяТовар.Ссылка = &Ссылка
              | И НЕ РасходнаяНакладнаяТовар.Номенклатура.Услуга
              |
              |СГРУППИРОВАТЬ ПО
              | РасходнаяНакладнаяТовар.Номенклатура
              |
              |ИНДЕКСИРОВАТЬ ПО
              | РасходнаяНакладнаяТовар.Номенклатура
              |;
              |
              |////////////////////////////////////////////////////////////////////////////////
              |ВЫБРАТЬ
              | ДокТЧ.Номенклатура,
              | ДокТЧ.Количество КАК Количество
              |ИЗ
              | ДокТЧ КАК ДокТЧ";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса1 = Запрос.ВыполнитьПакет();
СписатьОстатки = РезультатЗапроса1[1].Выбрать();

Движения.ОстаткиТоваров.Записывать = Истина;
Движения.ОстаткиТоваров.Очистить();

Пока СписатьОстатки.Следующий() Цикл
Движение = Движения.ОстаткиТоваров.ДобавитьРасход();
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = СписатьОстатки.Номенклатура;
Движение.Количество = СписатьОстатки.Количество;
КонецЦикла;

Движения.ОстаткиТоваров.БлокироватьДляИзменения = Истина;
Движения.Записать();

//- Получаем номенклатуру без услуг Делаем движения по отаткам


//+ Проверяем отриц остатки

Запрос.Текст = "ВЫБРАТЬ
| Остатки.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
| Остатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(
| &ТочкаИтогов,
| Номенклатура В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ КАК ДокТЧ)
| И Склад = &Склад) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток < 0
|";

Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("ТочкаИтогов", Новый Граница(МоментВремени(), ВидГраницы.Включая));

ПакетРезультатов = Запрос.ВыполнитьПакет();
РезультатЗапроса = ПакетРезультатов[0];

Если НЕ РезультатЗапроса.Пустой() Тогда
Отказ = Истина;

Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Мало товара " + Выборка.НаименованиеПолное + " на складе - "+ Склад +" нужно еще " + (-Выборка.КоличествоОстаток);
Сообщение.Сообщить();
КонецЦикла; 
КонецЕсли;

Если Отказ Тогда
Возврат;
КонецЕсли;

//- Проверяем отриц остатки

//+ Блокировка Создаем движения в регистре партий

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.СтоимостьТоваров");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = РезультатЗапроса1[1] ;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Основной");
ЭлБлокировки.УстановитьЗначение("Счет", ПланыСчетов.Управленческий.Товары);
ЭлБлокировки.ИсточникДанных = РезультатЗапроса1[1];
ЭлБлокировки.ИспользоватьИзИсточникаДанных(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура, "Номенклатура");


Блокировка.Заблокировать();

Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
Движения.СтоимостьТоваров.Очистить();
Движения.СтоимостьТоваров.БлокироватьДляИзменения = Истина;
движения.СтоимостьТоваров.Записать();

Движения.Основной.Очистить();
Движения.Основной.БлокироватьДляИзменения = Истина;
движения.Основной.Записать();
КонецЕсли;

Запрос.Текст = "ВЫБРАТЬ
               | ДокТЧ.Номенклатура КАК Номенклатура,
               | ДокТЧ.Количество КАК Количество,
               | СтоимостьТоваров.Партия,
               | СтоимостьТоваров.КоличествоОстаток,
               | СтоимостьТоваров.СтоимостьОстаток
               |ИЗ
               | ДокТЧ КАК ДокТЧ
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьТоваров.Остатки(
               | &Момент,
               | Номенклатура В
               | (ВЫБРАТЬ
               | ДокТЧ.Номенклатура
               | ИЗ
               | ДокТЧ КАК ДокТЧ)) КАК СтоимостьТоваров
               | ПО ДокТЧ.Номенклатура = СтоимостьТоваров.Номенклатура
               |
               |УПОРЯДОЧИТЬ ПО
               | СтоимостьТоваров.Партия.МоментВремени " + Порядок +"
               |ИТОГИ
               | МИНИМУМ(Количество)
               |ПО
               | Номенклатура
               |;
               |
 |////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДокТЧ.Номенклатура КАК Номенклатура,
| ДокТЧ.Количество КАК КолДок,
| ДокТЧ.Сумма КАК Сумма,
| РегистрБухгалтерииОстатки.КоличествоОстаток КАК КолОст,
| РегистрБухгалтерииОстатки.СуммаОстаток КАК СумОст,
  | РегистрБухгалтерииОстатки.Субконто2 КАК Дата
|ИЗ
               | ДокТЧ КАК ДокТЧ
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.Остатки(
               | &Момент,
               | Счет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Товары),
               | &ВидыСубконто,
               | Субконто1 В
               | (ВЫБРАТЬ
               | ДокТЧ.Номенклатура
               | ИЗ
               | ДокТЧ КАК ДокТЧ)) КАК РегистрБухгалтерииОстатки
               | ПО ДокТЧ.Номенклатура = РегистрБухгалтерииОстатки.Субконто1
               |
               |УПОРЯДОЧИТЬ ПО
               | РегистрБухгалтерииОстатки.Субконто2
               |ИТОГИ
               | МАКСИМУМ(КолДок),
               | МАКСИМУМ(Сумма),
               | СУММА(КолОст)
               |ПО
               | Номенклатура";
   
   ВидыСубконто = Новый Массив;
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);

Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);

Запрос.УстановитьПараметр("Момент", МоментВремени());

Движения.СтоимостьТоваров.Очистить();
Движения.Основной.Очистить();


РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаТовар = РезультатЗапроса[0].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаТовар.Следующий() Цикл

ОсталосьСписать = ВыборкаТовар.Количество;

ВыборкаПартия = ВыборкаТовар.Выбрать();
Пока ВыборкаПартия.Следующий() И ОсталосьСписать <> 0 Цикл

Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличествоОстаток);

Движение = Движения.СтоимостьТоваров.ДобавитьРасход();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Движение.Стоимость = Списать / ВыборкаПартия.КоличествоОстаток * ВыборкаПартия.СтоимостьОстаток;

ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;

КонецЦикла;

Движения.СтоимостьТоваров.Записывать = Истина;

//- Блокировка Создаем движения в регистре партий

//+ Движения по регистру бухгалтерии
Результат = РезультатЗапроса[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока Результат.Следующий() Цикл

Если Результат.КолДок > Результат.КолОст Тогда
Сообщить("Товара не хватает!");
Отказ = Истина;
Возврат;
КонецЕсли;

Выборка = Результат.Выбрать();
Остаток = Результат.КолДок;

Пока Выборка.Следующий() И Остаток > 0 Цикл

Движение = Движения.Основной.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.СубконтоКт.Номенклатура = Выборка.Номенклатура;
Движение.СубконтоКт.СрокГодности = Выборка.Дата;
Движение.КоличествоКТ = мин(Остаток,Выборка.КолОст);
Движение.Период = Дата;
Движение.Сумма = ?(Выборка.КолОст =0,0, Движение.КоличествоКТ * Выборка.СумОст / Выборка.КолОст);

Остаток = Остаток - Движение.КоличествоКТ;
КонецЦикла;

Движение = Движения.Основной.Добавить();
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.Период = Дата;
Движение.Сумма = Результат.Сумма;

КонецЦикла;

Движения.Основной.Записывать = Истина;

//- Движения по регистру бухгалтерии
КонецПроцедуры



Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 11, 2016, 03:29:05 pm
Пример "Старого" метода ОП/БУ Документ Расходник
Процедура ОбработкаПроведения(Отказ, Режим)

Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Новый Граница(МоментВремени())).Метод;

Если ЗначениеЗаполнено(Метод) Тогда
Если Метод = Перечисления.УчетнаяПолитика.ЛИФО Тогда
Порядок = " Убыв";
Иначе
Порядок = "";
КонецЕсли;
Иначе
Сообщить("Заполните метод списания!");
Отказ = Истина;
Возврат;
КонецЕсли;

Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.Себестоимость.Записывать = Истина;
Движения.РегистрБухгалтерии.Записывать = Истина;

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
               | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
               | РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад КАК Склад,
               | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
               | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
               |ПОМЕСТИТЬ ТчДок
               |ИЗ
               | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
               |ГДЕ
               | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
               | И РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга = ЛОЖЬ
               |
               |СГРУППИРОВАТЬ ПО
               | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
               | РасходнаяНакладнаяСписокНоменклатуры.Ссылка.Склад
               |
               |ИНДЕКСИРОВАТЬ ПО
               | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               | ТчДок.Номенклатура
               |ИЗ
               | ТчДок КАК ТчДок";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗап = Запрос.ВыполнитьПакет();
СписокНомБезУсл = РезультатЗап[1];
   
Блокировка = Новый БлокировкаДанных;

ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлБлокировки.ИсточникДанных = СписокНомБезУсл;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлБлокировки.ИсточникДанных = СписокНомБезУсл;
ЭлБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
ЭлБлокировки.УстановитьЗначение("Склад", Склад);

ЭлБлокировки = Блокировка.Добавить("РегистрБухгалтерии.РегистрБухгалтерии");
ЭлБлокировки.УстановитьЗначение("Счет", ПланыСчетов.Управленческий.Товары);
ЭлБлокировки.ИсточникДанных = СписокНомБезУсл;
ЭлБлокировки.ИспользоватьИзИсточникаДанных(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура, "Номенклатура");

Блокировка.Заблокировать();

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Движения.ОстаткиНоменклатуры.Очистить();
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.ОстаткиНоменклатуры.Записать();

Движения.Себестоимость.Очистить();
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Записать();

Движения.РегистрБухгалтерии.Очистить();
Движения.РегистрБухгалтерии.БлокироватьДляИзменения = Истина;
Движения.РегистрБухгалтерии.Записать();
КонецЕсли;


//Запрос = Новый Запрос;
//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
               | ТчДок.Склад,
               | ТчДок.Номенклатура КАК Номенклатура,
               | СебестоимостьОстатки.Партия,
               | ТчДок.Количество КАК КолДок,
               | ЕСТЬNULL(СебестоимостьОстатки.КолвоОстаток, 0) КАК КолОст,
               | ЕСТЬNULL(СебестоимостьОстатки.СебестоимостьОстаток, 0) КАК СумОст,
               | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КолСклад
               |ИЗ
               | ТчДок КАК ТчДок
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
               | &Момент,
               | (Склад, Номенклатура) В
               | (ВЫБРАТЬ
               | ТчДок.Склад,
               | ТчДок.Номенклатура
               | ИЗ
               | ТчДок КАК ТчДок)) КАК ОстаткиНоменклатурыОстатки
               | ПО ТчДок.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
               | И ТчДок.Склад = ОстаткиНоменклатурыОстатки.Склад
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Себестоимость.Остатки(
               | &Момент,
               | Номенклатура В
               | (ВЫБРАТЬ
               | ТчДок.Номенклатура
               | ИЗ
               | ТчДок КАК ТчДок)) КАК СебестоимостьОстатки
               | ПО ТчДок.Номенклатура = СебестоимостьОстатки.Номенклатура
               |
               |УПОРЯДОЧИТЬ ПО
               | СебестоимостьОстатки.Партия.МоментВремени
               |ИТОГИ
               | МАКСИМУМ(КолДок)
               |ПО
               | Номенклатура
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               | ТчДок.Номенклатура КАК Номенклатура,
               | ТчДок.Количество КАК КолДок,
               | ТчДок.Сумма КАК Сумма,
               | РегистрБухгалтерииОстатки.КолвоОстаток КАК КолОст,
               | РегистрБухгалтерииОстатки.СуммаОстаток КАК СумОст,
               | РегистрБухгалтерииОстатки.Субконто2 КАК Дата
               |ИЗ
               | ТчДок КАК ТчДок
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Остатки(
               | &Момент,
               | Счет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Товары),
               | &ВидыСубконто,
               | Субконто1 В
               | (ВЫБРАТЬ
               | ТчДок.Номенклатура
               | ИЗ
               | ТчДок КАК ТчДок)) КАК РегистрБухгалтерииОстатки
               | ПО ТчДок.Номенклатура = РегистрБухгалтерииОстатки.Субконто1
               |
               |УПОРЯДОЧИТЬ ПО
               | РегистрБухгалтерииОстатки.Субконто2
               |ИТОГИ
               | МАКСИМУМ(КолДок),
               | МАКСИМУМ(Сумма),
               | СУММА(КолОст)
               |ПО
               | Номенклатура";


ВидыСубконто = Новый Массив;
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Дата);

Запрос.УстановитьПараметр("Момент", МоментВремени());
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);

//Движения по регистрам накопления
Пакет = Запрос.ВыполнитьПакет();
Результат = Пакет[0].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока Результат.Следующий() Цикл

Выборка = Результат.Выбрать();
Остаток = Результат.КолДок;

Пока Выборка.Следующий() И Остаток > 0 Цикл

Если Выборка.КолДок > Выборка.КолСклад Тогда
Сообщить("Товара не хывтает");
Отказ = Истина;
Возврат;
КонецЕсли;

//Остатки
Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = мин(Выборка.КолОст,Остаток);

//Себестоимость
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Партия = Выборка.Партия;
Движение.Колво = мин(Выборка.КолОст,Остаток);
Движение.Себестоимость = ?(Выборка.КолОст = 0,0, Движение.Колво * Выборка.СумОст / Выборка.КолОст);

Остаток = Остаток - Движение.Колво;
КонецЦикла;

КонецЦикла;

//Движения по регистру бухгалтерии
Результат = Пакет[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока Результат.Следующий() Цикл

Если Результат.КолДок > Результат.КолОст Тогда
Сообщить("Товара не хватает!");
Отказ = Истина;
Возврат;
КонецЕсли;

Выборка = Результат.Выбрать();
Остаток = Результат.КолДок;

Пока Выборка.Следующий() И Остаток > 0 Цикл

Движение = Движения.РегистрБухгалтерии.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.СубконтоКт.Номенклатура = Выборка.Номенклатура;
Движение.СубконтоКт.Дата = Выборка.Дата;
Движение.КолвоКт = мин(Остаток,Выборка.КолОст);
Движение.Период = Дата;
Движение.Сумма = ?(Выборка.КолОст =0,0, Движение.КолвоКт * Выборка.СумОст / Выборка.КолОст);

Остаток = Остаток - Движение.КолвоКт;
КонецЦикла;

Движение = Движения.РегистрБухгалтерии.Добавить();
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.Период = Дата;
Движение.Сумма = Результат.Сумма;

КонецЦикла;

КонецПроцедуры

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 11, 2016, 03:47:26 pm
моё решение
Буду рад критике
 :D

1. Учет остатков ведется в разрезе складов, себестоимость не учитывает склады.
Т.е. При списании со склада ты можешь списать товар с 1 склада а себестоимость может быть списан "как-бы" с другого склада (т.е. товар с такой себестоимостью пришедший на другой склад).

2. Списываться товар должен со склада в шапке, никаких отборов по складу в запросе - нет.

3. Решение на 1 регистре – как по мне - ошибка. Потом этот регистр обзаведется кучей записей и проверять наличие остатков он будет довольно долго. Да и чем больше измерений, тем регистр медленнее.

4. "Избыточная" (как по мне) блокировка записей регистров. Номенклатуру - услуги блокировать в регистре ни к чему. (Хотя. мне кажется это я уже излишне заморачиваюсь)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kuzyara от Октябрь 11, 2016, 05:10:20 pm
Все, на этом я собираюсь остановиться.
Рано. Рекомендую вам пока отложить этот билет и разобрать остальные 5.

Хорошие программисты пишут код, понятный людям. (с) С.Макконнелл «Совершенный код»
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 11, 2016, 07:02:23 pm
Все, на этом я собираюсь остановиться.
Рано. Рекомендую вам пока отложить этот билет и разобрать остальные 5.

Хорошие программисты пишут код, понятный людям. (с) С.Макконнелл «Совершенный код»

5?
Почему 5? билетов же 15?))
В целом да, просто для себя я поставил точку в этом билете по ОУ
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kuzyara от Октябрь 12, 2016, 06:17:26 am
5?
Мне казалось сдающим из регионов нужно готовиться только к первым 6 билетам.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GH0STexe от Октябрь 12, 2016, 07:46:44 am
5?
Мне казалось сдающим из регионов нужно готовиться только к первым 6 билетам.
Интересно с чего бы это вдруг?  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: EgSneg от Октябрь 12, 2016, 10:47:31 am
Интересно с чего бы это вдруг?  :)

Это связано со статистикой отчетов о сдаче на этом сайте за последний год-полтора.
Как-то так выходит, что дистанционникам достаются первые 6 билетов, причем как правило целиком (все три задачи из одного билета, как в Актуальных).
В то же время сдающим в УЦ1 попадаются задачи вразнобой, из разных билетов, и разброс шире. Хотя все равно, первые 10 встречаются гораздо чаще, нежели последние 5.
Однако, это лишь наблюдение, к тому же отписываются не все 100% сдающих.
Так что решение чего учить и как готовить каждый принимает на свой страх и риск.
Лично я прорешал почти весь сборник задач, потом все 15 билетов. Сдавал в УЦ1. Мне попалась ОУ-10, БУ-5, и СПР-2.
Если бы я сдавал дистанционно, я бы наверное все равно прорешал бы все 15 билетов, но на первые 6 сделал бы особый упор...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Октябрь 12, 2016, 12:25:03 pm
моё решение
Буду рад критике
 :D

1. Учет остатков ведется в разрезе складов, себестоимость не учитывает склады.
Т.е. При списании со склада ты можешь списать товар с 1 склада а себестоимость может быть списан "как-бы" с другого склада (т.е. товар с такой себестоимостью пришедший на другой склад).

2. Списываться товар должен со склада в шапке, никаких отборов по складу в запросе - нет.

3. Решение на 1 регистре – как по мне - ошибка. Потом этот регистр обзаведется кучей записей и проверять наличие остатков он будет довольно долго. Да и чем больше измерений, тем регистр медленнее.

4. "Избыточная" (как по мне) блокировка записей регистров. Номенклатуру - услуги блокировать в регистре ни к чему. (Хотя. мне кажется это я уже излишне заморачиваюсь)

У вас точно МОЙ дтшник?
По-внимательней, пожалуйста:
1. Себестоимость списывается в разрезе партий. Из условия задания: "Списание себестоимости товаров должно быть организовано по партиям, в зависимости от метода списания (FIFO или LIFO), принятого в учетной политике" - склады при расчете себестоимости не нужны.
2. Есть в параметрах виртуальной таблицы после даты в строке 83 модуля объекта документа "Расходная накладная". Применен новый метод контроля остатков, сначала списываем, а затем проверяем отрицательные остатки, при списывании указывается склад из шапки документа. Всё вроде верно.
3. Два регистра: ОстаткиНоменклатуры и Партии.
4. Тут, да, можно было результат запроса выгрузить и по нему блокировку делать.

Вы только оперативный учет смотрели?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fundo0rin от Октябрь 12, 2016, 02:34:09 pm
моё решение
Буду рад критике
 :D

1. Учет остатков ведется в разрезе складов, себестоимость не учитывает склады.
Т.е. При списании со склада ты можешь списать товар с 1 склада а себестоимость может быть списан "как-бы" с другого склада (т.е. товар с такой себестоимостью пришедший на другой склад).

2. Списываться товар должен со склада в шапке, никаких отборов по складу в запросе - нет.

3. Решение на 1 регистре – как по мне - ошибка. Потом этот регистр обзаведется кучей записей и проверять наличие остатков он будет довольно долго. Да и чем больше измерений, тем регистр медленнее.

4. "Избыточная" (как по мне) блокировка записей регистров. Номенклатуру - услуги блокировать в регистре ни к чему. (Хотя. мне кажется это я уже излишне заморачиваюсь)

У вас точно МОЙ дтшник?
По-внимательней, пожалуйста:
1. Себестоимость списывается в разрезе партий. Из условия задания: "Списание себестоимости товаров должно быть организовано по партиям, в зависимости от метода списания (FIFO или LIFO), принятого в учетной политике" - склады при расчете себестоимости не нужны.
2. Есть в параметрах виртуальной таблицы после даты в строке 83 модуля объекта документа "Расходная накладная". Применен новый метод контроля остатков, сначала списываем, а затем проверяем отрицательные остатки, при списывании указывается склад из шапки документа. Всё вроде верно.
3. Два регистра: ОстаткиНоменклатуры и Партии.
4. Тут, да, можно было результат запроса выгрузить и по нему блокировку делать.

Вы только оперативный учет смотрели?

Да... действительно не ваше решение смотрел  ;D ;D ;D

1. Небольшое замечание: "   Запрос.УстановитьПараметр("ВидТовар", Перечисления.ВидыНоменклатуры.Товар);"
Лучше установить такой параметр сразу в условии "РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Вид = Значение( Перечисления.ВидыНоменклатуры.Товар)
2. В бух учете при списании делаются проводки и по Услугам ;)
3. Блокировки на регистрах накопления - автоматические
4. Документ Операция не должен иметь возмоность проведения. Почему - хз))
По остальным вопросам не компетентен, но как начну заниматься расчетными если найду чего - напишу)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Октябрь 13, 2016, 04:05:53 am
Да... действительно не ваше решение смотрел  ;D ;D ;D

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

Спасибо!  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Andronav от Октябрь 24, 2016, 07:30:49 am
Однако, хотел бы сделать акцент на следующем моменте (если я все правильно понимаю):
В новом методе, не блокируются записи в регистре Бухгалтерии и в Регистре с себестоимостью пока не пройдет проверка на остатки. А, между прочим, проверка на остатки занимает ~15% Времени проведения документа.
Т.е. Мало того что метод работает на 10-20% быстрее так еще на дополнительные 15% уменьшается время блокировки 2-х ключевых регистров системы.

Вот и у меня такое впечатление складывается, хоть я и не измерял но по логике так и должно быть. Я как бы тоже к новой методике склоняюсь. Но говорят что за доп.регистр снимут бал. Хотелось бы конечно услышать официальную позицию по этому вопросу от преподавателей и близких к ним.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Hypnosis от Ноябрь 01, 2016, 05:59:25 pm
Добрый день! Подскажите, пожалуйста, в задаче по БУ нужен признак учета субконто "Суммовой потому, что "себестоимость определяется как средняя по товару по всем срокам годности"? Если бы и в разрезе сроков годности было бы, то не нужен был бы?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Ноябрь 02, 2016, 12:09:47 pm
Добрый день! Подскажите, пожалуйста, в задаче по БУ нужен признак учета субконто "Суммовой потому, что "себестоимость определяется как средняя по товару по всем срокам годности"? Если бы и в разрезе сроков годности было бы, то не нужен был бы?

Да.
Надо "убить" остатки по сроку годности по сумме. Иначе в таблице остатков по одному СрокуГ будет +10 руб и по другому СрокуГ -10 руб. Не закроется в ноль.


Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 07, 2016, 11:43:56 am
Обновленное моё решение.
Сразу отмечу что в расчетах нужно было использовать два плана видов расчета ОсновныеНачисления (оклад) и ДополнительныеНачисления (премия), а у меня в одном ОсновныеНначисления. (поленился)  :(
Буду рад критике.
 :)

Обновлено: http://forum.chistov.pro/index.php?topic=3638.msg48933#msg48933
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Ноябрь 07, 2016, 03:06:58 pm
Обновленное моё решение.
Сразу отмечу что в расчетах нужно было использовать два плана видов расчета ОсновныеНачисления (оклад) и ДополнительныеНачисления (премия), а у меня в одном ОсновныеНначисления. (поленился)  :(
Буду рад критике.
 :)

Посмотрел одним глазом))
Вам надо читать вот этот файл
http://1c.ru/rus/partners/training/files/ATT83PL.rtf
Ну и исправлять у себя после прочтения.

В опер задаче блокировки не правильно.
Метод проведения не правильно. Надо один регистр новым методом проводить, другой старым.

Нельзя на экзамена два типа расходных документа делать, надо и опер и бух в одном.

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

Предполагаю, это далеко не сдал.

В плюс, регистр бух вроде  настроен правильно.




Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 08, 2016, 07:14:32 am
Обновленное моё решение.
Сразу отмечу что в расчетах нужно было использовать два плана видов расчета ОсновныеНачисления (оклад) и ДополнительныеНачисления (премия), а у меня в одном ОсновныеНначисления. (поленился)  :(
Буду рад критике.
 :)
Обновил, исправил.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 08, 2016, 07:15:43 am

Посмотрел одним глазом))
Вам надо читать вот этот файл
http://1c.ru/rus/partners/training/files/ATT83PL.rtf
Ну и исправлять у себя после прочтения.

В опер задаче блокировки не правильно.
Метод проведения не правильно. Надо один регистр новым методом проводить, другой старым.

Нельзя на экзамена два типа расходных документа делать, надо и опер и бух в одном.

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

Предполагаю, это далеко не сдал.

В плюс, регистр бух вроде  настроен правильно.

Вроде всё учёл.  :)

UPD:  http://forum.chistov.pro/index.php?topic=3638.msg49160#msg49160
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Lois от Ноябрь 09, 2016, 12:40:48 am

Вроде всё учёл.  :)

Здравствуйте. Хотела спросить, а нужно ли решать проблему копеек при записи в РБ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 09, 2016, 05:21:52 am
Здравствуйте. Хотела спросить, а нужно ли решать проблему копеек при записи в РБ?
Да, конечно, нужно.
НО, в данной задаче "Себестоимость определяется как средняя по товару по всем срокам годности" - поэтому у счета товары отключил суммовой итог по срокам годности, т.е. он должен сойтись в ноль.
 :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: filiMike от Ноябрь 10, 2016, 03:40:49 pm
Господа и дамы.

СПР:

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

Значит, как считает один 1С Специалист:

"Так как в одном документе могут быть данные за разные расчетные периоды, то для получения оклада используется не виртуальная таблица срез последних регистра сведений, а физическая таблица – для определения оклада на начало расчетного периода каждой строки начисления по окладу.
"

НО

Что, если в РС СведенияОСотрудниках нет записей на 01.месяц. Результата не будет, если я не ошибаюсь, по крайнер мере так выходит у SAE, решения которого авторитетны.

Есть идеи?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 10, 2016, 03:50:40 pm
Что, если в РС СведенияОСотрудниках нет записей на 01.месяц.
Проверять. И если по какому-то из сотрудников информации нет, отказывать в проведении документа.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: filiMike от Ноябрь 10, 2016, 03:59:28 pm
Что, если в РС СведенияОСотрудниках нет записей на 01.месяц.
Проверять. И если по какому-то из сотрудников информации нет, отказывать в проведении документа.

Правильно понимаю, что наличие на первое число в РС СведенияОСотрудниках обязательно?

"Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода"

Формально начало месяца не обязательно первое число месяца.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: filiMike от Ноябрь 10, 2016, 05:28:48 pm
Посмотрел повнимательнее- я  был неправ, вводил 2016 год, а расчеты  в 2015. Всем кого смутил, прошу прощения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Ноябрь 10, 2016, 06:29:39 pm
Формально начало месяца не обязательно первое число месяца.
А какие еще варианты?
Правильно понимаю, что наличие на первое число в РС СведенияОСотрудниках обязательно?
Сделайте обязательным.
Хотя, для реальной задачи надо конечно учитывать приемы в течение месяца.
Но для экз, думаю, можно сделать точно как написано - раз на начало, значит, обязуем юзера вводить оклады именно на начало месяца, в котором принят сотрудник, и для решения это будет проще.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 11, 2016, 05:13:55 am
Моё обновленное решение.
В предыдущем был не верным запрос по окладу в НачислениеЗарплаты.

Исправленный запрос:
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВложенныйЗапрос.НомерСтроки,
   ВложенныйЗапрос.ОтработаноДней,
   ЕСТЬNULL(СведенияОСотрудниках.Оклад, 0) КАК Тариф
ИЗ
   (ВЫБРАТЬ
      НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки,
      ЕСТЬNULL(НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК ОтработаноДней,
      МАКСИМУМ(ЕСТЬNULL(СведенияОСотрудниках.Период, 0)) КАК Период,
      НачисленияДанныеГрафика.Сотрудник КАК Сотрудник,
      НачисленияДанныеГрафика.Подразделение КАК Подразделение
   ИЗ
      РегистрРасчета.Начисления.ДанныеГрафика(
            Регистратор = &Регистратор
               И ПериодРегистрации = &ПериодРегистрации) КАК НачисленияДанныеГрафика
         ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
         ПО НачисленияДанныеГрафика.Сотрудник = СведенияОСотрудниках.Сотрудник
            И НачисленияДанныеГрафика.Подразделение = СведенияОСотрудниках.Подразделение
            И (СведенияОСотрудниках.Период <= НачисленияДанныеГрафика.ПериодДействияНачало)
   
   СГРУППИРОВАТЬ ПО
      НачисленияДанныеГрафика.НомерСтроки,
      НачисленияДанныеГрафика.Сотрудник,
      НачисленияДанныеГрафика.Подразделение,
      ЕСТЬNULL(НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия, 0)) КАК ВложенныйЗапрос
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
      ПО ВложенныйЗапрос.Сотрудник = СведенияОСотрудниках.Сотрудник
         И ВложенныйЗапрос.Подразделение = СведенияОСотрудниках.Подразделение
         И ВложенныйЗапрос.Период = СведенияОСотрудниках.Период
         И (ВложенныйЗапрос.Период <> 0)
;


UPD: http://forum.chistov.pro/index.php?topic=3638.msg49160#msg49160
Название: Re: Билет 1. Спец по платформе V8
Отправлено: veleeh от Ноябрь 20, 2016, 03:01:51 pm
Моё обновленное решение.

Посмотрел, сам прорешиваю пока только ОУ и расчеты, по ним есть вопросы:

ОУ:
1. Отчет ОсткаткиТоваров у Вас неправильный. Надо: тип отчета - список, РасположениеПолейГруппировок - Отдельно и только в итогах, РасположениеОбщихИтоговПоВертикали/горизонтале - нет.

Расчеты:
1. В регистре ГрафикиРаботы ресурс значение число (5,2), я считаю должно быть (1,0).
2. Совместительства нет, в отчете подразделений нет. Зачем в регистре расчета реквизит подразделение?
3. Вложенные запросы - это плохо, лучше все делать виртуальными таблицами в пакете.
4. Измерения регистров по которым будут соединения таблиц надо интексировать.
5. Почему нет реквизита Оклад в регистре основных начислений? Он не используется для отчета, но все равно все параметры по которым был расчет конкретного документа должны быть где-то в базе - или в документе или в регистре.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 21, 2016, 10:21:44 am
Моё обновленное решение.

Посмотрел, сам прорешиваю пока только ОУ и расчеты, по ним есть вопросы:

ОУ:
1. Отчет ОсткаткиТоваров у Вас неправильный. Надо: тип отчета - список, РасположениеПолейГруппировок - Отдельно и только в итогах, РасположениеОбщихИтоговПоВертикали/горизонтале - нет.

Расчеты:
1. В регистре ГрафикиРаботы ресурс значение число (5,2), я считаю должно быть (1,0).
2. Совместительства нет, в отчете подразделений нет. Зачем в регистре расчета реквизит подразделение?
3. Вложенные запросы - это плохо, лучше все делать виртуальными таблицами в пакете.
4. Измерения регистров по которым будут соединения таблиц надо интексировать.
5. Почему нет реквизита Оклад в регистре основных начислений? Он не используется для отчета, но все равно все параметры по которым был расчет конкретного документа должны быть где-то в базе - или в документе или в регистре.

ОУ:
1: Да, на время решения не знал, что отчет один-в-один должен быть как в задании.
 Расчеты:
1: Да, вы правы. У меня излишняя длина и точность для (почти всегда) значения=1.
2: Для соединения с регистром сведений СведенияОСотрудниках по сотруднику и подразделению.
3: Да, плохо. В дальнейшем пострараюсь без них обойтись.
4: Думал, если установить галку "Базовое" система итак проиндексирует. Нет?
5: Оклад хранится в регистре сведений СведенияОСотрудниках. Зачем его копировать в регистр расчета? дублирование информации получится...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kimskiysanya от Ноябрь 21, 2016, 03:46:51 pm
Где то встречал что к этому билету есть изменение в СПР. Необходимо предусмотреть возможность ввода новых видов расчет в режиме предприятия с сохранением возможности их расчета по реализованным алгоритмам. Кто нибудь может встречал реализацию этой задачи хотя бы примерно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Вася от Ноябрь 21, 2016, 04:18:54 pm
Где то встречал что к этому билету есть изменение в СПР. Необходимо предусмотреть возможность ввода новых видов расчет в режиме предприятия с сохранением возможности их расчета по реализованным алгоритмам. Кто нибудь может встречал реализацию этой задачи хотя бы примерно?

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

Только это условие по моему попадается в 4 билете. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kimskiysanya от Ноябрь 23, 2016, 02:29:19 pm
В план видов расчета добавляете реквизит к примеру "МетодРасчета" - это перечисление, добавляете туда значения вроде "ПроцентОтПремии" или "БазаОтОклада", вообщем те алгоритмы которые вы реализовали в СПР. И дальше в обработке проведения документа "Начисление зп" и в модуле где идет собственно расчет, отталкиваетесь от значения этого реквизита. Неплохо бы еще добавить туда реквизит порядок, чтобы расчет начислений не сбился (сначала оклад, а потом премия с базой от него).

Только это условие по моему попадается в 4 билете.

Спасибо, в целом понятно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xvip007 от Ноябрь 28, 2016, 04:10:52 pm
В итоге на данный момент какая методика проведения в этом билете на экзамене зачитывается ?

По хорошему: здесь и так для решения 2 регистра используется и очень удобно новой методикой решать, думаю так даже оптимальней.
Но в старых решениях, которые ещё SAE выкладывал - старая методика, хотя те же 2 регистра (остатки по складам, и стоимости партий).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Ноябрь 28, 2016, 05:28:51 pm
Подскажите, пожалуйста, так можно использовать функцию МАКСИМУМ(Склад)? (Задача ОУ):

ВЫБРАТЬ
ВТ_СписокНоменклатуры.Номенклатура КАК Номенклатура,
ВТ_СписокНоменклатуры.Количество КАК Количество,
ВТ_СписокНоменклатуры.Склад КАК Склад,
ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоСклад,
СебестоимостьНоменклатурыОстатки.Партия,
ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.КоличествоОстаток, 0) КАК СебестоимостьКоличество,
ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.СуммаОстаток, 0) КАК СебестоимостьСумма
ИЗ
ВТ_СписокНоменклатуры КАК ВТ_СписокНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
&МоментВремени,
(Склад, Номенклатура) В
(ВЫБРАТЬ
ВТ_СписокНоменклатуры.Склад,
ВТ_СписокНоменклатуры.Номенклатура
ИЗ
ВТ_СписокНоменклатуры КАК ВТ_СписокНоменклатуры)) КАК ОстаткиНоменклатурыОстатки
ПО ВТ_СписокНоменклатуры.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
И ВТ_СписокНоменклатуры.Склад = ОстаткиНоменклатурыОстатки.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьНоменклатуры.Остатки(
&МоментВремени,
Номенклатура В
(ВЫБРАТЬ
ВТ_СписокНоменклатуры.Номенклатура
ИЗ
ВТ_СписокНоменклатуры КАК ВТ_СписокНоменклатуры)) КАК СебестоимостьНоменклатурыОстатки
ПО ВТ_СписокНоменклатуры.Номенклатура = СебестоимостьНоменклатурыОстатки.Номенклатура

УПОРЯДОЧИТЬ ПО
СебестоимостьНоменклатурыОстатки.Партия.МоментВремени УБЫВ
ИТОГИ
МАКСИМУМ(Количество),
МАКСИМУМ(Склад),
МАКСИМУМ(КоличествоСклад)
ПО
Номенклатура
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 29, 2016, 12:46:49 pm
Подскажите, пожалуйста, так можно использовать функцию МАКСИМУМ(Склад)? (Задача ОУ):

а для чего склад в итогах нужен?
если сначала нужно списать по складу указанному в строке документа (и если не хватает по остальным складам), тогда сделай еще поле ПОРЯДОК где проверив равенство склада на склад из строки документа установишь его 0 а остальное 1, затем сортируй по этому полю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Ноябрь 29, 2016, 02:57:38 pm
Подскажите, пожалуйста, так можно использовать функцию МАКСИМУМ(Склад)? (Задача ОУ):

а для чего склад в итогах нужен?
если сначала нужно списать по складу указанному в строке документа (и если не хватает по остальным складам), тогда сделай еще поле ПОРЯДОК где проверив равенство склада на склад из строки документа установишь его 0 а остальное 1, затем сортируй по этому полю.

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

НадоСписать = ВыборкаНоменклатура.КоличествоДок;

Нехватка = Выборка.КоличествоДок - Выборка.КоличествоСклад;

Если Нехватка > 0 Тогда
Сообщить("На складе "+Склад+" не хватает товара "+Выборка.Номенклатура+" в количестве "+Нехватка);
Отказ = Истина;
Возврат;
КонецЕсли;

Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаНоменклатура.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = НадоСписать;

Выборка = ВыборкаНоменклатура.Выбрать();

Пока Выборка.Следующий() И НадоСписать > 0 Цикл

Списываем = Мин(НадоСписать, Выборка.СебестоимостьКоличество);

Движение = Движения.СебестоимостьНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Партия = Выборка.Партия;
Движение.Количество = Списываем;
Движение.Сумма = ?(Списываем = Выборка.СебестоимостьКоличество, Выборка.СебестоимостьСумма, Списываем*Выборка.СебестоимостьСумма/Выборка.СебестоимостьКоличество);

НадоСписать = НадоСписать - Списываем;

КонецЦикла;

КонецЦикла;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Ноябрь 30, 2016, 04:12:22 am
Сделал вот так:
Пока ВыборкаНоменклатура.Следующий() Цикл

НадоСписать = ВыборкаНоменклатура.КоличествоДок;

Нехватка = Выборка.КоличествоДок - Выборка.КоличествоСклад;

Если Нехватка > 0 Тогда
Сообщить("На складе "+Склад+" не хватает товара "+Выборка.Номенклатура+" в количестве "+Нехватка);
Отказ = Истина;
Возврат;
КонецЕсли;

Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаНоменклатура.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = НадоСписать;

Выборка = ВыборкаНоменклатура.Выбрать();

Пока Выборка.Следующий() И НадоСписать > 0 Цикл

Списываем = Мин(НадоСписать, Выборка.СебестоимостьКоличество);

Движение = Движения.СебестоимостьНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Партия = Выборка.Партия;
Движение.Количество = Списываем;
Движение.Сумма = ?(Списываем = Выборка.СебестоимостьКоличество, Выборка.СебестоимостьСумма, Списываем*Выборка.СебестоимостьСумма/Выборка.СебестоимостьКоличество);

НадоСписать = НадоСписать - Списываем;

КонецЦикла;

КонецЦикла;

Не правильно в текст сообщения заталкивать ссылку, каждый раз подзапрос к базе идет ради представления. В запросе вытащи ПРЕДСТАВЛЕНИЕ(Номенклатура) и перед циклом представление(Склад). Почему по регистру "ОстаткиНоменклатуры" не применил новую методику? Думаю можно это сделать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Ноябрь 30, 2016, 11:22:36 am
Цитировать
Не правильно в текст сообщения заталкивать ссылку, каждый раз подзапрос к базе идет ради представления. В запросе вытащи ПРЕДСТАВЛЕНИЕ(Номенклатура) и перед циклом представление(Склад).
Спасибо, учту.
Цитировать
Почему по регистру "ОстаткиНоменклатуры" не применил новую методику? Думаю можно это сделать.
Не совсем понял преимущества нового метода. Только то что не надо делать явную блокировку по регистру "ОстаткиНоменклатуры"?
По регистру "СебестоимостьНоменклатуры" все равно надо делать блокировку. Плюс еще запросов к базе вместо одного будет три.
Может я и не прав, по быстродействию не проверял.
Разве снижают оценку если использовал старую методику? Везде по разному говорят.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Декабрь 01, 2016, 04:24:39 am
Не совсем понял преимущества нового метода. Только то что не надо делать явную блокировку по регистру "ОстаткиНоменклатуры"?
По регистру "СебестоимостьНоменклатуры" все равно надо делать блокировку. Плюс еще запросов к базе вместо одного будет три.
Может я и не прав, по быстродействию не проверял.
Разве снижают оценку если использовал старую методику? Везде по разному говорят.
По быстродействию как раз таки лучше получается по новой методике. По РН "СебестоимостьНоменклатуры" делать блокировку после списания остатков и только в случае отсутствия отрицательных остатков.
Если не применил новую методику где можно и нужно снимут балл, в требованиях это есть: "Использование менее эффективной методики проведения документов   1,0".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: erdem.badluev от Декабрь 01, 2016, 05:56:36 am
мой обновленный вариант.
буду рад критике.
Добавил командировку, зависит от оклада и премии.
Реализовал расчет в НачисленииЗарплаты по периодам регистрации.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 02, 2016, 06:56:01 am
Не совсем понял преимущества нового метода. Только то что не надо делать явную блокировку по регистру "ОстаткиНоменклатуры"?
По регистру "СебестоимостьНоменклатуры" все равно надо делать блокировку. Плюс еще запросов к базе вместо одного будет три.
Может я и не прав, по быстродействию не проверял.
Разве снижают оценку если использовал старую методику? Везде по разному говорят.
По быстродействию как раз таки лучше получается по новой методике. По РН "СебестоимостьНоменклатуры" делать блокировку после списания остатков и только в случае отсутствия отрицательных остатков.
Если не применил новую методику где можно и нужно снимут балл, в требованиях это есть: "Использование менее эффективной методики проведения документов   1,0".

а разве не нужно ставить блокировку перед тем, как будем получать остатки? Ведь во время получения остатков кто то может провести приход, либо расход и уже остатки совсем другие будут
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Декабрь 02, 2016, 12:32:33 pm
Не совсем понял преимущества нового метода. Только то что не надо делать явную блокировку по регистру "ОстаткиНоменклатуры"?
По регистру "СебестоимостьНоменклатуры" все равно надо делать блокировку. Плюс еще запросов к базе вместо одного будет три.
Может я и не прав, по быстродействию не проверял.
Разве снижают оценку если использовал старую методику? Везде по разному говорят.
По быстродействию как раз таки лучше получается по новой методике. По РН "СебестоимостьНоменклатуры" делать блокировку после списания остатков и только в случае отсутствия отрицательных остатков.
Если не применил новую методику где можно и нужно снимут балл, в требованиях это есть: "Использование менее эффективной методики проведения документов   1,0".

а разве не нужно ставить блокировку перед тем, как будем получать остатки? Ведь во время получения остатков кто то может провести приход, либо расход и уже остатки совсем другие будут

Блокировку ставить нужно, но другим способом:
Движения.ТоварыНаСкладах.БлокироватьДляИзменения = Истина; // НАБОР БУДЕТ ЗАБЛОКИРОВАН СРАЗУ ПОСЛЕ ЗАПИСИ
Движения.ТоварыНаСкладах.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 13, 2016, 03:50:18 pm
Есть еще один вопрос: если я в оу делал списание по новой методике, то обязательно ли потом проверять остатки в регистре бухгалтерии? Ведь по идее остатки в регистре бухгалтерии должны совпадать с остатками в регистре накопления
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 14, 2016, 07:04:37 am
Смотрю еще решения и ни у кого нет проверки на остатки в регистре бухгалтерии в документе операция, а в билете написано "При проведении документа анализируется наличие этого товара в организации. Если товара не достаточно документ не проводится." (предпоследний абзац перед примером отчета)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 14, 2016, 07:52:52 am
Есть еще один вопрос: если я в оу делал списание по новой методике, то обязательно ли потом проверять остатки в регистре бухгалтерии? Ведь по идее остатки в регистре бухгалтерии должны совпадать с остатками в регистре накопления
Не должны совпадать.
В ПН и РН используются 2 дополнительных реквизита ОУ и БУ типа булево, и документ проводится по ОУ и БУ только если соотв реквизит равен ИСТИНА, в этом же случае делается проверка остатков в соотв регистрах.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 14, 2016, 07:56:57 am
Смотрю еще решения и ни у кого нет проверки на остатки в регистре бухгалтерии в документе операция, а в билете написано "При проведении документа анализируется наличие этого товара в организации. Если товара не достаточно документ не проводится." (предпоследний абзац перед примером отчета)
Уже не помню, где об этом говорится (в актуальных билетах нет, возможно, в тексте самих экз билетов всё же есть), но ответственность за корректность проводок в "Операции", в т.ч. и за остатки, несет юзер.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 14, 2016, 01:30:53 pm
Есть еще один вопрос: если я в оу делал списание по новой методике, то обязательно ли потом проверять остатки в регистре бухгалтерии? Ведь по идее остатки в регистре бухгалтерии должны совпадать с остатками в регистре накопления
Не должны совпадать.
В ПН и РН используются 2 дополнительных реквизита ОУ и БУ типа булево, и документ проводится по ОУ и БУ только если соотв реквизит равен ИСТИНА, в этом же случае делается проверка остатков в соотв регистрах.
а где в условии сказано про доп реквизиты? Почему нельзя сделать без данных реквизитов?  Можно ведь сразу по всем регистрам провести и всё, просто вроде как в условии об этом ничего, я стараюсь все по минимуму делать, только то, что есть в условии, что бы успеть сделать
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 14, 2016, 01:37:47 pm
а где в условии сказано про доп реквизиты? Почему нельзя сделать без данных реквизитов?
Я написал, как делается обычно. Данный способ снимает все проблемы. Именно так рекомендуют и без лишних вопросов принимают экзаменаторы.
А вы можете делать, как угодно. Но для других вариантов тут будет сложнее получить ответ на ваши вопросы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 14, 2016, 01:39:32 pm
Можно ведь сразу по всем регистрам провести и всё, просто вроде как в условии об этом ничего, я стараюсь все по минимуму делать, только то, что есть в условии, что бы успеть сделать
В большинстве билетов сложно совместить ОУ и БУ. А добавить 2 рекв, и в коде строки Если ОУ Тогда и Если БУ Тогда - делов на полминуты.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: МарияЮ от Декабрь 15, 2016, 01:39:18 pm
Цитировать
В большинстве билетов сложно совместить ОУ и БУ. А добавить 2 рекв, и в коде строки Если ОУ Тогда и Если БУ Тогда - делов на полминуты.
Добрый день! Скажите, а где можно почитать, что экзаменаторы положительно относятся к данным реквизитам? Это было бы хорошим вариантом, но не могу найти однозначного ответа
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 15, 2016, 02:05:49 pm
Цитировать
В большинстве билетов сложно совместить ОУ и БУ. А добавить 2 рекв, и в коде строки Если ОУ Тогда и Если БУ Тогда - делов на полминуты.
Добрый день! Скажите, а где можно почитать, что экзаменаторы положительно относятся к данным реквизитам? Это было бы хорошим вариантом, но не могу найти однозначного ответа
Мой ответ и есть однозначный.  :D
До меня так сдавали, я так сдавал, после сдачи многим так советовал, ни к кому никаких вопросов не было.
Где впервые сам прочитал о таком варианте, уже не помню, но не сам придумал, и уже до экзамена точно знал, что такой вариант рекомендуется.
Возможно, по одной из ссылок, что у меня в подписи - среди них есть 2 или 3 ссылки на комментарии тех, кто посещал курсы Белоусова - написано, что он на своих курсах предлагает такой способ; можете почитать, там столько полезной инфы, что 2/3 на первый взгляд неразрешимых вопросов получают элементарное решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 15, 2016, 03:03:44 pm
а где в условии сказано про доп реквизиты? Почему нельзя сделать без данных реквизитов?
Я написал, как делается обычно. Данный способ снимает все проблемы. Именно так рекомендуют и без лишних вопросов принимают экзаменаторы.
А вы можете делать, как угодно. Но для других вариантов тут будет сложнее получить ответ на ваши вопросы.
Спасибо! По поводу документа операция: Т.е. проверять на наличие остатков регистр бухгалтерии не нужно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Декабрь 15, 2016, 03:11:47 pm
Добрый день, Владислав!

Никаких проверок в документе "Операция" делать не нужно.
За проводки в этом документе несет ответственность тот, кто делает этот
документ. В том смысл, чтобы можно было ввести любые проводки.
И в типовых конфигурациях точно также - никаких проверок.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Головлев Владислав от Декабрь 16, 2016, 09:19:29 am
Добрый день, Владислав!

Никаких проверок в документе "Операция" делать не нужно.
За проводки в этом документе несет ответственность тот, кто делает этот
документ. В том смысл, чтобы можно было ввести любые проводки.
И в типовых конфигурациях точно также - никаких проверок.
Спасибо! Этот вопрос больше всего интересовал, просто в условии написано, что проверять остатки, в случае нехватки не проводить документ (предпоследний абзац перед примером отчета)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Декабрь 19, 2016, 11:41:02 am
Мое решение, все задачи. Покритикуйте пожалуйста.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Rinat от Декабрь 20, 2016, 12:43:42 pm
Мое решение, все задачи. Покритикуйте пожалуйста.
Ну самое первое что могу сказать, это в Приходной накладной Обработка проведения. Там в цикле проверку на ВидыНоменклатуры делать нельзя, нужно сначала запросом из документа получить номенклатуру определенного вида который тебе нужен, затем уже выборкой бежишь по результату запроса.
Это мне как ошибку на сдаче посчитали, я сначала так же как и ты сделал,в цикле проверял, затем уже на пересдаче сделал норм, это у них как грубая ошибка считается.  :)
Остальное пока не смотрел.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Декабрь 20, 2016, 12:59:33 pm
Спасибо, исправлю. Честно говоря думал что это не принципиально :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Rinat от Декабрь 20, 2016, 01:11:33 pm
Спасибо, исправлю. Честно говоря думал что это не принципиально :)

Я так же думал, думал что работает же, и результат верный получается, а потом как ошибки пришли, понял то что они на это смотрят  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dgchar от Декабрь 21, 2016, 12:38:22 pm
Хм....а смысл в приходной смотреть вид номенклатуры, ведь сказано что "Помимо продажи товара, могут оказываться дополнительные услуги, например, по доставке. " тобиш в расходной :o
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Rinat от Декабрь 21, 2016, 12:55:16 pm
Хм....а смысл в приходной смотреть вид номенклатуры, ведь сказано что "Помимо продажи товара, могут оказываться дополнительные услуги, например, по доставке. " тобиш в расходной :o

Например у тебя в Приходной помимо Товара будет еще и Доставка, дак вот чтобы Доставку не оприходовать выдергиваешь только товар.
На проверку когда отправишь тебе как за ошибку посчитают если проверки на вид номенклатуры не будет.Она обязательно должна быть в приходной.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: verbatium80 от Декабрь 26, 2016, 05:58:08 pm
Всем привет! Мое решение 1 билета. Покритикуйте пожалуйста.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alrodk от Декабрь 29, 2016, 03:31:17 pm
kuzyara, поясни пожалуйста эти пункты:

Цитировать
г) неправильный порядок операндов при расчете себестоимости ОУ
Почему не правильный? Какой должен быть?

Цитировать
е) не устанавливаешь ключ данных сообщению (не привязывается к объекту)
Это обязательно? За это снижают баллы?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GloryToGod от Декабрь 31, 2016, 04:51:49 am
Привет всем! Почему во всех решениях В ПР за план берут часы??? Хотя явно сказано:
Дневная ставка рассчитывается как начальное значение оклада, деленное на количество рабочих дней в том же периоде. Нигде не сказано про количество рабочих часов.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Декабрь 31, 2016, 08:49:29 am
Привет всем! Почему во всех решениях В ПР за план берут часы??? Хотя явно сказано:
Дневная ставка рассчитывается как начальное значение оклада, деленное на количество рабочих дней в том же периоде. Нигде не сказано про количество рабочих часов.
Делайте правильно. Кажется, отличие будет только в заполнении графика, на код это никак не влияет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GloryToGod от Январь 01, 2017, 07:13:53 am
Привет всем! Почему во всех решениях В ПР за план берут часы??? Хотя явно сказано:
Дневная ставка рассчитывается как начальное значение оклада, деленное на количество рабочих дней в том же периоде. Нигде не сказано про количество рабочих часов.
Делайте правильно. Кажется, отличие будет только в заполнении графика, на код это никак не влияет?
Если считать только по пятидневке, то разницы никакой не будет. Но в условии также говориться: "Все сотрудники работают по пятидневному графику работы, однако в решении необходимо предусмотреть возможность работы по нескольким различным графикам."
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Январь 01, 2017, 08:35:42 am
Привет всем! Почему во всех решениях В ПР за план берут часы??? Хотя явно сказано:
Дневная ставка рассчитывается как начальное значение оклада, деленное на количество рабочих дней в том же периоде. Нигде не сказано про количество рабочих часов.
Делайте правильно. Кажется, отличие будет только в заполнении графика, на код это никак не влияет?
Если считать только по пятидневке, то разницы никакой не будет. Но в условии также говориться: "Все сотрудники работают по пятидневному графику работы, однако в решении необходимо предусмотреть возможность работы по нескольким различным графикам."
Хм. Что значит "если считать только по пятидневке"? Ваш код при другом графике даст неверный результат?
А вообще, процитированное вами условие, если я не ошибаюсь, предполагает лишь создание справочника "Графики", в который, при необходимости, можно добавить те самые "различные графики".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: atukat от Январь 09, 2017, 12:28:47 pm
Коллеги, приветствую
Прошу оценить решение билета № 1.

Жду конструктивной критики.

ОУ: В приходную накладную в обработке проведения использовал не конструктор, а запросом получал ТЧ документа без услуг с группировками. Это важно, т.к оприходование услуг возможно, но в таком случае регистр не будет закрываться в 0.
Запись по новой методике
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Январь 09, 2017, 09:24:16 pm
Добрый вечер, джентльмены.
Посмотрите, пожалуйста мое решение 1 билета по оперативному учету.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Январь 10, 2017, 10:40:51 am
Добрый вечер, джентльмены.
Посмотрите, пожалуйста мое решение 1 билета по оперативному учету.
Пардон, это задача 1.1, не знаю к какому билету относится.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ирина88 от Январь 12, 2017, 11:56:24 am
Мой вариант решения билета№1. Готова выслушивать критику:)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Expert012 от Январь 18, 2017, 05:45:42 pm
Всем добрый вечер. Подскажите пожалуйста зачем нужен Признак учета субконто -Суммовой.?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Январь 18, 2017, 06:21:59 pm
Всем добрый вечер. Подскажите пожалуйста зачем нужен Признак учета субконто -Суммовой.?
Он нужен в том случае, когда хотя бы на одном из субконто его надо отключить (т.е. чтобы не вести суммовой учет в определенных разрезах).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Expert012 от Январь 20, 2017, 10:40:30 am
Всем добрый вечер. Подскажите пожалуйста зачем нужен Признак учета субконто -Суммовой.?
Он нужен в том случае, когда хотя бы на одном из субконто его надо отключить (т.е. чтобы не вести суммовой учет в определенных разрезах).

Спасибо)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Январь 24, 2017, 11:31:00 am
Ребзя, проверьте пжл задачу по СПР. Только начинаю въезжать, всё ли правильно сделал?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: e9953 от Январь 26, 2017, 09:19:19 pm
Ребзя, проверьте пжл задачу по СПР. Только начинаю въезжать, всё ли правильно сделал?

Не то, чтобы проверила... Сама готовлюсь к экзамену, сверяю свои решения с другими. Мне кажется неправильным, что у Вас стаж хранится в виде статичного реквизита. Явно ведь храниться должна дата приема на работу, а уж от неё должен определяться стаж, и конечно же,  отдельно для каждой строки начисления.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Январь 27, 2017, 01:05:17 pm
Ребзя, проверьте пжл задачу по СПР. Только начинаю въезжать, всё ли правильно сделал?

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

Да, вы правы. В задаче указано:
Цитировать
Процент премии зависит от стажа работы сотрудника на данном предприятии. Шкала значений процента премии вводится пользователем в режиме 1С:Предприятия. При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.
Я упростил задачу. - 0.5-3.0 балла на усмотрение преподавателя. Я гавно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: e9953 от Январь 27, 2017, 01:59:12 pm
Ребзя, проверьте пжл задачу по СПР. Только начинаю въезжать, всё ли правильно сделал?

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

Да, вы правы. В задаче указано:
Цитировать
Процент премии зависит от стажа работы сотрудника на данном предприятии. Шкала значений процента премии вводится пользователем в режиме 1С:Предприятия. При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.
Я упростил задачу. - 0.5-3.0 балла на усмотрение преподавателя. Я гавно.

Что ж так резко-то :)? Мысль насчет "упростить" интересная. Мне в голову не приходила )))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bennington от Январь 27, 2017, 07:07:15 pm
Товарищи, по какой причине, в данном билете, из 5 скачанных решений пользователей по ОУ используются 2 регистра накопления? В одном склад, в другом партия? Это вроде как избыточность? ведь те же самые данные для данного условия задачи можно получить используя один регистр с измерениями: номенклатура,склад,партия. Ресурсы- Количество, сумма.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Январь 27, 2017, 07:45:59 pm
Товарищи, по какой причине, в данном билете, из 5 скачанных решений пользователей по ОУ используются 2 регистра накопления? В одном склад, в другом партия? Это вроде как избыточность? ведь те же самые данные для данного условия задачи можно получить используя один регистр с измерениями: номенклатура,склад,партия. Ресурсы- Количество, сумма.
Ответ на ваш вопрос в этой фразе
Цитировать
Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Февраль 02, 2017, 09:01:15 am
Видео по решению БУ: http://xn----1-bedvffifm4g.xn--p1ai/news/2016-12-20-how-to-do-fefo/
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pro100KoT от Февраль 10, 2017, 01:37:40 pm
Всем привет!
Прошу оценить моё решение,буду рад всем комментариям и замечаниям.
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Karasik от Февраль 12, 2017, 09:17:56 pm
Коллеги, приветствую
Прошу оценить решение билета № 1.

Жду конструктивной критики.

ОУ: В приходную накладную в обработке проведения использовал не конструктор, а запросом получал ТЧ документа без услуг с группировками. Это важно, т.к оприходование услуг возможно, но в таком случае регистр не будет закрываться в 0.
Запись по новой методике
Задача по ОУ же 1.7 из сборника? Они же пишут
"Расчет себестоимости списанного
товара должен происходить позднее с помощью регламентной обработки «Расчет
себестоимости». Запуск этой обработки должен происходить автоматически с
использованием регламентного задания, но может быть произведен и вручную по
желанию пользователя. Обработка должна автоматически определять самый
первый документ, нуждающийся в расчете себестоимости, и рассчитывать
себестоимость для всех остальных документов начиная с него. "
А у вас он прям в обработке проведения. Да и еще в паре билетов все так же сделано. Почему?
Или я что то путаю?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 12, 2017, 09:36:22 pm
Задача по ОУ же 1.7 из сборника?
Если хотите только сдать экз, забейте на сборник.  :)
Полные совпадения достаточно редки. Поэтому можете прорешивать задачи из сборника, если не ставите цели быстро получить сертификат.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 16, 2017, 12:27:52 pm
Всем привет!
Прошу оценить моё решение,буду рад всем комментариям и замечаниям.
Спасибо.

|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки
   |      ПО ТЧ.Номенклатура = УправленческийОстатки.Субконто1
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки1
   |      ПО ТЧ.Номенклатура = УправленческийОстатки1.Субконто1

В вашем запросе два одинаковых РегистрБухгалтерии.Управленческий с одинаковыми параметрами виртуальной таблицы. Зачем? Если можно обойтись одним РегистрБухгалтерии.Управленческий - ведь получается Вы две абсолютно одинаковые таблицы соединяете или я ошибаюсь?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pro100KoT от Февраль 16, 2017, 04:01:55 pm
Всем привет!
Прошу оценить моё решение,буду рад всем комментариям и замечаниям.
Спасибо.

|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки
   |      ПО ТЧ.Номенклатура = УправленческийОстатки.Субконто1
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки1
   |      ПО ТЧ.Номенклатура = УправленческийОстатки1.Субконто1

В вашем запросе два одинаковых РегистрБухгалтерии.Управленческий с одинаковыми параметрами виртуальной таблицы. Зачем? Если можно обойтись одним РегистрБухгалтерии.Управленческий - ведь получается Вы две абсолютно одинаковые таблицы соединяете или я ошибаюсь?

Там по-другому никак не вытащить сумму с выключенными суммовыми итогами по субконто "срок годности".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 16, 2017, 10:25:27 pm
Там по-другому никак не вытащить сумму с выключенными суммовыми итогами по субконто "срок годности".
Думаю, для вас не было бы лишним посмотреть этот момент в чужих решениях.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 17, 2017, 07:59:42 am
....Там по-другому никак не вытащить сумму с выключенными суммовыми итогами по субконто "срок годности"....
Попробуйте следующим образом:
|ВЫБРАТЬ
   |   ТЧ.Номенклатура КАК Номенклатура,
   |   ТЧ.НоменклатураПредставление КАК НоменклатураПредставление,
   |   ТЧ.Количество КАК Количество,
   |   ЕСТЬNULL(УправленческийОстатки.Субконто2, ДАТАВРЕМЯ(1, 1, 1)) КАК СрокГодности,
   |   ЕСТЬNULL(УправленческийОстатки1.СуммаОстаток, 0) КАК СуммаОстаток,
   |   УправленческийОстатки.КоличествоОстаток
   |ИЗ
   |   ТЧ КАК ТЧ
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто1,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки
   |      ПО ТЧ.Номенклатура = УправленческийОстатки.Субконто1
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто2,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки1
   |      ПО ТЧ.Номенклатура = УправленческийОстатки1.Субконто1

ГДЕ
&ВидыСубконто1 - это массив из 2-ух элементов субконто номенклатура и срок годности
&ВидыСубконто2 - это массив из 1-го элемента субконто номенклатура

В этом запросе кстати убирается строка с нулевым количеством - которую потом в некоторых решениях убирают в цикле через условие типа
Если Выборка.КоличествоОстаток = 0 Тогда
Продолжить;
КонецЕсли

Писал я что принципе можно одним запросом, но почитал вчера по признак субконто, признак учета субконто и
и понял что одним левым соединением может и решить но правильнее 2-умя по рег. бух. Очень хорошо (но для меня еще мало) об этом написано в Профессиональная разработка в системе 1с ч1 стр 641 - 643, ну и тут http://forum.chistov.pro/index.php?topic=2670.msg41984;topicseen#msg41984
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pro100KoT от Февраль 17, 2017, 09:48:16 am
Там по-другому никак не вытащить сумму с выключенными суммовыми итогами по субконто "срок годности".
Думаю, для вас не было бы лишним посмотреть этот момент в чужих решениях.  :)

Других вариантов решений к сожалению не видел) Если не сложно,напишите другой.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pro100KoT от Февраль 17, 2017, 09:49:53 am
....Там по-другому никак не вытащить сумму с выключенными суммовыми итогами по субконто "срок годности"....
Попробуйте следующим образом:
|ВЫБРАТЬ
   |   ТЧ.Номенклатура КАК Номенклатура,
   |   ТЧ.НоменклатураПредставление КАК НоменклатураПредставление,
   |   ТЧ.Количество КАК Количество,
   |   ЕСТЬNULL(УправленческийОстатки.Субконто2, ДАТАВРЕМЯ(1, 1, 1)) КАК СрокГодности,
   |   ЕСТЬNULL(УправленческийОстатки1.СуммаОстаток, 0) КАК СуммаОстаток,
   |   УправленческийОстатки.КоличествоОстаток
   |ИЗ
   |   ТЧ КАК ТЧ
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто1,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки
   |      ПО ТЧ.Номенклатура = УправленческийОстатки.Субконто1
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
   |            &МоментВремени,
   |            Счет = &Товары,
   |            &ВидыСубконто2,
   |            Субконто1 В
   |               (ВЫБРАТЬ
   |                  ТЧ.Номенклатура
   |               ИЗ
   |                  ТЧ КАК ТЧ)) КАК УправленческийОстатки1
   |      ПО ТЧ.Номенклатура = УправленческийОстатки1.Субконто1

ГДЕ
&ВидыСубконто1 - это массив из 2-ух элементов субконто номенклатура и срок годности
&ВидыСубконто2 - это массив из 1-го элемента субконто номенклатура

В этом запросе кстати убирается строка с нулевым количеством - которую потом в некоторых решениях убирают в цикле через условие типа
Если Выборка.КоличествоОстаток = 0 Тогда
Продолжить;
КонецЕсли

Писал я что принципе можно одним запросом, но почитал вчера по признак субконто, признак учета субконто и
и понял что одним левым соединением может и решить но правильнее 2-умя по рег. бух. Очень хорошо (но для меня еще мало) об этом написано в Профессиональная разработка в системе 1с ч1 стр 641 - 643, ну и тут http://forum.chistov.pro/index.php?topic=2670.msg41984;topicseen#msg41984

У Вас здесь разница с моим вариантом только в разных видах субконто,при том,что остаются те же 2 левых соединений)Какой смысл менять?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 17, 2017, 11:41:13 am
смысл как раз в том что будет соединение двух разных таблиц из одного регистра. В одной таблице идет  суммовой подсчет по номенклатуре а в другой количественный подсчет по номенклатуре и сроку годности.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 17, 2017, 07:13:39 pm
Других вариантов решений к сожалению не видел) Если не сложно,напишите другой.
Посмотрите моё решение. Как образец не рассматривать.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 20, 2017, 08:18:23 am
Проверьте и мое, но есть такой вопрос. В ПУС добавил еще количественный учет. а также еще этот учет прикрепил к ресурсу РБ количество. Вот и получается что ресурс количество имеет признак учета количественный и признак учета субконто также количественный без галочки балансовый. Правильно это или нет? Основывался на данные из книги Радченко и Профессиональная разработка в системе 1с. При вводе движений в РБ не заметил никаких изменений.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fizk_11 от Февраль 20, 2017, 09:26:54 pm
Сегодня добил первый билет, времени угробил неприлично много... а он ведь простой). Если кто осилит посмотреть и раскритиковать, буду очень рад.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 20, 2017, 10:05:35 pm
... времени угробил неприлично много...
Совсем не обязательно с первых попыток делать быстро. Гораздо важнее - правильно и с пониманием, скорость придет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 21, 2017, 07:04:48 am
Сегодня добил первый билет, времени угробил неприлично много... а он ведь простой). Если кто осилит посмотреть и раскритиковать, буду очень рад.
Думал полностью билет - а там у вас только Периодические расчеты
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 21, 2017, 09:03:58 am
Здравствуйте друзья. Решил разобраться и в старой и новой методике. Сделал 2 варианта ОУ 1 билета.
Просьба посмотреть и прокомментить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dendzu от Февраль 21, 2017, 10:41:42 am
Здравствуйте друзья. Решил разобраться и в старой и новой методике. Сделал 2 варианта ОУ 1 билета.
Просьба посмотреть и прокомментить.
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(

может ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(

просто чаще используется ЛЕВОЕ СОЕДИНЕНИЕ, да и вроде проверил также выдает результат
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Fizk_11 от Февраль 21, 2017, 11:42:12 am

Думал полностью билет - а там у вас только Периодические расчеты
:-[ :-[ :-[ Вот же незадача, я свое решение профуфукал...и найти не могу.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 22, 2017, 08:39:41 am
Здравствуйте друзья. Решил разобраться и в старой и новой методике. Сделал 2 варианта ОУ 1 билета.
Просьба посмотреть и прокомментить.
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(

может ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(

просто чаще используется ЛЕВОЕ СОЕДИНЕНИЕ, да и вроде проверил также выдает результат


Да. там одна таблица исправил
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 23, 2017, 12:22:30 am
Добрый день, Andrig!

Смотрел твоё решение по новой методике.

1. Как верно заметил dendzu, соединение в запросе должно быть ЛЕВОЕ, а не ВНУТРЕННЕЕ.

2.   // А. БЛОКИРОВКА Загрузка таблицы значений в набор записей   
   Движения.ОстаткиНоменклатуры.Загрузить(РезультатЗапроса.Выгрузить());

В правилах приема экзамена есть такой пункт: выгрузка результата запроса в таблицу значений без необходимости.
Если уверены - делайте так. Но будьте готовы доказать на экзамене, что это действительно необходимо.
 
3. Далее, перед запросом по регистру Себестоимость не делается блокировка по нему - вот это уже серьезная
ошибка. Регистр надо блокировать с помощью объекта БлокировкаДанных.

4. В цикле по списанию партий есть код:

         Если выборкаПартии = 0  Тогда
            Продолжить;
         КонецЕсли;

выборкаПартии - это объект типа ВыборкаИзРезультатаЗапроса, он нулю не может быть равен никогда.

5. Движение.Сумма = Движение.Количество * выборкаПартии.СуммаОстаток/выборкаПартии.КоличествоОстаток;

    перед делением надо анализировать выборкаПартии.КоличествоОстаток на ноль.

6. В списание партий неплохо бы добавить код что-то типа:

            Если Списать = ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда
               Сумма = ВыборкаДетальныеЗаписи.СуммаОстаток
            Иначе
               Сумма = Списать * ВыборкаДетальныеЗаписи.СуммаОстаток / ВыборкаДетальныеЗаписи.КоличествоОстаток;   
            КонецЕсли;   
   
     Смысл такой - чтобы не "зависали" копейки сумм на остатках, надо всю сумму досписывать, если мы видим,
     что всё количество списывается в ноль.

Ну вот как-то так.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 24, 2017, 04:52:47 pm
Добрый день, Andrig!

Смотрел твоё решение по новой методике.

1. Как верно заметил dendzu, соединение в запросе должно быть ЛЕВОЕ, а не ВНУТРЕННЕЕ.

2.   // А. БЛОКИРОВКА Загрузка таблицы значений в набор записей   
   Движения.ОстаткиНоменклатуры.Загрузить(РезультатЗапроса.Выгрузить());

В правилах приема экзамена есть такой пункт: выгрузка результата запроса в таблицу значений без необходимости.
Если уверены - делайте так. Но будьте готовы доказать на экзамене, что это действительно необходимо.
 
3. Далее, перед запросом по регистру Себестоимость не делается блокировка по нему - вот это уже серьезная
ошибка. Регистр надо блокировать с помощью объекта БлокировкаДанных.

4. В цикле по списанию партий есть код:

         Если выборкаПартии = 0  Тогда
            Продолжить;
         КонецЕсли;

выборкаПартии - это объект типа ВыборкаИзРезультатаЗапроса, он нулю не может быть равен никогда.

5. Движение.Сумма = Движение.Количество * выборкаПартии.СуммаОстаток/выборкаПартии.КоличествоОстаток;

    перед делением надо анализировать выборкаПартии.КоличествоОстаток на ноль.

6. В списание партий неплохо бы добавить код что-то типа:

            Если Списать = ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда
               Сумма = ВыборкаДетальныеЗаписи.СуммаОстаток
            Иначе
               Сумма = Списать * ВыборкаДетальныеЗаписи.СуммаОстаток / ВыборкаДетальныеЗаписи.КоличествоОстаток;   
            КонецЕсли;   
   
     Смысл такой - чтобы не "зависали" копейки сумм на остатках, надо всю сумму досписывать, если мы видим,
     что всё количество списывается в ноль.

Ну вот как-то так.
Здравствуй freemaestro!
Спасибо за подробный разбор.
Я делал 2 файла, по новой и старой методике. Указывай, пожалуйста в каком ошибка.
В свое оправдание могу пояснить следующее :).

1.Исправил, ответ выше по ветке.
2.В этом вопросе не спец, но..
Это все теория. Зависит от экзаменатора. Доказывать что-то профессору – самоубийство.
Я действовал по методике Евгения Гилева.
По моему мнению. Выгружается временная таблица. Срок ее жизни – не долог. Можете «добить» ее в конце запроса.
3.Не согласен по ошибке.
РН «себестоимость» «работает» после РН «Остатки номенклатуры». Блокировка первого не позволяет делать записи во второй, только после записи движений в первый.
4. Моя ошибка - исправил.
Если выборкаПартии. КоличествоОстаток= 0  Тогда
5. Отпадает по П4.
6. Все списывается в 0.
Списать  = 3
ВыборкаДетальныеЗаписи.СуммаОстаток  = 10,33
ВыборкаДетальныеЗаписи.КоличествоОстаток = 3   
3*10,33/3 =10,33
Х*Y/X = Y   
СуммаОстаток  Y списывается полностью.
 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 24, 2017, 06:00:28 pm
... Зависит от экзаменатора. Доказывать что-то профессору – самоубийство.
Я действовал по методике Евгения Гилева.
По моему мнению. Выгружается временная таблица...
На сколько я помню, на экзамене нет задач, в которых есть необходимость использовать выгрузку.
И ни в коем случае не ссылайтесь на Гилева, это точно не будет плюсом к вашему решению.
А доказывать надо, но только тогда, когда точно знаешь, что прав ("профессора" иногда так шутят - говорят, что есть ошибка там, где на самом деле ее нет - проверяют понимание).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 24, 2017, 06:49:17 pm
... Зависит от экзаменатора. Доказывать что-то профессору – самоубийство.
Я действовал по методике Евгения Гилева.
По моему мнению. Выгружается временная таблица...
На сколько я помню, на экзамене нет задач, в которых есть необходимость использовать выгрузку.
И ни в коем случае не ссылайтесь на Гилева, это точно не будет плюсом к вашему решению.
А доказывать надо, но только тогда, когда точно знаешь, что прав ("профессора" иногда так шутят - говорят, что есть ошибка там, где на самом деле ее нет - проверяют понимание).
остальное в порядке?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 24, 2017, 09:58:27 pm

3.Не согласен по ошибке.
РН «себестоимость» «работает» после РН «Остатки номенклатуры». Блокировка первого не позволяет делать записи во второй, только после записи движений в первый.



Доброго дня, andrig!

Поясни, пожалуйста, что ты имел в виду.

Вообще говоря, "новая методика" работает так: мы пишем в регистр остатков с "БлокироватьДляИзмененения" - и регистр блокируется. А далее, мы делаем запрос к регистру себестоимости - но предварительно надо его заблокировать с помощью объекта БлокировкаДанных.


Вот статья Павла Чистова на сайте Инфостарт:
http://expert.chistov.pro/public/195591/
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 25, 2017, 08:06:43 am

3.Не согласен по ошибке.
РН «себестоимость» «работает» после РН «Остатки номенклатуры». Блокировка первого не позволяет делать записи во второй, только после записи движений в первый.



Доброго дня, andrig!

Поясни, пожалуйста, что ты имел в виду.

Вообще говоря, "новая методика" работает так: мы пишем в регистр остатков с "БлокироватьДляИзмененения" - и регистр блокируется. А далее, мы делаем запрос к регистру себестоимости - но предварительно надо его заблокировать с помощью объекта БлокировкаДанных.


Вот статья Павла Чистова на сайте Инфостарт:
http://expert.chistov.pro/public/195591/
Здравствуй,freemaestro!
На самом деле при свойство БлокироватьДляИзменения не устанавливает управляемую блокировку, оно лишь выключает режим разделения итогов регистра при записи. 
Важно. Мы не накладываем блокировку на регистр «Себестоимость». Почему? Такая блокировка являлась бы излишней (а это определенная нагрузка на сервер 1С), поскольку движения в регистры «Остатки номенклатуры» и «Себестоимость» выполняются всегда синхронно, то есть последовательно друг за другом. Поэтому, заблокировав товары из «Остатки номенклатуры», мы не допустим другие транзакции до этих товаров и в регистре «Себестоимость».
http://курсы-по-1с.рф/articles/2017-02-13-realtimeposting-and-datalock/
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 25, 2017, 02:32:58 pm
Доброго времени суток, andrig !

Про "БлокироватьДляИзмененения"  - точнее было бы сказать - для нас важно, что никто параллельно с нами читать данные из регистра по тем товарам, движения по которым были сформированы, не сможет. Это из статьи Павла Чистова, ссылку на которую я тебе дал. Но, блокировка всё-таки устанавливается - открываем синтакс-помощник:
"Устанавливает режим, при котором в процессе записи набора будет установлена управляемая блокировка для всех комбинаций измерений в соответствии с записями набора записей. Имеет смысл использовать, если проверка итогов регистра выполняется после записи и заблокировать нужно именно те комбинации, по которым записываются записи. В этом случае можно не использовать объект БлокировкаДанных.
".

Хотел поблагодарит тебя за ссылку.
Для меня информация оказалась новой и полезной.

Но моё мнение - на экзамене так делать не стоит, т.к. не факт, что проверяющий ожидает увидеть и услышать такое объяснение. Ещё посмотри комментарии к этой статье. Обрати внимание на комментарий mrvaldem и ответ Гилева на этот комментарий.
mrvaldem:
"Добрый день. В примечании Вы говорите о том, что не требуется накладывать блокировку на РН «Себестоимость», т.к. блокировки для РН «Свободные остатки» достаточно. Но это если допустить, что в системе все документы двигают эти оба регистра одновременно. Но это врядли. Поэтому, наверное, блочить «Свободные остатки и если проверка на отрицательность прошла, то блочить «Себестоимость» и проводить.   Источник: ©Курсы-по-1С.рф"
Евгений Гилев (Мастер-тренер):
"Добрый день! Разумеется, могут быть случаи, когда нужно будет накладывать блокировки на регистр «Себестоимость товаров». Но, например, в типовой УТ 11 блокировка на этот регистр не накладывается. Почему? Разработчики облегчили себе жизнь — работу с себестоимостью они вынести за рамки проведения документов, в регламентные операции закрытия месяца."   Источник: ©Курсы-по-1С.рф

И по проблеме копеек такая же песня - может, и не надо ставить отдельное условие при списании количества в ноль, но люди пишут  - преподаватели придираются к этому. В комментариях к этой же статье посмотри.

Так что используй всё это так, как посчитаешь нужным, удачи на экзамене.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 27, 2017, 06:56:22 am
Доброго времени суток, andrig !

Про "БлокироватьДляИзмененения"  - точнее было бы сказать - для нас важно, что никто параллельно с нами читать данные из регистра по тем товарам, движения по которым были сформированы, не сможет. Это из статьи Павла Чистова, ссылку на которую я тебе дал. Но, блокировка всё-таки устанавливается - открываем синтакс-помощник:
"Устанавливает режим, при котором в процессе записи набора будет установлена управляемая блокировка для всех комбинаций измерений в соответствии с записями набора записей. Имеет смысл использовать, если проверка итогов регистра выполняется после записи и заблокировать нужно именно те комбинации, по которым записываются записи. В этом случае можно не использовать объект БлокировкаДанных.
".

Хотел поблагодарит тебя за ссылку.
Для меня информация оказалась новой и полезной.

Но моё мнение - на экзамене так делать не стоит, т.к. не факт, что проверяющий ожидает увидеть и услышать такое объяснение. Ещё посмотри комментарии к этой статье. Обрати внимание на комментарий mrvaldem и ответ Гилева на этот комментарий.
mrvaldem:
"Добрый день. В примечании Вы говорите о том, что не требуется накладывать блокировку на РН «Себестоимость», т.к. блокировки для РН «Свободные остатки» достаточно. Но это если допустить, что в системе все документы двигают эти оба регистра одновременно. Но это врядли. Поэтому, наверное, блочить «Свободные остатки и если проверка на отрицательность прошла, то блочить «Себестоимость» и проводить.   Источник: ©Курсы-по-1С.рф"
Евгений Гилев (Мастер-тренер):
"Добрый день! Разумеется, могут быть случаи, когда нужно будет накладывать блокировки на регистр «Себестоимость товаров». Но, например, в типовой УТ 11 блокировка на этот регистр не накладывается. Почему? Разработчики облегчили себе жизнь — работу с себестоимостью они вынести за рамки проведения документов, в регламентные операции закрытия месяца."   Источник: ©Курсы-по-1С.рф

И по проблеме копеек такая же песня - может, и не надо ставить отдельное условие при списании количества в ноль, но люди пишут  - преподаватели придираются к этому. В комментариях к этой же статье посмотри.

Так что используй всё это так, как посчитаешь нужным, удачи на экзамене.

Здравствуй, freemaestro!
спасибо за дискуссию. Я и сделал по 2-м методам, чтобы обсудить, потому,что все делают по-разному.
Если тебе не сложно, то просьба сделать свой вариант. Можно прямо в моем файле только РН.
Будет интересно посмотреть. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 27, 2017, 08:07:29 am
Доброго времени суток, andrig!

У меня есть решение, привожу текст процедуры обработки проведения
расходной накладной, оперативный учет.
Буду рад за замечания и комментарии.

   Движения.ОстаткиНоменклатуры.Записывать = Истина;
   Движения.ОстаткиНоменклатуры.Очистить();
   
   Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

   Запрос.Текст =
      "ВЫБРАТЬ
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
      |ПОМЕСТИТЬ ДокТЧ
      |ИЗ
      |   Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
      |ГДЕ
      |   РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
      |   И НЕ РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга
      |
      |СГРУППИРОВАТЬ ПО
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
      |
      |ИНДЕКСИРОВАТЬ ПО
      |   Номенклатура
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ДокТЧ.Номенклатура,
      |   ДокТЧ.Количество,
      |   ДокТЧ.Сумма
      |ИЗ
      |   ДокТЧ КАК ДокТЧ";
   
   Запрос.УстановитьПараметр("Ссылка",Ссылка);   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      Движение = Движения.ОстаткиНоменклатуры.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Склад = Склад;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Количество   = ВыборкаДетальныеЗаписи.Количество;
   КонецЦикла;
   
   Движения.Записать();

   Запрос.Текст =
      "ВЫБРАТЬ
      |   ПРЕДСТАВЛЕНИЕ(ОстаткиНоменклатурыОстатки.Номенклатура) КАК ПредставлениеНоменклатуры,
      |   ОстаткиНоменклатурыОстатки.КоличествоОстаток
      |ИЗ
      |   РегистрНакопления.ОстаткиНоменклатуры.Остатки(
      |         &МоментВремени,
      |         Склад = &Склад
      |            И Номенклатура В
      |               (ВЫБРАТЬ
      |                  ДокТЧ.Номенклатура
      |               ИЗ
      |                  ДокТЧ КАК ДокТЧ)) КАК ОстаткиНоменклатурыОстатки
      |ГДЕ
      |   ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0";
      
   Запрос.УстановитьПараметр("МоментВремени", Новый Граница(МоментВремени(),ВидГраницы.Включая));
   Запрос.УстановитьПараметр("Склад",Склад);
   
   РезультатЗапроса = Запрос.Выполнить();
      
   Если НЕ РезультатЗапроса.Пустой() Тогда
      Отказ = Истина;
      ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         Сообщить("Оперативный учет. Номенклатуры "+""""+ ВыборкаДетальныеЗаписи.ПредставлениеНоменклатуры+ """"+" не хватает в нужном количестве. Количество с учетом движений документа: "+ВыборкаДетальныеЗаписи.КоличествоОстаток);
      КонецЦикла;
   КонецЕсли;
   
   Если Отказ Тогда
      Возврат;
   КонецЕсли;
   
   МетодСписания = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата).Значение;
   СтрокаПорядка = ?(МетодСписания=Перечисления.УчетнаяПолитика.ФИФО,"","УБЫВ");
   
   БД = Новый БлокировкаДанных;
    ЭлементБД = БД.Добавить("РегистрНакопления.СебестоимостьНоменклатуры");
   ЭлементБД.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБД.ИсточникДанных = СписокНоменклатуры;
   ЭлементБД.ИспользоватьИзИсточникаДанных("Номенклатура","Номенклатура");
   БД.Заблокировать();
   
   Движения.СебестоимостьНоменклатуры.Записывать = Истина;
   Движения.СебестоимостьНоменклатуры.Очистить();
   Движения.СебестоимостьНоменклатуры.Записать();
   
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДокТЧ.Номенклатура КАК Номенклатура,
      |   ПРЕДСТАВЛЕНИЕ(ДокТЧ.Номенклатура) КАК ПредставлениеНоменклатуры,
      |   ДокТЧ.Количество КАК Количество,
      |   ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.Партия, ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка)) КАК Партия,
      |   ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
      |   ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстаток
      |ИЗ
      |   ДокТЧ КАК ДокТЧ
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьНоменклатуры.Остатки(
      |            &МоментВремени,
      |            Номенклатура В
      |               (ВЫБРАТЬ
      |                  ДокТЧ.Номенклатура
      |               ИЗ
      |                  ДокТЧ КАК ДокТЧ)) КАК СебестоимостьНоменклатурыОстатки
      |      ПО ДокТЧ.Номенклатура = СебестоимостьНоменклатурыОстатки.Номенклатура
      |
      |УПОРЯДОЧИТЬ ПО
      |   СебестоимостьНоменклатурыОстатки.Партия.МоментВремени " + СтрокаПорядка +
      "ИТОГИ
      |   МИНИМУМ(Количество)
      |ПО
      |   Номенклатура";
   
   Запрос.УстановитьПараметр("МоментВремени", Новый Граница(МоментВремени(),ВидГраницы.Исключая));
   
   РезультатЗапроса = Запрос.Выполнить();
   
   Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   Пока Выборка.Следующий() Цикл
          ОсталосьСписать = Выборка.Количество;
         
         ВыборкаДетальныеЗаписи = Выборка.Выбрать();
         Пока ВыборкаДетальныеЗаписи.Следующий() И ОсталосьСписать <> 0 Цикл
            Списать = МИН(ОсталосьСписать, ВыборкаДетальныеЗаписи.КоличествоОстаток);
            
            Если Списать = ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда
               Сумма = ВыборкаДетальныеЗаписи.СуммаОстаток
            Иначе
               Сумма = Списать * ВыборкаДетальныеЗаписи.СуммаОстаток / ВыборкаДетальныеЗаписи.КоличествоОстаток;   
            КонецЕсли;   
                  
            ОсталосьСписать = ОсталосьСписать - Списать;
            
            Движение = Движения.СебестоимостьНоменклатуры.Добавить();
            Движение.Период = Дата;
            Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
            Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
            Движение.Партия = ВыборкаДетальныеЗаписи.Партия;
            Движение.Количество = Списать;
            Движение.Сумма = Сумма;
         
         КонецЦикла;

   КонецЦикла;

    Движения.СебестоимостьНоменклатуры.Записывать = Истина;

Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 27, 2017, 08:22:58 am
Andrig, а ты бух. учет делать будешь?
Можно тоже обсудить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Февраль 27, 2017, 11:33:13 am
   Движения.ОстаткиНоменклатуры.Записывать = Истина;
   Движения.ОстаткиНоменклатуры.Очистить();

Зачем это делать? Движения и так пустые при оперативном проведении. Белоусов в курсе говорит, что это делать не надо.

   
Движения.СебестоимостьНоменклатуры.Записывать = Истина;
   Движения.СебестоимостьНоменклатуры.Очистить();
   Движения.СебестоимостьНоменклатуры.Записать();


Зачем так сложно?
 Достаточно
 Движения.СебестоимостьНоменклатуры.Записать(); // так как новых движений нет то система перезапишет РН.СебестоимостьНоменклатуры пустыми стоками
 или
Движения.СебестоимостьНоменклатуры.Записывать = Истина;
Движения.Записать();

Почему Движения.Записать() а не Движения.СебестоимостьНоменклатуры.Записать(), так как могут возникнуть взаимоблокировки см http://курсы-по-1с.рф/articles/2017-02-13-realtimeposting-and-datalock/ (http://курсы-по-1с.рф/articles/2017-02-13-realtimeposting-and-datalock/)

   
 |   ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.Партия, ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка)) КАК Партия,

В РН.СебестоимостьНоменклатуры измерение Партия обязательная к заполнению. Следовательно не будет у вас случая когда Партия Null. Следовательно проверять не надо на Null.


Все что сказано это мое мнение. В данный момент сам готовлюсь.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 27, 2017, 01:27:21 pm
Доброго времени суток, vaasec!



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

Зачем это делать? Движения и так пустые при оперативном проведении. Белоусов в курсе говорит, что это делать не надо.



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



Почему Движения.Записать() а не Движения.СебестоимостьНоменклатуры.Записать(),
так как могут возникнуть взаимоблокировки см
 http://курсы-по-1с.рф/articles/2017-02-13-realtimeposting-and-datalock/



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



|   ЕСТЬNULL(СебестоимостьНоменклатурыОстатки.Партия, ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка)) КАК Партия,

В РН.СебестоимостьНоменклатуры измерение Партия обязательная к заполнению.
Следовательно не будет у вас случая когда Партия Null. Следовательно проверять не надо на Null.



Партия может и не может быть пустым - это как ты регистр накопления настроил.
Есть такое правило при приеме экзамена:
"Отсутствие проверки на NULL" - минус 1 балл на экзамене.
А так как здесь левое соединение, то NULL может быть,
хотя бы теоретически.
Поэтому проверка далеко не лишняя.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Февраль 27, 2017, 03:04:24 pm
Доброго времени суток, vaasec!
....

У меня документ проводиться  оперативно. А данные для расчета себестоимости и количества получаю на моментвремени() без использования границы, так как и так данные получаю на начала моментвремени(), а не на неопределенно (как это раньше было для 8.2).

На счет  Движения.Записать() согласен, но Очищать движения считаю лишним. А что за курс и какого он года?

Все измерения в РН должны быть заполнены, так говорит Белоусов, и в билете 3 нельзя записывать пустую партию , а надо использовать документ Учетная Политика (см. комментарии).
В вашем случае это будет лишнее использование NULL, либо думаю спросят в каком случае у вас партия будет не заполнена.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 27, 2017, 05:33:44 pm
Andrig, а ты бух. учет делать будешь?
Можно тоже обсудить.
Хочу добить сначала ОУ.
Или думаешь, что лучше параллельно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Февраль 27, 2017, 09:25:24 pm
Делай как тебе удобно, Andrig. я просто тоже хочу выложить своё решение и обсудить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 08:26:13 am
Посмотрите пожалуйста мое решение ОУ+БУ. Не знаю, может с БУ я перемудрила...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 09:03:23 am
Посмотрите пожалуйста мое решение ОУ+БУ. Не знаю, может с БУ я перемудрила...

а при чем тут серии если задача про сроки годности или это они и есть?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 09:08:57 am
Цитировать
а при чем тут серии если задача про сроки годности или это они и есть?

Добавлять Субконто примитивного типа Дата это не очень правильно с точки зрения последующей индексации таблицы регистра, поэтому сделала справочник Серии, в котором храню сроки годности. Где-то выше скидывала ссылку о сроках годности, Гилев рассказывал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 09:29:12 am
просто я назвал справочник просто "Сроки годности", а "Серии"  немножко другое и сбивает с толку.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 09:43:47 am
Цитировать
просто я назвал справочник просто "Сроки годности", а "Серии"  немножко другое и сбивает с толку.
Кто на что гаразд)
Вариант решения №2 с признаком учета субконто "Суммовой", так наверное будет более правильно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 09:51:51 am
Посмотрите пожалуйста мое решение ОУ+БУ. Не знаю, может с БУ я перемудрила...

У вас в плане счетов есть признак учета субконто "Количественный", и субконто "Серия" отмечено галочкой количественный, это почему вы так сделали? Думаю в этой задаче нужно добавить признак учета количественный для счета товары, и признак учета субконто Суммовой.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 10:11:24 am
Цитировать
У вас в плане счетов есть признак учета субконто "Количественный", и субконто "Серия" отмечено галочкой количественный, это почему вы так сделали? Думаю в этой задаче нужно добавить признак учета количественный для счета товары, и признак учета субконто Суммовой.

Да, это как один из вариантов. Просто я потом остатки читаю не из остатков, а из оборотов. Не очень хороший вариант, уже выложила другой выше) Спасибо большое!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 10:40:38 am
Цитировать
У вас в плане счетов есть признак учета субконто "Количественный", и субконто "Серия" отмечено галочкой количественный, это почему вы так сделали? Думаю в этой задаче нужно добавить признак учета количественный для счета товары, и признак учета субконто Суммовой.

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

ввел свои данные в бухгалтерскую задачу, там копейка застряла на счете Товары.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 11:19:27 am
Цитировать
Цитата: olchik от Сегодня в 10:11:24 am
Цитировать
У вас в плане счетов есть признак учета субконто "Количественный", и субконто "Серия" отмечено галочкой количественный, это почему вы так сделали? Думаю в этой задаче нужно добавить признак учета количественный для счета товары, и признак учета субконто Суммовой.

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

ввел свои данные в бухгалтерскую задачу, там копейка застряла на счете Товары.
* 1Cv8.dt (208.92 КБ - загружено 0 раз.)

* копейка потерялася.jpg (123.29 КБ, 1136x561 - просмотрено 2 раз.)

Это в новом решении или в старом? То есть у того, которого есть признак учета Субконто Суммовой или где нет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 11:23:54 am
Цитировать
Цитата: olchik от Сегодня в 10:11:24 am
Цитировать
У вас в плане счетов есть признак учета субконто "Количественный", и субконто "Серия" отмечено галочкой количественный, это почему вы так сделали? Думаю в этой задаче нужно добавить признак учета количественный для счета товары, и признак учета субконто Суммовой.

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

ввел свои данные в бухгалтерскую задачу, там копейка застряла на счете Товары.
* 1Cv8.dt (208.92 КБ - загружено 0 раз.)

* копейка потерялася.jpg (123.29 КБ, 1136x561 - просмотрено 2 раз.)

Это в новом решении или в старом? То есть у того, которого есть признак учета Субконто Суммовой или где нет?

в новом и от плана счетов не зависит, проблема в этом месте
       СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;

Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 11:27:47 am
Цитировать
в новом и от плана счетов не зависит, проблема в этом месте
       СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;
Есть предложение решения проблемы копеек?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 11:38:15 am
Цитировать
в новом и от плана счетов не зависит, проблема в этом месте
       СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;
Есть предложение решения проблемы копеек?

Если списываем всю партию тогда в качестве себестоимости списываем всю стоимость партии (или весь остаток по счету)

            
            Списать = Мин(ОсталосьСписать, Выборка.КоличествоОстаток);
            Если Списать = Выборка.КоличествоОстаток Тогда
               Себестоимость = Выборка.СуммаОстаток;
            Иначе
               Себестоимость = Списать / Выборка.КоличествоОстаток * Выборка.СуммаОстаток;
            КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 11:41:02 am
Цитировать
Цитировать
в новом и от плана счетов не зависит, проблема в этом месте
       СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;
Есть предложение решения проблемы копеек?

Да, согласна. Только здесь не по партии (серии,сроку годности), а в целом по номенклатуре.
То есть как то так
КолСписать = МИН(НеобходиомСписать,ВыборкаСерия.КоличествоОстатокПоСерии);
         Если КолСписать = ВыборкаНоменклатура.КоличествоОстаток Тогда
            СуммаСебастоимость =  ВыборкаНоменклатура.СуммаОстаток;
         Иначе   
             СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;         
         КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 12:46:32 pm
Цитировать
Цитировать
в новом и от плана счетов не зависит, проблема в этом месте
       СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;
Есть предложение решения проблемы копеек?

Да, согласна. Только здесь не по партии (серии,сроку годности), а в целом по номенклатуре.
То есть как то так
КолСписать = МИН(НеобходиомСписать,ВыборкаСерия.КоличествоОстатокПоСерии);
         Если КолСписать = ВыборкаНоменклатура.КоличествоОстаток Тогда
            СуммаСебастоимость =  ВыборкаНоменклатура.СуммаОстаток;
         Иначе   
             СуммаСебастоимость = ВыборкаСерия.СуммаОстаток * КолСписать / ВыборкаСерия.КоличествоОстаток;         
         КонецЕсли;

проблема осталась
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 12:47:56 pm
Цитировать
проблема осталась
Может тогда обратно выгрузку с примером скинете, с копейками )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 12:50:26 pm
Цитировать
проблема осталась
Может тогда обратно выгрузку с примером скинете, с копейками )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 02, 2017, 01:10:11 pm
Не знаю на сколько это правильно и можно ли сделать лучше...



ОбщаяСуммаСписания = 0;
      Пока ВыборкаСерия.Следующий() и НеобходиомСписать>0 Цикл
         КолСписать = МИН(НеобходиомСписать,ВыборкаСерия.КоличествоОстатокПоСерии);
         Если КолСписать = ВыборкаНоменклатура.КоличествоОстаток Тогда
            СуммаСебастоимость =  ВыборкаНоменклатура.СуммаОстаток;
         Иначе   
             СуммаСебастоимость = Окр(КолСписать / ВыборкаСерия.КоличествоОстаток * ВыборкаСерия.СуммаОстаток, 2);         
         КонецЕсли;
         ОбщаяСуммаСписания = ОбщаяСуммаСписания + СуммаСебастоимость;
         Проводка = Движения.РегистрБухгалтерии.Добавить();
         Проводка.Период = Дата;
         Проводка.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
         Проводка.СчетКт = ПланыСчетов.Управленческий.Товары;
         Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
         Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
         Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Серия] = ВыборкаСерия.Серия;
         Проводка.КоличествоКт = КолСписать;
         Проводка.Сумма = СуммаСебастоимость;
         НеобходиомСписать = НеобходиомСписать - КолСписать;
      
      КонецЦикла;
      Если ВыборкаНоменклатура.КоличествоОстаток = ВыборкаНоменклатура.КоличествоОстатокПоСерии Тогда
         Копейка = ВыборкаНоменклатура.СуммаОстаток - ОбщаяСуммаСписания;
         Проводка.Сумма = Проводка.Сумма + Копейка;
      КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alyx Ruby от Март 02, 2017, 02:54:37 pm
Все правильно, проверка тоже правильна: Если КолСписать = КоличествоОстаток, то просто списываем СуммаОстаток, только это выражение:

 СуммаСебестоимость = Окр(КолСписать / ВыборкаСерия.КоличествоОстаток * ВыборкаСерия.СуммаОстаток, 2);
лучше писать так:

СуммаСебестоимость = КолСписать * ВыборкаСерия.СуммаОстаток / ВыборкаСерия.КоличествоОстаток;

То есть из-за особенностей компьютерного округления сначала умножаем, потом делим. Округлять не обязательно, разрядность поля само позаботится об округлении.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 02, 2017, 06:56:02 pm
Все правильно, проверка тоже правильна: Если КолСписать = КоличествоОстаток, то просто списываем СуммаОстаток, только это выражение:

 СуммаСебестоимость = Окр(КолСписать / ВыборкаСерия.КоличествоОстаток * ВыборкаСерия.СуммаОстаток, 2);
лучше писать так:

СуммаСебестоимость = КолСписать * ВыборкаСерия.СуммаОстаток / ВыборкаСерия.КоличествоОстаток;

То есть из-за особенностей компьютерного округления сначала умножаем, потом делим. Округлять не обязательно, разрядность поля само позаботится об округлении.  :)

Можете решить проблему копеек в прикрепленном примере в бухгалтерской задачи? там данные забиты. У меня не получилось.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 03, 2017, 09:01:59 am
Цитировать
Можете решить проблему копеек в прикрепленном примере в бухгалтерской задачи? там данные забиты. У меня не получилось.

Списываем по срокам годности. В конце если количество остатка по номенклатуре равна количеству общего остатка по сериям, то находим копейки и корректируем последнее движение.

ОбщаяСуммаСписания = 0;
      Пока ВыборкаСерия.Следующий() и НеобходиомСписать>0 Цикл
         КолСписать = МИН(НеобходиомСписать,ВыборкаСерия.КоличествоОстатокПоСерии);
         Если КолСписать = ВыборкаНоменклатура.КоличествоОстаток Тогда
            СуммаСебастоимость =  ВыборкаНоменклатура.СуммаОстаток;
         Иначе   
             СуммаСебастоимость = КолСписать * ВыборкаСерия.СуммаОстаток / ВыборкаСерия.КоличествоОстаток ;         
         КонецЕсли;
         ОбщаяСуммаСписания = ОбщаяСуммаСписания + СуммаСебастоимость;
         Проводка = Движения.РегистрБухгалтерии.Добавить();
         Проводка.Период = Дата;
         Проводка.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
         Проводка.СчетКт = ПланыСчетов.Управленческий.Товары;
         Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
         Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
         Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Серия] = ВыборкаСерия.Серия;
         Проводка.КоличествоКт = КолСписать;
         Проводка.Сумма = СуммаСебастоимость;
         НеобходиомСписать = НеобходиомСписать - КолСписать;
     
      КонецЦикла;
      Если ВыборкаНоменклатура.КоличествоОстаток = ВыборкаНоменклатура.КоличествоОстатокПоСерии Тогда
         Копейка = ВыборкаНоменклатура.СуммаОстаток - ОбщаяСуммаСписания;
         Проводка.Сумма = Проводка.Сумма + Копейка;
      КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 14, 2017, 12:22:31 pm
Всем доброго дня! У меня проблема с выполнением бух.задачи - когда провожу Приходную накладную с одним товаром в виртуальную таблицу "УправленческийОстатки" на счет "Товары" создается одна запись. Хотя в плане счетов сделал "Признак учета субконто" суммовой и назначил его на Субконто1 "Номенклатура". За образец брал решение SAE, у него делается две записи в виртуальную таблицу - сумма падает на Субконто1 Номенклатура, а Количество на субконто2 "Серию". Подскажите, что может быть не так в моем решении? На всякий случай прикреплю выгрузку свою.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 14, 2017, 01:27:07 pm
сумма падает на Субконто1 Номенклатура, а Количество на субконто2 "Серию".

Что то даже представить такое не могу, сделайте сриншоты, может понятнее будет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 14, 2017, 01:33:36 pm
сумма падает на Субконто1 Номенклатура, а Количество на субконто2 "Серию".

Что то даже представить такое не могу, сделайте сриншоты, может понятнее будет.

Прикрепил
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 14, 2017, 02:11:22 pm
Прикрепил

Это действительно странно, у меня тоже одна запись получается. На конечный результат вроде не влияет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitri-Dmitrich от Март 14, 2017, 03:16:12 pm
Я решил проблему копеек в БУ немного по другому, просто из общей суммы вычитал сумму списания, а если списываем последнюю партию списывал результат вычитания. Прикрепляю решение. Кто может, посмотрите пожалуйста мое решение, найдите недочеты
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 14, 2017, 04:02:59 pm
Тут много кто пишет о проблеме копеек. Можно поподробнее?
Пример:
Йогурт 20.03.17 - 10 шт цена 500,13
Йогурт 25.03.17 - 10 шт цена 700

СрокГодности 20.03.17
продаем 9 шт - по 50,01 = 450,12
остаток 1 шт - по 50,01

продаем еще 5 шт.
смотрим что у нас есть остаток ранней партии в размере 1шт, соответственно списываем остаточную себестоимость, т.е. 50,01(т.е. все что есть)
а так же списываем 4шт по 70 = 280

Вопрос: откуда проблемы с копейками?



Название: Re: Билет 1. Спец по платформе V8
Отправлено: olchik от Март 14, 2017, 04:12:53 pm
Тут много кто пишет о проблеме копеек. Можно поподробнее?
Пример:
Йогурт 20.03.17 - 10 шт цена 500,13
Йогурт 25.03.17 - 10 шт цена 700

СрокГодности 20.03.17
продаем 9 шт - по 50,01 = 450,12
остаток 1 шт - по 50,01

продаем еще 5 шт.
смотрим что у нас есть остаток ранней партии в размере 1шт, соответственно списываем остаточную себестоимость, т.е. 50,01(т.е. все что есть)
а так же списываем 4шт по 70 = 280

Вопрос: откуда проблемы с копейками?
Я тоже никак не могла смоделировать. Посмотрите выгрузки баз и какой там пример приведен.
Цитировать
проблема осталась
Может тогда обратно выгрузку с примером скинете, с копейками )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitri-Dmitrich от Март 14, 2017, 04:16:38 pm
Тут много кто пишет о проблеме копеек. Можно поподробнее?
Пример:
Йогурт 20.03.17 - 10 шт цена 500,13
Йогурт 25.03.17 - 10 шт цена 700

СрокГодности 20.03.17
продаем 9 шт - по 50,01 = 450,12
остаток 1 шт - по 50,01

продаем еще 5 шт.
смотрим что у нас есть остаток ранней партии в размере 1шт, соответственно списываем остаточную себестоимость, т.е. 50,01(т.е. все что есть)
а так же списываем 4шт по 70 = 280

Вопрос: откуда проблемы с копейками?
Проблема с копейками возникает, т.к. суммовой учет ведется в разрезе всей номенклатуры, соответственно в регистре не хранятся данные о себестоимости конкретной партии. И соответственно мы не можем списать остаток по партии, т.к. нет данных для этого, а если списывать как (общая стоимость по номенклатуре)/(общее количество по нменклатуре)*(количествоСписания) то зависнут копейки из за округления. Соответственно нужно накапливать сколько осталось списать в отдельной переменной и списывать это, если партия последняя. Возможно я заблуждаюсь, но я решил эту проблему так. Пример можете посмотреть в выгрузке, прикрепленной к моему предыдущему сообщению
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 14, 2017, 05:00:48 pm
Вопрос: откуда проблемы с копейками?
Проблема если и есть, то не копеек, а неумения "готовить" списание.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 15, 2017, 08:05:56 am
Тут много кто пишет о проблеме копеек. Можно поподробнее?
Пример:
Йогурт 20.03.17 - 10 шт цена 500,13
Йогурт 25.03.17 - 10 шт цена 700

СрокГодности 20.03.17
продаем 9 шт - по 50,01 = 450,12
остаток 1 шт - по 50,01

продаем еще 5 шт.
смотрим что у нас есть остаток ранней партии в размере 1шт, соответственно списываем остаточную себестоимость, т.е. 50,01(т.е. все что есть)
а так же списываем 4шт по 70 = 280

Вопрос: откуда проблемы с копейками?

Добрый день, xXeNoNx !

Насколько я понял условие задачи -  цены надо вычислять по-другому.

Твой пример:
Приход: 
Йогурт 20.03.17 - 10 шт на сумму 500,13
Йогурт 25.03.17 - 10 шт на сумму 700

продаем 9 шт - цену считаем как среднюю ПО ВСЕЙ НОМЕНКЛАТУРЕ: 1200,13*9/20 = 540,06
списываем со срока годности  20.03.17: 9 шт.

Остаток:
Йогурт 20.03.17 - 1 шт
Йогурт 25.03.17 - 10 шт
Суммовой остаток: 1200,13 - 540,06 = 660,07

продаем еще 5 шт. : 660,07*5/11 = 300,03
списываем со срока годности  20.03.17: 1 шт.
списываем со срока годности  25.03.17: 4 шт.

Остаток:
Йогурт 25.03.17 - 6 шт
Суммовой остаток: 660,07 - 300,03 = 360,04

                       
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 15, 2017, 10:10:43 am
Да, точно, суммовой остаток ведется только по субконто номенклатуры, т.е. там вся накопленная себестоимость, проблема с копейками возникнет когда будет списана последняя штука товаров, но когда мы списываем последнюю  штуку, не важно из какой партии, мы списываем остаточную стоимость по конкретной номенклатуре в полном размере
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 15, 2017, 11:21:23 am
вот мой модуль обработки проведения в txt-файле во вложении, прошу покритиковать.

Если кто желает, могу скинуть dt.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 17, 2017, 06:16:27 am
Всем доброго дня! У меня проблема с выполнением бух.задачи - когда провожу Приходную накладную с одним товаром в виртуальную таблицу "УправленческийОстатки" на счет "Товары" создается одна запись. Хотя в плане счетов сделал "Признак учета субконто" суммовой и назначил его на Субконто1 "Номенклатура". За образец брал решение SAE, у него делается две записи в виртуальную таблицу - сумма падает на Субконто1 Номенклатура, а Количество на субконто2 "Серию". Подскажите, что может быть не так в моем решении? На всякий случай прикреплю выгрузку свою.

Долго бился, но разобрался почему так получается!
В решении SAE Субконто2 - Срок годности имеет "примитивный тип" Дата. Я же использовал справочник "Серии".
На своей шкуре убедился, что записи с Субконто имеющие ссылочный тип в виртуальной таблице хранятся оптимальней.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 17, 2017, 07:10:34 am
Долго бился, но разобрался почему так получается!
В решении SAE Субконто2 - Срок годности имеет "примитивный тип" Дата. Я же использовал справочник "Серии".
На своей шкуре убедился, что записи с Субконто имеющие ссылочный тип в виртуальной таблице хранятся оптимальней.  :)
:)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 17, 2017, 07:25:08 am
Рано радовался  :(
Сделал приход 1шт за 500р с одной серией, затем второй приход 1шт за 600р с другой. Продал 1шт одной расходной(списалось 550руб), затем еще раз продал 1шт другой(списалось еще 550руб). В результате в виртуальном регистре остатки следующая картина. Это же не правильно? Как считаете?

Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 17, 2017, 07:59:19 am
Рано радовался  :(
Сделал приход 1шт за 500р с одной серией, затем второй приход 1шт за 600р с другой. Продал 1шт одной расходной(списалось 550руб), затем еще раз продал 1шт другой(списалось еще 550руб). В результате в виртуальном регистре остатки следующая картина. Это же не правильно? Как считаете?

Не знаю у меня все норм
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 17, 2017, 09:00:58 am
Рано радовался  :(
Сделал приход 1шт за 500р с одной серией, затем второй приход 1шт за 600р с другой. Продал 1шт одной расходной(списалось 550руб), затем еще раз продал 1шт другой(списалось еще 550руб). В результате в виртуальном регистре остатки следующая картина. Это же не правильно? Как считаете?

Не знаю у меня все норм

И правда, у вас все норм показывает. Буду сравнивать настройки, искать различия.
А что за интересная каркасная конфигурация у вас? режим совместимости отключен, консоль запросов запускается. Это сейчас такая новая каркасная?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 17, 2017, 09:38:59 am
И правда, у вас все норм показывает. Буду сравнивать настройки, искать различия.
А что за интересная каркасная конфигурация у вас? режим совместимости отключен, консоль запросов запускается. Это сейчас такая новая каркасная?
Каркасная все та же, просто так настроил.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 17, 2017, 12:57:57 pm
Подскажите, пожалуйста, след.моменты:

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

Но в каких случаях исполльовать признак учёта субконто? Я как-то упустил этот момент, а в решениях у SAE в билетах 1 и 5 используются ПУС (признаки учёта субконто). Никак не могу допетрить :(
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitri-Dmitrich от Март 17, 2017, 01:24:02 pm
Но в каких случаях исполльовать признак учёта субконто? Я как-то упустил этот момент, а в решениях у SAE в билетах 1 и 5 используются ПУС (признаки учёта субконто). Никак не могу допетрить :(
Как я понимаю, в первом билете ПУС используется чтобы сумма накапливалась в разрезе всей номенклатуры, чтобы рассчитывать потом себестоимость по ней. А по сроку годности она списываться не должна, иначе будут либо отрицательные остатки по сроку годности, либо не спишется себестоимость полностью. Поэтому у сукбонто нужно снять ПУС суммовой, в итоге по срокам годности система будет запоминать только количество.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 17, 2017, 01:27:32 pm
Суммовой - это признак учета по субконто, т.к. сумма не нужна в разрезе сроков годности, но нужна в разрезе номенклатуры. При настройке, сумма по сроку годности будет выключаться признаком учета по субконто.
Признак учета - показывает нужно ли вести на данном счете учет по ресурсу, привязанному к данному признаку учета
Признак учета по субконто - показывает нужно ли вести по данному субконто учет по привязанному ресурсу.

т.е: счет товары с субконто: Номенклатура, Склад.

Вариант1. Определяем и включаем признак учета Количественный, в регистре бухгалтерии определяем ресурс - "Количество" и делаем связку с признаком учета "Количественный", с этих пор у нас будет накапливаться ресурс "Количество" на данном счете
Вариант2. Определяем и включаем у субконто - номенклатура признак учета "Суммовой" и выключаем его у субконто "Склады", в регистре бухгалтерии определяем ресурс "Сумма" и привязываем его с признаком учета по субконто "Суммовой", с этих пор у нас будет накапливаться сумма по Номенклатуре и не будет по складу.

Это можно будет увидеть в виртуальной таблице регистра бухгалтерии, а именно, если будем брать остатки в разрезе Номенклатура и склад: то записи будут следующего вида:

Товары         Склады          Количество               Сумма
Т1                     с1                  10
Т1                     с2                  10

А если По номенклатуре, то

Товары         Количество               Сумма
Т1                   10                              100(стоимость всех товаров на разных складах)

Если есть условие что себестоимость должна считаться по среднему не зависимо от склада, то используем признак учета по субконто, что бы накопить стоимость только по номенклатуре, т.к. нет смысла ее накапливать по складам.

Ну как-то так..
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 17, 2017, 03:45:22 pm
Спасибо большое за рязъяснения! Но я всё равно нихрена не понял!

Есть ли какое-то деревянное условие-объяснение, типа как в СПР если "совместительство допускается", значит подразделение пихаем в измерение, а если нет, то в реквизит?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 17, 2017, 05:29:48 pm
Речь идет о каком регистре?
Плохая идея добавлять подразделение в ресурсы... и не за чем.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 17, 2017, 09:22:24 pm
Подскажите, пожалуйста, след.моменты:

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

Но в каких случаях исполльовать признак учёта субконто? Я как-то упустил этот момент, а в решениях у SAE в билетах 1 и 5 используются ПУС (признаки учёта субконто). Никак не могу допетрить :(


Доброго времени суток, CeHbKA !

Попробую объяснить про признаки учета и признаки учета субконто .
Ты верно заметил, что:
"При решении задач БУ у нас всегда есть один ресурс регистра бухгалтерии "Сумма", он является балансовым.
Больше балансовых ресурсов в РБ по условиям задач быть не должно."

С ресурсом "Сумма", я думаю, всё понятно - он должен быть всегда и должен быть балансовым.
Попробуй создать признак учета "Суммовой". Не признак учета субконто, а именно признак учета.
И попробуй не включить его по некоторым счетам.  При попытке сделать проводку с таким счетом,
платформа будет ругаться, что сумма должна быть заполнена обязательно!
Оно и понятно - это балансовый ресурс.
Таким образом, признак учета "Суммовой" на экзамене исключается.
Может быть только признак учета субконто "Суммовой", если мы не хотим вести суммовой учет по какому-либо субконто.
В типовой "Бухгалтерии", кстати, тоже нет признака учета "Суммовой", есть признак учета субконто "Суммовой".
Если у кого есть мысли по этому поводу, буду рад услышать комментарии.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 17, 2017, 09:55:11 pm
Ребята, посмотрите, пожалуйста, обработку проведения по БУ.
Столько времени потратил, хотелось бы выслушать хоть какую-то  критику.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 18, 2017, 12:21:05 pm
Подскажите, пожалуйста, след.моменты:

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

Но в каких случаях исполльовать признак учёта субконто? Я как-то упустил этот момент, а в решениях у SAE в билетах 1 и 5 используются ПУС (признаки учёта субконто). Никак не могу допетрить :(


Доброго времени суток, CeHbKA !

Попробую объяснить про признаки учета и признаки учета субконто .
Ты верно заметил, что:
"При решении задач БУ у нас всегда есть один ресурс регистра бухгалтерии "Сумма", он является балансовым.
Больше балансовых ресурсов в РБ по условиям задач быть не должно."

С ресурсом "Сумма", я думаю, всё понятно - он должен быть всегда и должен быть балансовым.
Попробуй создать признак учета "Суммовой". Не признак учета субконто, а именно признак учета.
И попробуй не включить его по некоторым счетам.  При попытке сделать проводку с таким счетом,
платформа будет ругаться, что сумма должна быть заполнена обязательно!
Оно и понятно - это балансовый ресурс.
Таким образом, признак учета "Суммовой" на экзамене исключается.
Может быть только признак учета субконто "Суммовой", если мы не хотим вести суммовой учет по какому-либо субконто.
В типовой "Бухгалтерии", кстати, тоже нет признака учета "Суммовой", есть признак учета субконто "Суммовой".
Если у кого есть мысли по этому поводу, буду рад услышать комментарии.
В примере у SAE признак учёта субконто (ПУС) стоит для обязательного балансового ресурса "Сумма". Далее, этот ПУС указан для субконто "Номенклатура", а для "Срок годности" нет. Далее, при партионном списании используется 2 левых соединения к остаткам - первое для получения остатков и себестоимости по всей номенклатуре без срока годности, второе для получения остатков по номенклатуре в разрезе сроков годности.

Получается, данный ПУС позволяет нам не заполнять обязательный ресурс "Сумма" и не хранить по нему остатки (и движения вообще) по опр.субконто.

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

UPD: Вопрос решён, нашёл ответ ранее. Действительно, если я буду списывать суммы, как предлагал выше без ПУСа, то у меня по номенклатуре всё будет ОК, а вот по срокам годности останутся висеть хвосты. Опять я гавно :(
Добрый день! Подскажите, пожалуйста, в задаче по БУ нужен признак учета субконто "Суммовой потому, что "себестоимость определяется как средняя по товару по всем срокам годности"? Если бы и в разрезе сроков годности было бы, то не нужен был бы?

Да.
Надо "убить" остатки по сроку годности по сумме. Иначе в таблице остатков по одному СрокуГ будет +10 руб и по другому СрокуГ -10 руб. Не закроется в ноль.
UPD2: твою ж мать, там даже специально чёрным по-белому написано:
Цитировать
Сумма для срока годности должна получаться расчетным образом как средняя цена по данному товару умноженная на количество с данным сроком. Средняя цена рассчитывается как общая сумма данного товара поделенная на общее количество данного товара
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 18, 2017, 12:22:00 pm
И ещё в догонку вопрос - обязательно ли в задаче с регламентным заданием создавать обработку для выполнения заданий?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 18, 2017, 03:10:57 pm
Доброго времени суток, CeHbKA !

В билете № 1 я не увидел ничего про регламентные задания.

Но раз уж спросил, попробую ответить.

Дмитрий Гончаров в своем курсе по подготовке к экзамену 1С Специалист по платформе
обращает внимание на 2 момента при работе с регламентными заданиями:
1. Регламентные задания "комфортно" работают только в клиент-серверном варианте.
    В файловом варианте, по идее, надо писать обработку для инициализации менеджера заданий.
    Но на экзамене этим заниматься не нужно.
2. В конфигураторе надо обязательно в свойствах регламентного задания поставить флаг "Предопределенное",
    иначе в режиме 1С Предприятие никакого регламентного задания не создастся.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 18, 2017, 03:15:03 pm
freemaestro, спасибо вам большое за помощь
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pumba от Март 19, 2017, 08:49:13 am
Всем добрый день!
Мое первое сообщение на данном форуме и первая решенная задача по ОУ, огромная просьба покритиковать.
Постарался учесть всё: никаких запросов в цикле, лишних очисток движений, проблема копеек, проведение по остаткам по новой методике, по партиям - по старой.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 19, 2017, 11:46:37 am
...проведение по остаткам по новой методике, по партиям - по старой.
-1 балл. Использование неэффективной методики контроля остатков (вы используете новую, а надо старую).
Дополнительные регистры и ресурсы в существующих регистрах ради новой методики на экз не приветствуются.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pumba от Март 19, 2017, 01:56:14 pm
...проведение по остаткам по новой методике, по партиям - по старой.
-1 балл. Использование неэффективной методики контроля остатков (вы используете новую, а надо старую).
Дополнительные регистры и ресурсы в существующих регистрах ради новой методики на экз не приветствуются.
Спасибо за ответ, но я тогда вообще ничего не понимаю... Прочитал всю тему раз 5, просмотрел все решения, вроде же в итоге сошлись на том варианте, как я написал. За основу брал, если не ошибаюсь, как раз Ваше решение с первых страниц темы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 19, 2017, 02:57:48 pm
В данном случае, в регистр по остаткам товаров нужна новая методика, т.к. нам не нужно ничего считать(себестоимость), в случае же с партиями товаров нужно знать по какой себестоимости нужно списать, т.е. необходима старая методика..., на мой взгляд ход мысли верный...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 19, 2017, 06:56:18 pm
...проведение по остаткам по новой методике, по партиям - по старой.
-1 балл. Использование неэффективной методики контроля остатков (вы используете новую, а надо старую).
Дополнительные регистры и ресурсы в существующих регистрах ради новой методики на экз не приветствуются.

Текст задания:
Цитировать
При проведении документа «Расходная накладная» необходимо производить списание товара со склада. В том случае, когда товара не хватает, документ проводиться не должен.
и
Цитировать
Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел. Предположим, для метода списания FIFO первое поступление портсигара произошло на склад «Основной» документом «Приходная накладная №1», а потом на склад «Транзитный» документом «Приходная накладная №2». В этом случае при продаже товара со склада «Транзитный» в первую очередь должна быть списана себестоимость портсигара по документу «Приходная накладная №1», так как она пришла раньше

Почему тут нужна только старая митодига?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 19, 2017, 07:44:50 pm
Доброго времени суток, Pumba!

посмотрел твоё решение - логика правильная,
2 регистра накопления, всё как положено,
сначала пишем, потом читаем, проверяем остатки,
если хватает - тогда уже списываем по партиям и т.д.

Хотел спросить у тебя - зачем выставлять свойство "БлокироватьДляИзменения"
в "Истина" для регистра "Партии" ?
Ты же его блокируешь через объект "БлокировкаДанных" ?

Вот фрагмент твоего кода:

   Движения.ПартииНоменклатуры.Записывать = Истина;
   ///Записываем пустой набор, чтобы если документ оперативно перепроводится в остатки не попали его же движения
   ///Блокируем для чтения по тем измерениям, по которым были движения
   Движения.ПартииНоменклатуры.БлокироватьДляИзменения  = Истина;
   Движения.ПартииНоменклатуры.Записать();
   
   ///Накладываем блокировку на чтение на регистр по номенклатуре из ТЧ
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПартииНоменклатуры");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
   ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
   Блокировка.Заблокировать();

Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 19, 2017, 08:17:41 pm

Хотел спросить у тебя - зачем выставлять свойство "БлокироватьДляИзменения"
в "Истина" для регистра "Партии" ?
Ты же его блокируешь через объект "БлокировкаДанных" ?


Есть предположение: Когда чистишь старые записи в регистре, необходимо их заблокировать, что бы в случае отмены транзакции не оказалось что их кто-то списал во время попытки проведения дока...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 19, 2017, 08:41:55 pm
...проведение по остаткам по новой методике, по партиям - по старой.
-1 балл. Использование неэффективной методики контроля остатков (вы используете новую, а надо старую).
Дополнительные регистры и ресурсы в существующих регистрах ради новой методики на экз не приветствуются.
Спасибо за ответ, но я тогда вообще ничего не понимаю... Прочитал всю тему раз 5, просмотрел все решения, вроде же в итоге сошлись на том варианте, как я написал. За основу брал, если не ошибаюсь, как раз Ваше решение с первых страниц темы.
Я при подготовке делал неправильно - всё подгонял под новую методику - именно так, как сейчас делаете вы. На экз мне повезло - попалась одна из редких задач, в которых ничего рассчитывать не надо было, т.е. однозначно новая. Позже был целый ряд отзывов о замечаниях за использование новой методики там, где для проведения требуется сначала, например, получить себестоимость.

Всем, кто писал дальше - нет новой и старой методик в одной задаче. Остатки мы контролируем один раз - как контролируем, такая методика и есть. Новая только тогда, когда сразу записали данные, и либо отказ, либо провели - и обработка завершена.
Если записать все данные сразу нельзя, а надо предварительно получить из базы дополнительную информацию (т.о. у вас будет 2 обращения к базе!!!), то не создаем новых регистров ради новой методики, а получаем данные и используем старую методику.

В последнем предложении в формулировке могут быть погрешности  :), но суть верна.

ПС. Пофиг на то, на чем сошлись при обсуждении. Имеет значение, только то, что не принимают экзаменаторы (и это как раз новая методика, где нужны расчеты/доп. регистры/доп. ресурсы; и старая там, где можно сразу записать данные в регистры).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 19, 2017, 08:52:52 pm
ППС. Еще более конкретный признак использования новой/старой методик в неоднозначных ситуациях. Как только у вас получается 2 методики - новую в топку.  :D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 19, 2017, 09:15:31 pm
ППС. Еще более конкретный признак использования новой/старой методик в неоднозначных ситуациях. Как только у вас получается 2 методики - новую в топку.  :D
спасибо за разъяснения
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pumba от Март 19, 2017, 09:40:21 pm
Доброго времени суток, Pumba!

посмотрел твоё решение - логика правильная,
2 регистра накопления, всё как положено,
сначала пишем, потом читаем, проверяем остатки,
если хватает - тогда уже списываем по партиям и т.д.

Хотел спросить у тебя - зачем выставлять свойство "БлокироватьДляИзменения"
в "Истина" для регистра "Партии" ?
Ты же его блокируешь через объект "БлокировкаДанных" ?

Вот фрагмент твоего кода:

   Движения.ПартииНоменклатуры.Записывать = Истина;
   ///Записываем пустой набор, чтобы если документ оперативно перепроводится в остатки не попали его же движения
   ///Блокируем для чтения по тем измерениям, по которым были движения
   Движения.ПартииНоменклатуры.БлокироватьДляИзменения  = Истина;
   Движения.ПартииНоменклатуры.Записать();
   
   ///Накладываем блокировку на чтение на регистр по номенклатуре из ТЧ
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПартииНоменклатуры");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
   ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
   Блокировка.Заблокировать();

насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pumba от Март 19, 2017, 09:45:41 pm
ППС. Еще более конкретный признак использования новой/старой методик в неоднозначных ситуациях. Как только у вас получается 2 методики - новую в топку.  :D
Огромное спасибо, вот этим и предыдущим сообщением вы внесли полную ясность!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 19, 2017, 10:07:09 pm
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

Если мы, к примеру,  удалили из документа строку с какой-то номенклатурой и перепроводим документ,
то зачем нам блокировать записи в регистре по этой номенклатуре?

Ребята, кто что думает по этому вопросу ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 19, 2017, 11:29:41 pm
Вот мой вариант ОУ + БУ.
Комменты?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 20, 2017, 06:00:58 am
Вот мой вариант ОУ + БУ.
Комменты?
Вроде в оперативной части ошибка, но по txt не гадаю, выкладывай dt
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 20, 2017, 07:18:14 am
Вот мой вариант ОУ + БУ.
Комменты?
Вроде в оперативной части ошибка, но по txt не гадаю, выкладывай dt

Спасибо! Вот dt-шка
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pumba от Март 20, 2017, 08:35:18 am
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

Если мы, к примеру,  удалили из документа строку с какой-то номенклатурой и перепроводим документ,
то зачем нам блокировать записи в регистре по этой номенклатуре?

Ребята, кто что думает по этому вопросу ?
Блокировать надо, потому что иначе после нашей записи пустого набора эту номенклатуру может списать другой документ. И если наше проведение не состоится и транзакция откатится, то возникнет ошибка  - эта номенклатура будет списана двумя документами сразу.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 20, 2017, 08:47:06 am
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

Если мы, к примеру,  удалили из документа строку с какой-то номенклатурой и перепроводим документ,
то зачем нам блокировать записи в регистре по этой номенклатуре?

Ребята, кто что думает по этому вопросу ?
Блокировать надо, потому что иначе после нашей записи пустого набора эту номенклатуру может списать другой документ. И если наше проведение не состоится и транзакция откатится, то возникнет ошибка  - эта номенклатура будет списана двумя документами сразу.

Доброго времени суток, Pumba !

Логика в твоих словах определенная есть.
Я, к примеру, делал проведение, исходя из этой статьи Павла Чистова:
http://expert.chistov.pro/public/195591/

Там ничего про блокировку старых движений не нашел...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 21, 2017, 09:11:56 am

Вот мой вариант ОУ + БУ.
Комменты?


В бухгалтерской задаче заполнил свои данные, посмотрите dt файл, там поступило товара на 20.00, а  списалось 20.01 - одна копейка зависла, как так?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 21, 2017, 09:33:16 am

Вот мой вариант ОУ + БУ.
Комменты?


В бухгалтерской задаче заполнил свои данные, посмотрите dt файл, там поступило товара на 20.00, а  списалось 20.01 - одна копейка зависла, как так?

Спасибо!
Но это не моя конфа. Продублирую еще раз ОУ+БУ+ЧастичноСПР
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 21, 2017, 09:36:40 am
Вопрос, про БлокироватьДляИзменения и очистку движений обсуждался вот тут, может быть поможет кому:
http://forum.chistov.pro/index.php?topic=1999.msg22182#msg22182
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 21, 2017, 09:55:49 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 21, 2017, 10:12:04 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?
Да можно, это как вариант решения, к тому же избавился от условия в цикле проверки что это услуга, а именно обращение через точку:
Если Номенклатура.ЭтоУслуга Тогда продолжить КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 21, 2017, 10:52:57 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

Еще запросом можно сгруппировать строки, чтобы избавиться от дублей и в регистре было бы меньше записей.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 21, 2017, 11:02:53 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

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

В данном случае есть срок годности, поэтому группировка тут не особо поможет, а так, да, в том числе и для группировки.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 21, 2017, 11:11:14 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

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

В данном случае есть срок годности, поэтому группировка тут не особо поможет, а так, да, в том числе и для группировки.
А ещё можно просто ограничить выбор услуг через параметр выбора. Вообще говоря в приходной услуги не забиваются и не понятно нужно ли контролировать это в приходной, в расходной понятно что обязательно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 21, 2017, 11:53:50 am
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

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

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

Да, согласен, можно так, вариантов реализации несколько. Тут, наверное, вопрос удобства реализации.
Наверное, это как использовать каркасную конфигурацию или разрабатывать с нуля при экзаменации.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 23, 2017, 02:01:07 pm
Мой вариант решения, прошу проверить - прокомментировать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 23, 2017, 02:12:16 pm
на 8.3.9 - не работает...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 23, 2017, 02:21:04 pm
разрабатывалось на 8.3.10, поставил режим совместимости 8.3.9
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 23, 2017, 03:21:41 pm

1. БУ: Индексы таб.списокНоменклатуры

2. Расходная БУ: нет смысла группировать ТЧ, т.к.  присутствует "Номер строки" и поэтому таблица не будет сгруппирована, лучше взять мин или макс значение, я так понимаю  что это для  указания строки, но и это не нужно, т.к. в задаче нет необходимости показывать позицию.
Я: Есть ли необходимость использования конструкции "СообщитьПользователю" для указания позиции ошибки?
Гончаров: Нет, если в задаче не указано обратное.

3.  ОУ: В запросе не указан метод сортировки (не сработает стрзаменить)
4.  ОУ: Не знаю, на сколько верно не использовать постпроверку по регистру "Себестоимость"


Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 24, 2017, 07:21:45 am

1. БУ: Индексы таб.списокНоменклатуры

2. Расходная БУ: нет смысла группировать ТЧ, т.к.  присутствует "Номер строки" и поэтому таблица не будет сгруппирована, лучше взять мин или макс значение, я так понимаю  что это для  указания строки, но и это не нужно, т.к. в задаче нет необходимости показывать позицию.
Я: Есть ли необходимость использования конструкции "СообщитьПользователю" для указания позиции ошибки?
Гончаров: Нет, если в задаче не указано обратное.

3.  ОУ: В запросе не указан метод сортировки (не сработает стрзаменить)
4.  ОУ: Не знаю, на сколько верно не использовать постпроверку по регистру "Себестоимость"

Большое спасибо за ценные комментарии!
1. Индексы! как я мог забыть про индексы!
2. ну да ну да всё так.
3. Точна! :o исправил.
4. Не понял что за постпроверка и зачем она нужна?
Проверял так:
приход 3 шт по 6, 6 и 8 рублей;
расход 3 штуки  одним документом себестоимость списывается правильно 20;
три расходника по 1 штуке - списывается 6,67 6,67 и 6,66 соответственно, в сумме тоже 20 - все правильно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 24, 2017, 07:52:55 am
4. я так понимаю что в этой задачи 2 методики: 1я- читаем-пишем - старая методика(списание себестоимости), 2я- пишем-читаем - новая методика(списание остатков). Хотя выше посты есть что этого не нужно делать, у меня всеравно есть сомнения.  Думаю что уточню этот момент у Белоусова. Но мне кажется, что проверку нужно делать, т.к. нужно показать что умеешь работать с блокировками. Но это мое мнение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 24, 2017, 07:55:53 am
4.  ОУ: Не знаю, на сколько верно не использовать постпроверку по регистру "Себестоимость"

/quote]
Перепутал, по регистру остатки
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 24, 2017, 08:00:31 am
Метод списания себестоимости - так и должно быть: читаем, вычисляем среднюю, избавляемся от копеек пишем, установив блокировку перед этим. Списание остатков: пишем, с блокироватьдляизменения, потом проверяем не залезли ли в минус. Ну как-то так
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 24, 2017, 09:38:25 am
Метод списания себестоимости - так и должно быть: читаем, вычисляем среднюю, избавляемся от копеек пишем, установив блокировку перед этим. Списание остатков: пишем, с блокироватьдляизменения, потом проверяем не залезли ли в минус. Ну как-то так
Это Белоусов сказал?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 24, 2017, 10:27:26 am
Метод списания себестоимости - так и должно быть: читаем, вычисляем среднюю, избавляемся от копеек пишем, установив блокировку перед этим. Списание остатков: пишем, с блокироватьдляизменения, потом проверяем не залезли ли в минус. Ну как-то так
Это Белоусов сказал?
Нет, это мое мнение. Этот момент я уточню у него.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 24, 2017, 10:43:58 am
Этот момент я уточню у него.
Вы собираетесь на его курсы?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 24, 2017, 11:19:07 am
Этот момент я уточню у него.
Вы собираетесь на его курсы?
Да
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 24, 2017, 11:51:20 am
Сорри, кажется я всех слегка обманываю по поводу методик проведения. Но это касается только задачи ОУ из 1 билета.
Уже много забыл, и суть этой задачи подзабыл (сейчас перечитал).
Тут же 2-й регистр создается не ради новой методики, а из-за того, что себестоимость и количество учитываются в разных разрезах. Т.е. 2 регистра по-любому. И действительно похоже на новую методику контроля остатков, а уже затем - расчет себестоимости по 2-му регистру.

В тему. Вот что писали по поводу ответа Белоусова на тех же курсах на вопрос, имеющий отношение к данному: "БУ, ОУ: больная тема - количество регистров. Делайте сколько хотите, только вы должны обосновать почему у вас 2-3-4, а не один например. Плюсы, минусы: один хорошо, но есть ограничение по кол-ву измерений и индексированию. Два и больше плохо с точки зрения синхронизации, запись данных при проведении идет в несколько регистров и есть вероятность ошибиться в этом процессе. Грубо говоря, в один записали - в другой забыли, ну и прочее. Будьте готовы к вопросу: а можно обойтись одним регистром?.
Вот первоисточник (п. 6):
http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307

Но в данном случае одним регистром не обойтись, потому делаем новую (на том регистре себестоимость рассчитывать не надо).

Еще раз всем сорри за ввод в заблуждение. Думаю, что теперь у тех, кто читал внимательно, по вопросу методики списания вопросов не должно быть вообще.
Разве что xXeNoNx подкинет новую инфу по результатам посещения курсов.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 24, 2017, 12:58:29 pm
Сорри, кажется я всех слегка обманываю по поводу методик проведения. Но это касается только задачи ОУ из 1 билета.
Уже много забыл, и суть этой задачи подзабыл (сейчас перечитал).
Тут же 2-й регистр создается не ради новой методики, а из-за того, что себестоимость и количество учитываются в разных разрезах. Т.е. 2 регистра по-любому. И действительно похоже на новую методику контроля остатков, а уже затем - расчет себестоимости по 2-му регистру.

В тему. Вот что писали по поводу ответа Белоусова на тех же курсах на вопрос, имеющий отношение к данному: "БУ, ОУ: больная тема - количество регистров. Делайте сколько хотите, только вы должны обосновать почему у вас 2-3-4, а не один например. Плюсы, минусы: один хорошо, но есть ограничение по кол-ву измерений и индексированию. Два и больше плохо с точки зрения синхронизации, запись данных при проведении идет в несколько регистров и есть вероятность ошибиться в этом процессе. Грубо говоря, в один записали - в другой забыли, ну и прочее. Будьте готовы к вопросу: а можно обойтись одним регистром?.
Вот первоисточник (п. 6):
http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307

Но в данном случае одним регистром не обойтись, потому делаем новую (на том регистре себестоимость рассчитывать не надо).

Еще раз всем сорри за ввод в заблуждение. Думаю, что теперь у тех, кто читал внимательно, по вопросу методики списания вопросов не должно быть вообще.
Разве что xXeNoNx подкинет новую инфу по результатам посещения курсов.  :)
Вот те раз, почему же в решении SAE он сделал т.к. вы до этого говорили?
Т.е. там 2 регистра, один на количество, один на стоимость. Списание он делает по старой методике и в одном запросе считывает остатки по количеству и левым соединением стоимость подцепляет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 24, 2017, 01:11:36 pm
совсем запутали  >:(
Мне кажется, что для первого регистра(с количеством который) используем новую методику. (БлокироватьДляИзменения=Истина)
А для регистра с себестоимостью используем старую методику.(Объект БлокировкаДанных)
Разве нет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CyberGirl от Март 24, 2017, 01:40:30 pm
Да, в этой задаче нужно два регистра
1. ОстаткиНоменклатуры изм. Номенклатура, Склад рес. К-во Новая методика!
2. Себестоимость изм. Номенклатура, Партия рес. К-во, Сумма Старая методика.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 24, 2017, 04:10:57 pm
Вот те раз, почему же в решении SAE он сделал т.к. вы до этого говорили?
Т.е. там 2 регистра, один на количество, один на стоимость. Списание он делает по старой методике и в одном запросе считывает остатки по количеству и левым соединением стоимость подцепляет.
Думаю, тоже норм.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Март 27, 2017, 07:10:19 am
Всем доброго дня! У меня проблема с выполнением бух.задачи - когда провожу Приходную накладную с одним товаром в виртуальную таблицу "УправленческийОстатки" на счет "Товары" создается одна запись. Хотя в плане счетов сделал "Признак учета субконто" суммовой и назначил его на Субконто1 "Номенклатура". За образец брал решение SAE, у него делается две записи в виртуальную таблицу - сумма падает на Субконто1 Номенклатура, а Количество на субконто2 "Серию". Подскажите, что может быть не так в моем решении? На всякий случай прикреплю выгрузку свою.

Нашел, как обойти этот глюк.
Взял каркасную конфу, и перед настройкой плана счетов, регистра бух поставил в конфигурации режим совместимости 8.3.3.
После этого движения начали делаться верно, отрабатывает "Признак учета субконто".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 27, 2017, 08:35:57 am
Делаю дополнительное задание билета 1. Отображение результатов расчета в форме начисления зарплаты  с целью редактирования. Сделал как здесь http://forum.chistov.pro/index.php?topic=3953.0. Но потом подумал и немножко упростил. Почему так делать не стоит?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitri-Dmitrich от Март 27, 2017, 10:01:17 am
Делаю дополнительное задание билета 1. Отображение результатов расчета в форме начисления зарплаты  с целью редактирования. Сделал как здесь http://forum.chistov.pro/index.php?topic=3953.0. Но потом подумал и немножко упростил. Почему так делать не стоит?
Не могу открыть Вашу выгрузку чтобы посмотреть) Поставьте режим совместимости 8.3.9
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 27, 2017, 11:02:02 am
8.3.9
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitri-Dmitrich от Март 27, 2017, 11:16:22 am
8.3.9
Посмотрел Ваше решение, вот что выявил: в условии сказано, что кнопка "Рассчитать"сделана с целью редактирования результатов расчета. У Вас же, при проведении документа, независимо от того что находится в документе, в регистр попадают результаты авторасчета. То есть если пользователя не устроил расчет зарплаты, он мог его откорректировать, а он этого не может сделать. Я думаю нужно сделать, чтобы при проведении записывались результаты из формы, а при нажатии "рассчитать" просто рассчитывались записи и не попадали в регистр (для этого и нужна транзакция).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 27, 2017, 11:47:22 am
8.3.9
Посмотрел Ваше решение, вот что выявил: в условии сказано, что кнопка "Рассчитать"сделана с целью редактирования результатов расчета. У Вас же, при проведении документа, независимо от того что находится в документе, в регистр попадают результаты авторасчета. То есть если пользователя не устроил расчет зарплаты, он мог его откорректировать, а он этого не может сделать. Я думаю нужно сделать, чтобы при проведении записывались результаты из формы, а при нажатии "рассчитать" просто рассчитывались записи и не попадали в регистр (для этого и нужна транзакция).



Ну можно и в транзакцию обернуть не суть важно.
Изначально функция рассчитать в модуле формы такая:

Процедура Рассчитать() Экспорт

НачатьТранзакцию();

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

Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
             | НачислениеЗарплатыОсновныеНачисления.Сотрудник,
             | НачислениеЗарплатыОсновныеНачисления.Подразделение,
             | НачислениеЗарплатыОсновныеНачисления.ВидРасчета,
             | НачислениеЗарплатыОсновныеНачисления.ДатаНачала КАК ПериодДействияНачало,
             | КОНЕЦПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаОкончания, ДЕНЬ) КАК ПериодДействияКонец,
             | НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.ДатаНачала, МЕСЯЦ) КАК НачалоРасчетногоПериода,
             | НАЧАЛОПЕРИОДА(НачислениеЗарплатыОсновныеНачисления.Ссылка.Дата, МЕСЯЦ) КАК ПериодРегистрации,
             | НачислениеЗарплатыОсновныеНачисления.График
             |ПОМЕСТИТЬ ТабЧастьОклад
             |ИЗ
             | Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
             |ГДЕ
             | НачислениеЗарплатыОсновныеНачисления.ВидРасчета = &ВидРасчетаОклад
             | И НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка
             |;
             |
             |////////////////////////////////////////////////////////////////////////////////
             |ВЫБРАТЬ
             | ТабЧастьОкладСМаксПериодомОклада.Сотрудник,
             | ТабЧастьОкладСМаксПериодомОклада.Подразделение,
             | ТабЧастьОкладСМаксПериодомОклада.ВидРасчета,
             | ТабЧастьОкладСМаксПериодомОклада.ПериодДействияНачало,
             | ТабЧастьОкладСМаксПериодомОклада.ПериодДействияКонец,
             | ТабЧастьОкладСМаксПериодомОклада.ПериодРегистрации,
             | ЕСТЬNULL(СведенияОСотрудниках.Оклад, 0) КАК Параметр,
             | ТабЧастьОкладСМаксПериодомОклада.График
             |ИЗ
             | (ВЫБРАТЬ
             | ТабЧастьОклад.Сотрудник КАК Сотрудник,
             | ТабЧастьОклад.Подразделение КАК Подразделение,
             | ТабЧастьОклад.ВидРасчета КАК ВидРасчета,
             | ТабЧастьОклад.ПериодДействияНачало КАК ПериодДействияНачало,
             | ТабЧастьОклад.ПериодДействияКонец КАК ПериодДействияКонец,
             | ТабЧастьОклад.НачалоРасчетногоПериода КАК НачалоРасчетногоПериода,
             | ТабЧастьОклад.ПериодРегистрации КАК ПериодРегистрации,
             | МАКСИМУМ(СведенияОСотрудниках.Период) КАК МаксимальныйПериод,
             | ТабЧастьОклад.График КАК График
             | ИЗ
             | ТабЧастьОклад КАК ТабЧастьОклад
             | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
             | ПО ТабЧастьОклад.Сотрудник = СведенияОСотрудниках.Сотрудник
             | И ТабЧастьОклад.Подразделение = СведенияОСотрудниках.Подразделение
             | И ТабЧастьОклад.НачалоРасчетногоПериода >= СведенияОСотрудниках.Период
             |
             | СГРУППИРОВАТЬ ПО
             | ТабЧастьОклад.Сотрудник,
             | ТабЧастьОклад.Подразделение,
             | ТабЧастьОклад.ПериодДействияКонец,
             | ТабЧастьОклад.НачалоРасчетногоПериода,
             | ТабЧастьОклад.ПериодРегистрации,
             | ТабЧастьОклад.ПериодДействияНачало,
             | ТабЧастьОклад.ВидРасчета,
             | ТабЧастьОклад.График) КАК ТабЧастьОкладСМаксПериодомОклада
             | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
             | ПО ТабЧастьОкладСМаксПериодомОклада.Сотрудник = СведенияОСотрудниках.Сотрудник
             | И ТабЧастьОкладСМаксПериодомОклада.Подразделение = СведенияОСотрудниках.Подразделение
             | И ТабЧастьОкладСМаксПериодомОклада.МаксимальныйПериод = СведенияОСотрудниках.Период
             |;
             |
             |////////////////////////////////////////////////////////////////////////////////
             |ВЫБРАТЬ
             | ТабЧастьПремияСРассчитаннымСтажом.Сотрудник,
             | ТабЧастьПремияСРассчитаннымСтажом.Подразделение,
             | ТабЧастьПремияСРассчитаннымСтажом.ВидРасчета,
             | ТабЧастьПремияСРассчитаннымСтажом.ПериодРегистрации,
             | ЕСТЬNULL(ПроцентыПремии.Процент, 0) КАК Параметр,
             | ТабЧастьПремияСРассчитаннымСтажом.БазовыйПериодНачало КАК БазовыйПериодНачало,
             | ТабЧастьПремияСРассчитаннымСтажом.БазовыйПериодКонец КАК БазовыйПериодКонец,
             | ТабЧастьПремияСРассчитаннымСтажом.Стаж КАК Стаж
             |ИЗ
             | (ВЫБРАТЬ
             | НачислениеЗарплатыДопНачисления.Сотрудник КАК Сотрудник,
             | НачислениеЗарплатыДопНачисления.Подразделение КАК Подразделение,
             | НачислениеЗарплатыДопНачисления.ВидРасчета КАК ВидРасчета,
             | НАЧАЛОПЕРИОДА(НачислениеЗарплатыДопНачисления.МесяцНачисления, МЕСЯЦ) КАК БазовыйПериодНачало,
             | КОНЕЦПЕРИОДА(НачислениеЗарплатыДопНачисления.МесяцНачисления, МЕСЯЦ) КАК БазовыйПериодКонец,
             | РАЗНОСТЬДАТ(НачислениеЗарплатыДопНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДопНачисления.Сотрудник.НачальныйСтаж КАК Стаж,
             | НАЧАЛОПЕРИОДА(НачислениеЗарплатыДопНачисления.Ссылка.Дата, МЕСЯЦ) КАК ПериодРегистрации
             | ИЗ
             | Документ.НачислениеЗарплаты.ДопНачисления КАК НачислениеЗарплатыДопНачисления
             | ГДЕ
             | НачислениеЗарплатыДопНачисления.Ссылка = &Ссылка
             | И НачислениеЗарплатыДопНачисления.ВидРасчета = &ВидРасчетаПремия) КАК ТабЧастьПремияСРассчитаннымСтажом
             | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцентыПремии КАК ПроцентыПремии
             | ПО ТабЧастьПремияСРассчитаннымСтажом.Стаж >= ПроцентыПремии.СтажОт
             | И ТабЧастьПремияСРассчитаннымСтажом.Стаж < ПроцентыПремии.СтажДо";

Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("ВидРасчетаОклад", ПланыВидовРасчета.ОсновныеНачисления.Оклад);
Запрос.УстановитьПараметр("ВидРасчетаПремия", ПланыВидовРасчета.ДополнительныеНачисления.Премия);
Запрос.УстановитьПараметр("ПериодРегистрации", НачалоМесяца(Дата));

Результаты=Запрос.ВыполнитьПакет();

Выборка = Результаты [1].Выбрать();
Пока Выборка.Следующий() Цикл
Движение=Движения.ОсновныеНачисления.Добавить();
ЗаполнитьЗначенияСвойств(Движение, Выборка);
КонецЦикла;

Выборка=Результаты[2].Выбрать();
Пока Выборка.Следующий() Цикл
Движение=Движения.ДопНачисления.Добавить();
ЗаполнитьЗначенияСвойств(Движение, Выборка);
КонецЦикла;

Движения.Записать();

Расчет.РассчитатьНачисления(Ссылка, ОсновныеНачисления, ДопНачисления);   

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

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

ЗафиксироватьТранзакцию();   

КонецПроцедуры



то что при расчете нет записей в регистре обеспечивается только строками
Движения.ОсновныеНачисления.Очистить();
Движения.ОсновныеНачисления.Записать();

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


у меня тоже при расчете в регистр ничего не попадает, только при проведении.

Мне непонятно зачем здесь этот гиганский запрос(который уж точно не успеешь сделать) который по сути делает то же самое что уже есть и вообще не нужен, достаточно вызвать    ОбработкаПроведения();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Март 27, 2017, 03:41:59 pm
А как у Вас обрабатывается вот этот момент: "В одном документе могут быть данные за разные расчетные периоды"?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Март 28, 2017, 06:32:16 am
все норм можно начисления за текущий, и за прошлый, и позапрошлый месяцы делать
Название: Re: Билет 1. Спец по платформе V8
Отправлено: POW от Март 28, 2017, 06:27:09 pm
А как у Вас обрабатывается вот этот момент: "В одном документе могут быть данные за разные расчетные периоды"?
все норм можно начисления за текущий, и за прошлый, и позапрошлый месяцы делать
Судя по сообщению от уже сдавшего ITshnik, то нужно в табличную часть Начисления добавить Реквизит "ПериодРегистрации".
http://forum.chistov.pro/index.php?topic=993.msg50586#msg50586
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 28, 2017, 09:00:01 pm
Судя по сообщению от уже сдавшего ITshnik, то нужно в табличную часть Начисления добавить Реквизит "ПериодРегистрации".
Так делать точно не "нужно". Но, поскольку экзаменаторы принимают, можно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CyberGirl от Март 29, 2017, 10:03:08 am
Ребят, ну что за проблема с этим "данные за разные расчетные периоды". Уже множество раз писалось об этом. Период регистрации - это период, в котором делаются начисления. Не нужно его выносить в ТЧ. В ТЧ у нас уже есть ДатаНачала и ДатаОкончания - это будет Период Действия - период, за который выполняются начисления и вот он-то и может быть разными месяцами. Т.е. начисляем в марте зарплату за январь и февраль, например. Период регистрации - март, период действия - январь, февраль. Все, что нужно в связи с этим условием - обработать получение оклада на начало расчетного периода, т.к. если могут быть разные расчетные периоды, срез последних (для РС Сведения о сотрудниках, где хранится оклад) не подойдет; а также для премии указаать месяц начисления в ТЧ - от него будем считать ПериодДействияНачало и ПериодДействияКонец. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: CeHbKA от Март 29, 2017, 12:12:59 pm
Судя по сообщению от уже сдавшего ITshnik, то нужно в табличную часть Начисления добавить Реквизит "ПериодРегистрации".
Так делать точно не "нужно". Но, поскольку экзаменаторы принимают, можно.
проверьте, пожалуйста, свою почту
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Март 31, 2017, 10:26:34 am
Ребят, ну что за проблема с этим "данные за разные расчетные периоды". Уже множество раз писалось об этом. Период регистрации - это период, в котором делаются начисления. Не нужно его выносить в ТЧ. В ТЧ у нас уже есть ДатаНачала и ДатаОкончания - это будет Период Действия - период, за который выполняются начисления и вот он-то и может быть разными месяцами. Т.е. начисляем в марте зарплату за январь и февраль, например. Период регистрации - март, период действия - январь, февраль. Все, что нужно в связи с этим условием - обработать получение оклада на начало расчетного периода, т.к. если могут быть разные расчетные периоды, срез последних (для РС Сведения о сотрудниках, где хранится оклад) не подойдет; а также для премии указаать месяц начисления в ТЧ - от него будем считать ПериодДействияНачало и ПериодДействияКонец. 

Доброго времени суток, CyberGirl !

  Хотел сделать ещё уточнение и дополнение по сказанному тобой.
Текст задачи:

  "Считать, что все данные вводятся только в
пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01, а запись
оклад: с 10.01 по 03.02 вводить нельзя. В одном документе могут быть данные за разные
расчетные периоды."

  Т.е. у нас получается, что в пределах одной строки в ТЧ не могут быть данные за разные месяца, т.е строки не надо разбивать при записи в регистр. А вот в разных строках могут быть данные за разные месяцы.
  А период регистрации - ты правильно говоришь, не надо в ТЧ выносить. Он у нас один - это тот месяц, когда мы делаем (регистрируем) начисления. Его можно получить как начало месяца на дату документа.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: YFred от Март 31, 2017, 04:15:37 pm
Добрый день,
Решил ОУ и БУ по первому билету.
Возник один вопрос. При формировании движений по БУ при продаже товара с разными сроками годности в 0. Могут оставаться копейки из-за округления. Я сделал проверку, но мне кажется не очень красиво получилось.
Прошу посмотреть мое решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Март 31, 2017, 10:51:05 pm
Добрый день,
Решил ОУ и БУ по первому билету.
Возник один вопрос. При формировании движений по БУ при продаже товара с разными сроками годности в 0. Могут оставаться копейки из-за округления.
Если делать правильно, копейки не останутся.
Если по документу в сумме по всем срокам годности списывается всё количество, надо сразу списывать всю сумму, примерно так:
СумСписать = ? (ВыбИт.КолДок = ВыбИт.КолОст, ВыбИт.СумОст,  КолОстСписать / ВыбИт.КолОст * ВыбИт.СумОст);
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Апрель 05, 2017, 10:49:35 pm
Кто знает, что означает условие в СПР:

"Документ в расчетном периоде может быть один (сразу для всех видов расчета), а может быть несколько (по
одному для каждого отдельного вида расчета)." ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 01:59:43 pm
Просьба посмотреть и прокомментировать моё решение билета (решены все задачи). В решениях я писал пояснения и комментарии. Постарался собрать описание всех основных нюансов, на которые обращают внимание экзаменаторы, со слов тех, кто уже сдавал и со слов некоторых преподавателей.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 02:38:30 pm
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.Очистить();
Движения.Себестоимость.БлокироватьДляИзменения = Истина; // Отключаем разделитель итогов, блокировка набора записи осуществится непосредственно в момент записи.
Движения.Себестоимость.Записать();
Движения.Себестоимость.Записывать = Истина;

Что означает данная конструкция?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 02:43:56 pm
Если имеется ввиду блокирование записей регистра по данному регистратору, что бы кто-нить не списал, пока мы будем пытаться перепроводить документ
Движения.Себестоимость.Очистить(); - нет смысла, если есть Движения.Себестоимость.Записать();
нет смысла  два раза устанавливать Движения.Себестоимость.Записывать = Истина; - т.к. Движения.Себестоимость.Записать() - не сбрасывает этот флаг.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 02:59:18 pm
Если имеется ввиду блокирование записей регистра по данному регистратору, что бы кто-нить не списал, пока мы будем пытаться перепроводить документ
Движения.Себестоимость.Очистить(); - нет смысла, если есть Движения.Себестоимость.Записать();
нет смысла  два раза устанавливать Движения.Себестоимость.Записывать = Истина; - т.к. Движения.Себестоимость.Записать() - не сбрасывает этот флаг.

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

Движения.Себестоимость.Записывать = Истина; - согласен, это лишнее. Это хвосты из-за копипасты. Спасибо за замечание.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:02:18 pm
.Очистить - лишнее, т.к.  .Записать, записывает пустой набор записей...
Достаточно:
Движения.Себестоимость.БлокироватьДляИзменения = Истина; // Отключаем разделитель итогов, блокировка набора записи осуществится непосредственно в момент записи.
Движения.Себестоимость.Записать();
Движения.Себестоимость.Записывать = Истина;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:05:03 pm
Не всегда расположение измерений в регистре накопления будут: номенклатура, склад(в данном случае). Нужно в первую очередь смотреть соединения, потом отчеты, если есть отбор по измерению(в отчете), например, склад, то склад должен быть первым из измерений, с учетом того что по номенклатуре нет соединений. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:06:56 pm
.Очистить - лишнее, т.к.  .Записать, записывает пустой набор записей...
Достаточно:
Движения.Себестоимость.БлокироватьДляИзменения = Истина; // Отключаем разделитель итогов, блокировка набора записи осуществится непосредственно в момент записи.
Движения.Себестоимость.Записать();
Движения.Себестоимость.Записывать = Истина;

Очистить() было поставлено осмысленно, так как это защита от работы в режиме обычных форм и выноса движений в форму. В этих случаях будут записи не пустые. Очистка дает гарантированную очистку, тем более, что нагрузку дополнительную на систему это не даёт. То есть это не более чем "защита" на всякий случай и для управляемых форм это, действительно, не всегда нужно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:10:47 pm
На экзамене упоминание обычных форм происходит в контексте тех обработок, которые включены в каркасную, не более. Т.е. знать как их подключить в УФ.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:13:16 pm
Не всегда расположение измерений в регистре накопления будут: номенклатура, склад(в данном случае). Нужно в первую очередь смотреть соединения, потом отчеты, если есть отбор по измерению(в отчете), например, склад, то склад должен быть первым из измерений, с учетом того что по номенклатуре нет соединений.

"ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Номенклатура.Представление КАК Номенклатура, // Необходимо помнить, что разыменовывание при обходе результата запроса делает еще запросы.
| -ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток // Инвертируем знак сугубо для отображения в сообщениях.
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| ВТ_Документ.Номенклатура
| ИЗ
| ВТ_Документ КАК ВТ_Документ)
| И Склад = &Склад) КАК ОстаткиНоменклатурыОстатки  // Это эффективнее, чем (Номенклатура, Склад) В (..., ...), так как нет цикла в цикле на уровне СУБД.
|ГДЕ
| ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0";

Честно говоря, не вижу разницы в данном конкретном случае в перестановке измерений. Пропуска в индексах нет, эффективность будет одинаковая.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:14:22 pm
На экзамене упоминание обычных форм происходит в контексте тех обработок, которые включены в каркасную, не более. Т.е. знать как их подключить в УФ.

Замечание учел, но ошибки тут не вижу. Дело вкуса и на оценку это повлиять не может, так как данная конструкция не влияет на эффективность.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:21:13 pm
не ошибки, а инфа, которую недавно получил...
насчет расположения реквизитов, в данной задаче, не принципиально.
Отчеты: Есть предположение что шапка отчета должна соответствовать условию задачи

Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:32:16 pm
не ошибки, а инфа, которую недавно получил...
насчет расположения реквизитов, в данной задаче, не принципиально.
Отчеты: Есть предположение что шапка отчета должна соответствовать условию задачи

Возможно. Но, по результату первой попытки сдать экзамен понял, что времени на рюшечки и красоту на экзамене банально нет. Мне не хватило 5 часов, причем решение задач я знал. Оказалось, что "привычка" делать все на пустой базе, а не каркасной, очень даже влияет на скорость.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:37:08 pm
не ошибки, а инфа, которую недавно получил...
насчет расположения реквизитов, в данной задаче, не принципиально.
Отчеты: Есть предположение что шапка отчета должна соответствовать условию задачи

Возможно. Но, по результату первой попытки сдать экзамен понял, что времени на рюшечки и красоту на экзамене банально нет. Мне не хватило 5 часов, причем решение задач я знал. Оказалось, что "привычка" делать все на пустой базе, а не каркасной, очень даже влияет на скорость.

На пустой базе делать не рекомендуется, если попадешь к Белоусову, то может завернуть.., т.к. он говорит что это ошибка, хотя Гончаров сказал что не ошибка... Лучше уж на каркасной...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:43:34 pm
не ошибки, а инфа, которую недавно получил...
насчет расположения реквизитов, в данной задаче, не принципиально.
Отчеты: Есть предположение что шапка отчета должна соответствовать условию задачи

Возможно. Но, по результату первой попытки сдать экзамен понял, что времени на рюшечки и красоту на экзамене банально нет. Мне не хватило 5 часов, причем решение задач я знал. Оказалось, что "привычка" делать все на пустой базе, а не каркасной, очень даже влияет на скорость.

На пустой базе делать не рекомендуется, если попадешь к Белоусову, то может завернуть.., т.к. он говорит что это ошибка, хотя Гончаров сказал что не ошибка... Лучше уж на каркасной...

Спасибо за инфу. На дистанционной сдаче (мой случай) теперь в принципе нет возможности сдавать на пустой, только каркасная, что очень сильно влияет на время, если нет привычки. Так что тем, кто готовится к дистанционке, рекомендую учесть этот фактор.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 03:48:32 pm
До сих пор не могу понять, надо ли автоматизировать в СПР подбор оклада и премии или нет. Чистов упорно продолжает утверждать, что оклад, например, не требуется автоматизировать и достаточно только создать регистр сведений. Сюда же попадает и премия из задачи этого билета. Никак не могу найти ответа, надо или не надо автоматизировать, так как это очень много лишнего времени съедает. В текущей .dt, что я выложил на проверку, оклад и премия автоматизированы, поэтому и трёхэтажные запросы, которые никак не проверяют знание механизма СПР... отсюда и сомнения в их необходимости. Есть ли у кого ответ на данный вопрос, подтвержденный экзаменами?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 03:57:21 pm
До сих пор не могу понять, надо ли автоматизировать в СПР подбор оклада и премии или нет. Чистов упорно продолжает утверждать, что оклад, например, не требуется автоматизировать и достаточно только создать регистр сведений. Сюда же попадает и премия из задачи этого билета. Никак не могу найти ответа, надо или не надо автоматизировать, так как это очень много лишнего времени съедает. В текущей .dt, что я выложил на проверку, оклад и премия автоматизированы, поэтому и трёхэтажные запросы, которые никак не проверяют знание механизма СПР... отсюда и сомнения в их необходимости. Есть ли у кого ответ на данный вопрос, подтвержденный экзаменами?

например, не требуется автоматизировать и достаточно только создать регистр сведений - Что конкретно тут автоматизировать?
В СПР виды расчета выбираются в таб части, что там за автоматизация?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 04:08:34 pm
Оклад, не зависит по базе  ни от чего, в некоторых задачах он просто задается как константа, в некоторых хранится история, т.е. нужен регистр сведений с значениями окладов. Какая там автоматизация?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Апрель 18, 2017, 04:24:37 pm
До сих пор не могу понять, надо ли автоматизировать в СПР подбор оклада и премии или нет.
В СПР-1 сказано "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода." Думаю, надо автоматизировать его получение - указания на то, что пользователь вводит и контролирует его ввод сам, нет, следовательно, разработчик должен обеспечить соблюдение данного условия.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 05:38:26 pm
До сих пор не могу понять, надо ли автоматизировать в СПР подбор оклада и премии или нет.
В СПР-1 сказано "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода." Думаю, надо автоматизировать его получение - указания на то, что пользователь вводит и контролирует его ввод сам, нет, следовательно, разработчик должен обеспечить соблюдение данного условия.
Очень двояко. Много таких мест в задачах,  что ставит в тупик, когда сдается дистанционно, т.к. не у кого спросить. Только надеяться, что описание "непонятки" в пояснительной записке прокатит, если на экзамене не успею реализовать получение оклада (премии).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 18, 2017, 05:41:10 pm
Оклад, не зависит по базе  ни от чего, в некоторых задачах он просто задается как константа, в некоторых хранится история, т.е. нужен регистр сведений с значениями окладов. Какая там автоматизация?
Автоматизация определения данных на начало расчетного периода. Если не реализовать подбор оклада из регистра сведений, то могут зарубить (до -3 баллов) за упрощение задачи и апеллируй хоть до посинения >:(
Также можно упростить и "Процент премии зависит от стажа работы сотрудника на данном предприятии. Шкала значений процента премии вводится пользователем в режиме 1С:Предприятия." Нигде же не сказано, что надо автоматизировать определение процента по стажу... так можно упростить вообще всё.

Поэтому хочется знать: на практике прокатывает реализация только регистра, без определения оклада на начало расчетного периода или снимают баллы за упрощение задачи. Мнение бы тех, кто сдавал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 18, 2017, 06:00:51 pm
Так же думаю кака и alex1248:  Если "Подбор оклада из РС" = "Получение оклада из РС", то нужно получать оклад из РС, иначе упрощение задачи.

ЗЫ: Для меня "Подбор" - это интерактивные действия пользователя по выбору определенных данных.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Noxie41 от Апрель 19, 2017, 12:32:02 pm
Вот мой вариант по периодическим расчетам. Прошу покритиковать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Апрель 19, 2017, 11:39:02 pm
Всем доброго времени суток!

Ребята, кто знает, что означает условие в СПР:

"Документ в расчетном периоде может быть один (сразу для всех видов расчета), а может быть несколько (по
одному для каждого отдельного вида расчета)." ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alex_1C от Апрель 20, 2017, 09:09:19 am
Всем доброго времени суток!

Ребята, кто знает, что означает условие в СПР:

"Документ в расчетном периоде может быть один (сразу для всех видов расчета), а может быть несколько (по
одному для каждого отдельного вида расчета)." ?

Я понимаю это так. В апреле может быть введен один документ "Начисление зарплаты", в котором указаны все виды начислений (оклад, премия и т.д.). Или же может быть введено несколько документов - для оклада один документ, для премии другой. Т.е. нужно предусмотреть в ТЧ документа (одной или разных) - разные виды начислений
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 20, 2017, 10:21:29 am
Означает ровно то, что написано ни больше, ни меньше.
У вида расчета может быть приоритет,  например: Оклад имеет более высокий приоритет расчета и должен быть рассчитан ранее больничного(в большинстве случаев), т.о. если указать в одном документе больничный и оклад, нужно сделать так, что бы сначала рассчитывался оклад, а потом больничный. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Апрель 20, 2017, 10:41:30 am
Означает ровно то, что написано ни больше, ни меньше.
У вида расчета может быть приоритет,  например: Оклад имеет более высокий приоритет расчета и должен быть рассчитан ранее больничного(в большинстве случаев), т.о. если указать в одном документе больничный и оклад, нужно сделать так, что бы сначала рассчитывался оклад, а потом больничный. 

Добрый день, xXeNoNx ! Спасибо за ответ!

Видимо, просто надо соблюдать порядок расчета (по приоритетам) - и не более того.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: strizhhh от Апрель 20, 2017, 12:31:41 pm
Означает ровно то, что написано ни больше, ни меньше.
У вида расчета может быть приоритет,  например: Оклад имеет более высокий приоритет расчета и должен быть рассчитан ранее больничного(в большинстве случаев), т.о. если указать в одном документе больничный и оклад, нужно сделать так, что бы сначала рассчитывался оклад, а потом больничный. 

Добрый день, xXeNoNx ! Спасибо за ответ!

Видимо, просто надо соблюдать порядок расчета (по приоритетам) - и не более того.

Если в задаче нет фразы, что необходимо реализовать возможность ввода пользователем своих начислений, то можно не париться с приоритетами. В конкретной задаче этого билета оклад и премия находятся в разных регистрах расчета, поэтому, при проведении документа, они естественно будут рассчитываться отдельно, сначала оклад, затем - премия. Обрабатывать возможность ввода других начислений, кроме этих, не требуется.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Апрель 20, 2017, 01:27:48 pm
Приоритет не в плане реквизита документа, а в плане первоначального расчета определенного вида расчета. Рассчитывать будем первым не больничный, а оклад!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dertru от Апрель 21, 2017, 01:51:13 pm
Добрый день! strizhhh, в СПР в процедуре "РассчитатьЗаписи" в первом запросе поле "СведенияОСотрудниках.Период" может быть null, поле "ОсновныеНачисленияДанныеГрафика.ПериодДействия" вы проверяете на null, хотя, как я думаю, оно не может быть null.
В условии соединения таблиц "И ВТ_МаксимальныйПериод.ПериодДействия = СведенияОСотрудниках.Период", поле даты с левой стороны должно быть "ВТ_МаксимальныйПериод.Период".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 01:04:32 pm
Всем привет. Направьте мысль пожалуйста. Я так понимаю абсолютно в любой задаче по бух учету должен присутствовать документ "Операция", даже если про это явно не сказано в задании. Ну конкретно в этой задаче есть.))) В таком случае ситуация: выполняем билет по порядку. Решили задачу оперативного учета. Приступили к БУ. Оперативный учет проверяет наличие этого товара на регистре накопления. Затем мы дописали кусок по БУ, где также нужно анализировать количество товара в организации. Так вот если сделать ручную операцию и увеличить остатки на счете Товары, то, например, по оперативному учету документ выдаст ошибку, а по БУ он должен провестить. Т.е. если бы я начал решение с задачи по БУ, то документ бы провелся. Как быть в этой ситуации? Как правильно нужно проверять остатки?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Апрель 23, 2017, 01:16:53 pm
должен присутствовать документ "Операция", даже если про это явно не сказано в задании. Ну конкретно в этой задаче есть.)))
Вроде бы, во всех есть.
выполняем билет по порядку
Создаем у доков реквизиты ОУ и БУ типа булево, и проводим их только в том случае, если соответствующий реквизит имеет значение Истина. И не надо никаких заморочек с увязкой задач.
Выполнять поэтому можно в любом порядке.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 01:26:14 pm
Создаем у доков реквизиты ОУ и БУ типа булево, и проводим их только в том случае, если соответствующий реквизит имеет значение Истина. И не надо никаких заморочек с увязкой задач.
Выполнять поэтому можно в любом порядке.
Не, как это сделать то понятно. Я просто просмотрел несколько решений людей и не увидел там такого. Причем проверки реализованы точно также как и у меня. Меня больше интересует вопрос, как надо правильно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Апрель 23, 2017, 01:31:20 pm
Создаем у доков реквизиты ОУ и БУ типа булево, и проводим их только в том случае, если соответствующий реквизит имеет значение Истина. И не надо никаких заморочек с увязкой задач.
Выполнять поэтому можно в любом порядке.
Не, как это сделать то понятно. Я просто просмотрел несколько решений людей и не увидел там такого. Причем проверки реализованы точно также как и у меня. Меня больше интересует вопрос, как надо правильно?
Правильно - надо создавать реквизиты ОУ и БУ.
Почему у кого-то этого нет - наверное, у них на экз много времени на создание костылей там, где в них нет необходимости.  :D
ПС. А еще многие выкладывают тут неработоспособные решения (т.к. просто не проверяют их работоспособность), потом и экз пытаются сдать так же. Итог очевиден.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 01:33:16 pm
Увидел на инфостарте это пояснение
Цитировать
Т.к. в разрабатываемой вами конфигурации присутствие документа РучнаяОперация является обязательным,это накладывает неявное, но обязательное требование - во всех запросах и отчетах, которые вы делаете для решения задачи, накладывать максимальное количество уточняющих условий на счета. К примеру, если в условии вашей задачи упомянуто, что  документ приходная делает проводку Дт Товары - Кт Поставщики, а расходная - Дт ПрибылиУбытки Кт Товары то анализируя потом для какой-либо цели (зависит от задачи) всю эту ситуацию, удобно использовать таблицу Обороты, задавая условие счета равное счету Товары,а на выходе дебетовый оборот будет со счетом Поставщики, а кредитовый - ПрибылиУбытки. Но в условии виртуальной таблицы обязательно нужно указать условие, приведенное ниже, и тогда РучнаяОперация, какая бы корреспонденция счетов там ни была введена, не сможет нарушить работу вашего запроса:

| КорСчет В (Значение(ПланСчетов.Управленческий.Поставщики), Значение(ПланСчетов.Управленческий.ПрибылиУбытки))
И не совсем его понял. Может нужно исключать движения этого документа? Тогда зачем он нужен?!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Апрель 23, 2017, 01:36:09 pm
Увидел на инфостарте это пояснение
Цитировать
Т.к. в разрабатываемой вами конфигурации присутствие документа РучнаяОперация является обязательным,это накладывает неявное, но обязательное требование - во всех запросах и отчетах, которые вы делаете для решения задачи, накладывать максимальное количество уточняющих условий на счета. К примеру, если в условии вашей задачи упомянуто, что  документ приходная делает проводку Дт Товары - Кт Поставщики, а расходная - Дт ПрибылиУбытки Кт Товары то анализируя потом для какой-либо цели (зависит от задачи) всю эту ситуацию, удобно использовать таблицу Обороты, задавая условие счета равное счету Товары,а на выходе дебетовый оборот будет со счетом Поставщики, а кредитовый - ПрибылиУбытки. Но в условии виртуальной таблицы обязательно нужно указать условие, приведенное ниже, и тогда РучнаяОперация, какая бы корреспонденция счетов там ни была введена, не сможет нарушить работу вашего запроса:

| КорСчет В (Значение(ПланСчетов.Управленческий.Поставщики), Значение(ПланСчетов.Управленческий.ПрибылиУбытки))
И не совсем его понял. Может нужно исключать движения этого документа? Тогда зачем он нужен?!
Мне кажется, там про запрос написано не совсем корректно. я для отчетов указывал конкретно СчетДт и СчетКт.
Зачем исключать его движения? Если корр счета совпадут, его проводки учтутся, а если нет, то им не место в отчете.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 01:38:26 pm
Я все понял. Спасибо большое за помощь.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 01:57:53 pm
Нашел еще одну проблему)))
Условие из задания по БУ
Цитировать
Себестоимость определяется как средняя по товару по
всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2017
поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности
30.01.2017 поступила по цене 110 рублей, то при списании себестоимость одной пачки
данного йогурта равна 100 рублей
Следовательно при реализации 1 позиции на счете товары будет количество по сроку годности 10.01.2017 = 0, а сумма будет -10.

В списке ошибок гласится следующее
Цитировать
Построенная в решении учетная схема принципиально не позволяет одновременно вывести в ноль все ресурсы регистра накапливающего информацию об остатках. Балл 0,5 - 3,0
Следовательно - условие задачи не корректное?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Апрель 23, 2017, 04:18:18 pm
Нашел еще одну проблему)))
Условие из задания по БУ
Цитировать
Себестоимость определяется как средняя по товару по
всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2017
поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности
30.01.2017 поступила по цене 110 рублей, то при списании себестоимость одной пачки
данного йогурта равна 100 рублей
Следовательно при реализации 1 позиции на счете товары будет количество по сроку годности 10.01.2017 = 0, а сумма будет -10.

В списке ошибок гласится следующее
Цитировать
Построенная в решении учетная схема принципиально не позволяет одновременно вывести в ноль все ресурсы регистра накапливающего информацию об остатках. Балл 0,5 - 3,0
Следовательно - условие задачи не корректное?

Условие задачи даже более чем корректное.
Проанализировав условие задачи, Ты для себя должен сделать вывод, что необходимо отключать суммовой учет для субконто "Срок годности". Заводишь признак учета субконто "Суммовой", связанный с ресурсом Сумма регистра бухгалтерии и отключаешь этот флажок для субконто "Срок годности".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Апрель 23, 2017, 06:07:09 pm
Условие задачи даже более чем корректное.
Проанализировав условие задачи, Ты для себя должен сделать вывод, что необходимо отключать суммовой учет для субконто "Срок годности". Заводишь признак учета субконто "Суммовой", связанный с ресурсом Сумма регистра бухгалтерии и отключаешь этот флажок для субконто "Срок годности".
Спасибо большое. Теперь понятно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: mahuaksk от Апрель 26, 2017, 01:25:48 pm
Посмотрел решения по СПР и практически все вычисляют стаж как

РазностьДат(ДатаПриема, БазовыйПериодНачало, Год) + НачальныйСтаж КАК Трудовой стаж

Но ведь если сотрудник к примеру Начальный стаж = 0, Дата Приема 01.12.2016, а базовый период 01.01.2017 то считается стаж как 1 год.
Хотя по факту стаж 1 месяц, т.е. из регистра должно браться 5% премии. Кто нибудь может продемонстрировать другое решение вычисления ТрудовогоСтажа в запросе?
А то я нагородил запрос где ищу разницу в месяцах и если оно меньше 12 то ставлю стаж 0 через выбор когда.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ahang от Апрель 26, 2017, 04:24:14 pm
Посмотрел решения по СПР и практически все вычисляют стаж как

РазностьДат(ДатаПриема, БазовыйПериодНачало, Год) + НачальныйСтаж КАК Трудовой стаж

Но ведь если сотрудник к примеру Начальный стаж = 0, Дата Приема 01.12.2016, а базовый период 01.01.2017 то считается стаж как 1 год.
Хотя по факту стаж 1 месяц, т.е. из регистра должно браться 5% премии. Кто нибудь может продемонстрировать другое решение вычисления ТрудовогоСтажа в запросе?
А то я нагородил запрос где ищу разницу в месяцах и если оно меньше 12 то ставлю стаж 0 через выбор когда.

Я когда готовился к экзамену, построил расчет премии в зависимости от стажа так:
1. В справочнике "Сотрудники" добавил реквизит Стаж - стаж на момент принятия сотрудника на работу, и реквизит "Дата приема".
2. Регистр сведений "ШкалаСтажа" имеет измерение - СтажОт (число) и два ресурса: СтадДо (число) и Процент (число).
3. Код для расчета Премии:
...
...
ИначеЕсли ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисления.Премия Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(БазаОсновныеНачисления.РезультатБаза, 0) КАК РезультатБаза,
| БазаОсновныеНачисления.НомерСтроки,
| ЕСТЬNULL(ШкалаСтажа.Процент, 0) КАК Процент,
| БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 КАК Стаж
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измер,
| &Измер,
| ,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета) КАК БазаОсновныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаСтажа КАК ШкалаСтажа
| ПО (БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 >= ШкалаСтажа.СтажОт)
| И (ВЫБОР
| КОГДА ШкалаСтажа.СтажДо = 0
| ТОГДА ИСТИНА
| ИНАЧЕ БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 < ШкалаСтажа.СтажДо
| КОНЕЦ)";
Измер = Новый Массив;
Измер.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Измер", Измер);
Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета);
РезультатЗапроса = Запрос.Выполнить();

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

КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: mahuaksk от Апрель 27, 2017, 11:44:51 am
Спасибо, действительно нам ведь не нужно округлять стаж до целого  :D

Есть еще вопрос, считается ли это упрощением задачи, когда мы Измерение стаж разбиваем на два измерения "СтажОт" и "СтажДо", ведь это сильно упрощает запрос.
А с одним измерением в виде "Стаж" с запросом приходится думать...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Май 03, 2017, 09:03:59 pm
Добрый день.
Уважаемые, если не затруднит посмотрите мое решение.
Решен только раздел расчета.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Май 03, 2017, 09:24:39 pm
Поясните пожалуйста - в 4 разделе, где идет речь про бизнес-процессы. На карте маршрута словосочетание "Все кладовщики" отличается от "Любой бухгалтер"? Необходимо ли ставить какие то дополнительные галочки? Или для БП оба этих понятия идентичны?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 03, 2017, 10:16:27 pm
Поясните пожалуйста - в 4 разделе, где идет речь про бизнес-процессы. На карте маршрута словосочетание "Все кладовщики" отличается от "Любой бухгалтер"? Необходимо ли ставить какие то дополнительные галочки? Или для БП оба этих понятия идентичны?
Еще как отличается.  :)
Задачу должны выполнить все кладовщики (т.е. каждый), но только один (любой) бухгалтер.
В моем решении в свойствах точки действия кладовщиков стоит галка Групповая на закладке Адресация.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 04, 2017, 12:02:26 am
Добрый день.
Уважаемые, если не затруднит посмотрите мое решение.
Решен только раздел расчета.

Доброго времени суток, JohnSilver !

Хотел бы задать вопрос по решению.
Без "задней мысли", самому интересно.
Вот ты все расчеты делаешь через "Движения" регистров расчета.
А в других примерах решений я видел через "НаборЗаписей".
Как правильнее решать - через "Движения" или через "НаборЗаписей" ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Май 04, 2017, 08:50:16 am

Доброго времени суток, JohnSilver !

Хотел бы задать вопрос по решению.
Без "задней мысли", самому интересно.
Вот ты все расчеты делаешь через "Движения" регистров расчета.
А в других примерах решений я видел через "НаборЗаписей".
Как правильнее решать - через "Движения" или через "НаборЗаписей" ?

Добрый день, freemaestro.
Я честно говоря не задумывался над этим, просто взял примеры уже решенных билетов и решаю аналогично.
Но мне кажется через Движения оно как то все таки прозрачнее и правильнее.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 04, 2017, 11:26:35 am
Доброго времени суток, JohnSilver !

Я тут подумал по этому вопросу...

Смотри, к примеру, для формирования сторно записей
нужно применить метод ПолучитьДополнение(),
а он есть только у НабораЗаписей, у Движений его нет.
Но к нашей задаче это не относится - тут не надо делать сторно-записи.

Наверняка ещё найдутся отличия.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 04, 2017, 11:56:26 am
Ребята, добрый день,кто подскажет по условию "В одном документе могут быть данные за разные
расчетные периоды" ?
Скажем, за март сотруднику оклад рассчитан.
Мы в апреле считаем оклад за апрель и сюда же,
в ТЧ, по условию задачи - можно "воткнуть" оклад
за март - частично или полностью.
По идее, оклад по предыдущему документу надо сторнировать.
Метод "ПолучитьДополнение" здесь не работает - оклад не может вытеснять
сам себя. Тут по-другому надо как-то.
В зарплатных решениях 1C это называется "исправление документа" -
в ТЧ нового документа "выкидываются" отсторнированные, "красные строки",
а ниже -новые.

Надо ли делать что-то в этом направлении или я сильно усложняю ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnSilver от Май 06, 2017, 04:38:50 pm
Ребята, добрый день,кто подскажет по условию "В одном документе могут быть данные за разные
расчетные периоды" ?
Скажем, за март сотруднику оклад рассчитан.
Мы в апреле считаем оклад за апрель и сюда же,
в ТЧ, по условию задачи - можно "воткнуть" оклад
за март - частично или полностью.
По идее, оклад по предыдущему документу надо сторнировать.
Метод "ПолучитьДополнение" здесь не работает - оклад не может вытеснять
сам себя. Тут по-другому надо как-то.
В зарплатных решениях 1C это называется "исправление документа" -
в ТЧ нового документа "выкидываются" отсторнированные, "красные строки",
а ниже -новые.

Надо ли делать что-то в этом направлении или я сильно усложняю ?

Мне кажется сильно заморачиваешься, просто хотя бы предусмотри расчет в прошлом периоде и все.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 06, 2017, 04:53:56 pm
Ребята, добрый день,кто подскажет по условию "В одном документе могут быть данные за разные
расчетные периоды" ?
Скажем, за март сотруднику оклад рассчитан.
Мы в апреле считаем оклад за апрель и сюда же,
в ТЧ, по условию задачи - можно "воткнуть" оклад
за март - частично или полностью.
По идее, оклад по предыдущему документу надо сторнировать.
Метод "ПолучитьДополнение" здесь не работает - оклад не может вытеснять
сам себя. Тут по-другому надо как-то.
В зарплатных решениях 1C это называется "исправление документа" -
в ТЧ нового документа "выкидываются" отсторнированные, "красные строки",
а ниже -новые.

Надо ли делать что-то в этом направлении или я сильно усложняю ?

Мне кажется сильно заморачиваешься, просто хотя бы предусмотри расчет в прошлом периоде и все.

Доброго времени суток, JohnSilver !
Не совсем понял, что ты имеешь в виду под расчетом прошлого периода - сторнирование, перерасчеты или что-то другое? Перерасчеты в задаче использовать не надо. Сторнирование не проходит, т.к. оклад не может вытеснять сам себя. А просто расчет прошлого периода - это пожалуйста, можно период регистрации поставить текущий, а период действия оклада - прошлый месяц. И сотруднику будет рассчитано 2 оклада за прошлый месяц...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Май 09, 2017, 09:53:35 am
Я когда готовился к экзамену, построил расчет премии в зависимости от стажа так:
1. В справочнике "Сотрудники" добавил реквизит Стаж - стаж на момент принятия сотрудника на работу, и реквизит "Дата приема".
2. Регистр сведений "ШкалаСтажа" имеет измерение - СтажОт (число) и два ресурса: СтадДо (число) и Процент (число).
3. Код для расчета Премии:
...
...
ИначеЕсли ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисления.Премия Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(БазаОсновныеНачисления.РезультатБаза, 0) КАК РезультатБаза,
| БазаОсновныеНачисления.НомерСтроки,
| ЕСТЬNULL(ШкалаСтажа.Процент, 0) КАК Процент,
| БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 КАК Стаж
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измер,
| &Измер,
| ,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета) КАК БазаОсновныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаСтажа КАК ШкалаСтажа
| ПО (БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 >= ШкалаСтажа.СтажОт)
| И (ВЫБОР
| КОГДА ШкалаСтажа.СтажДо = 0
| ТОГДА ИСТИНА
| ИНАЧЕ БазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(БазаОсновныеНачисления.Сотрудник.ДатаПриема, БазаОсновныеНачисления.ПериодРегистрации, ДЕНЬ) / 365 < ШкалаСтажа.СтажДо
| КОНЕЦ)";
Измер = Новый Массив;
Измер.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Измер", Измер);
Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета);
РезультатЗапроса = Запрос.Выполнить();

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

КонецЕсли;
Добрый день. Увидел Ваше решение. Есть немного вопросов.
Цитировать
При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля.
Этот момент многие решают как в справочнике физ. лица создают реквизит "Стаж" типа число. Ну типо стаж в годах. Тут все понятно.
Про Дату Приема тоже все норм. Но...Стаж может быть 0, а может и не быть 0. А в вашем запросе и дата приема также должна быть обязательно заполнена. Вы какие то проверки делали на это?

Вот мой запрос
ВЫБРАТЬ
ВложенныйЗапросБаза.РезультатБаза,
ВложенныйЗапросБаза.ОбщийСтажНаПредприятии,
ЕСТЬNULL(РегистрПроцентПремии.ПроцентПремии, 0) КАК ПроцентПремии
ИЗ
(ВЫБРАТЬ
ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза КАК РезультатБаза,
ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.Стаж + РАЗНОСТЬДАТ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ДЕНЬ) / 365 КАК ОбщийСтажНаПредприятии
ИЗ
РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
&Измерения,
&Измерения,
,
Регистратор = &Регистратор
И НомерСтроки = &НомерСтроки) КАК ДополнительныеНачисленияБазаОсновныеНачисления) КАК ВложенныйЗапросБаза
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцентПремии КАК РегистрПроцентПремии
ПО ВложенныйЗапросБаза.ОбщийСтажНаПредприятии >= РегистрПроцентПремии.СтажОт
И ВложенныйЗапросБаза.ОбщийСтажНаПредприятии <= РегистрПроцентПремии.СтажДо




Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Май 09, 2017, 09:56:37 am
Цитировать
Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01, а запись оклад: с 10.01 по 03.02 вводить нельзя.
Ни в одном из решений не увидел проверки на это. Это вообще надо делать? Или не обязательно? Будь я преподом, то в бутылку бы полез, раз уж четкое условие в задаче есть.))))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Май 09, 2017, 10:59:39 am
Цитировать
Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
Тут понятно, что измерение "Подразделение" должно отсутствовать. В регистре сведений "СведенияОСотрудниках" такое измерение есть сразу в каркасной. Можно ли его удалить? Или может есть какие-то подводные камни, типа нельзя удалять ничего из каркасной?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 09, 2017, 12:29:16 pm
Цитировать
Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
Тут понятно, что измерение "Подразделение" должно отсутствовать. В регистре сведений "СведенияОСотрудниках" такое измерение есть сразу в каркасной. Можно ли его удалить? Или может есть какие-то подводные камни, типа нельзя удалять ничего из каркасной?

Доброго времени суток, pyrkin_vanya !

Из каркасной удалять можно - на усмотрение сдающего.
Я тоже считаю, что измерение "Подразделение"  в регистре сведений "СведенияОСотрудниках" надо удалить. Я ресурсом сделал.
Другой вопрос, что об этом думают принимающие :-).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 09, 2017, 12:31:53 pm
Ребята, добрый день,кто подскажет по условию "В одном документе могут быть данные за разные
расчетные периоды" ?
Скажем, за март сотруднику оклад рассчитан.
Мы в апреле считаем оклад за апрель и сюда же,
в ТЧ, по условию задачи - можно "воткнуть" оклад
за март - частично или полностью.
По идее, оклад по предыдущему документу надо сторнировать.
Метод "ПолучитьДополнение" здесь не работает - оклад не может вытеснять
сам себя. Тут по-другому надо как-то.
В зарплатных решениях 1C это называется "исправление документа" -
в ТЧ нового документа "выкидываются" отсторнированные, "красные строки",
а ниже -новые.

Надо ли делать что-то в этом направлении или я сильно усложняю ?

Мне кажется сильно заморачиваешься, просто хотя бы предусмотри расчет в прошлом периоде и все.

Доброго времени суток, JohnSilver !
Не совсем понял, что ты имеешь в виду под расчетом прошлого периода - сторнирование, перерасчеты или что-то другое? Перерасчеты в задаче использовать не надо. Сторнирование не проходит, т.к. оклад не может вытеснять сам себя. А просто расчет прошлого периода - это пожалуйста, можно период регистрации поставить текущий, а период действия оклада - прошлый месяц. И сотруднику будет рассчитано 2 оклада за прошлый месяц...

Ребята, доброго времени суток!
Кто-нибудь может прокомментировать по этому вопросу ?
Как быть, если оклад рассчитан в прошлом периоде, и мы ещё раз его начисляем в текущем?
У меня 2 оклада начисляется сотруднику, это нормально ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 09, 2017, 12:32:36 pm
Цитировать
Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01, а запись оклад: с 10.01 по 03.02 вводить нельзя.
Ни в одном из решений не увидел проверки на это. Это вообще надо делать? Или не обязательно? Будь я преподом, то в бутылку бы полез, раз уж четкое условие в задаче есть.))))
Тут нет никакого условия. Это информация как раз о том, что кодеру ничего проверять не надо. Юзер будет вводить именно так, и лишь юзер за это отвечает.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 09, 2017, 12:37:52 pm
Ребята, добрый день,кто подскажет по условию "В одном документе могут быть данные за разные
расчетные периоды" ?
Скажем, за март сотруднику оклад рассчитан.
Мы в апреле считаем оклад за апрель и сюда же,
в ТЧ, по условию задачи - можно "воткнуть" оклад
за март - частично или полностью.
По идее, оклад по предыдущему документу надо сторнировать.
Метод "ПолучитьДополнение" здесь не работает - оклад не может вытеснять
сам себя. Тут по-другому надо как-то.
В зарплатных решениях 1C это называется "исправление документа" -
в ТЧ нового документа "выкидываются" отсторнированные, "красные строки",
а ниже -новые.

Надо ли делать что-то в этом направлении или я сильно усложняю ?

Мне кажется сильно заморачиваешься, просто хотя бы предусмотри расчет в прошлом периоде и все.

Доброго времени суток, JohnSilver !
Не совсем понял, что ты имеешь в виду под расчетом прошлого периода - сторнирование, перерасчеты или что-то другое? Перерасчеты в задаче использовать не надо. Сторнирование не проходит, т.к. оклад не может вытеснять сам себя. А просто расчет прошлого периода - это пожалуйста, можно период регистрации поставить текущий, а период действия оклада - прошлый месяц. И сотруднику будет рассчитано 2 оклада за прошлый месяц...

Ребята, доброго времени суток!
Кто-нибудь может прокомментировать по этому вопросу ?
Как быть, если оклад рассчитан в прошлом периоде, и мы ещё раз его начисляем в текущем?
У меня 2 оклада начисляется сотруднику, это нормально ?
Дважды оклад можно ввести и в одном месяце за этот же самый один месяц, например, разными документами. И даже в типовой такое никто не контролирует.
Не надо ничего проверять. Пусть юзер контролирует.
ПС. В типовых "умеючи" тоже можно напартачить.
Исправление документа тут вообще не причем. Предполагается, что оклад вводится за прошлые месяцы, если он не был введен вовремя.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 09, 2017, 01:45:46 pm
Спасибо за ответ, alex1248 !

Согласен с тобой, что " В типовых "умеючи" тоже можно напартачить" :-)

Да, видимо, тут надо принимать допущение, цитирую тебя:
"Предполагается, что оклад вводится за прошлые месяцы, если он не был введен вовремя"

А если юзер 2 раза оклад рассчитывает за один и тот же период - его проблемы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: pyrkin_vanya от Май 09, 2017, 07:39:43 pm
Я у себя все равно сделал эти проверки. Думаю защита от дурака лишним не будет. :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 09, 2017, 08:34:18 pm
Я у себя все равно сделал эти проверки. Думаю защита от дурака лишним не будет. :)
Доброго времени суток, pyrkin_vanya !

уточни, пожалуйста, о каких проверках ты говоришь.
И самое интересное - как ты их реализовывал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 09, 2017, 09:24:24 pm
Думаю защита от дурака лишним не будет. :)
Если останется время, лишним не будет.
Но если времени не будет хватать, за недоделанное сминусуют, а за ненужное баллов не добавят ).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 10, 2017, 11:37:38 am
Подскажите, кто знает, как вывести на форме документа ссылки - переход на регистр-движения по данному документу.
Увидел это в одном из решённых примеров, а какими настройками это сделано найти не могу.

Сверху над кнопками во всех документах(свои регистры) :

Главное     Остатки товаров     Партии товаров
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kaval от Май 10, 2017, 11:41:44 am
Добрый день.

Подскажите пожалуйста для чего используется
Движения.ОстаткиТоваров.Записать(); ?

Ведь достаточно Движения.ОстаткиТоваров.Очистить().

Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Май 10, 2017, 12:00:39 pm
Подскажите, кто знает, как вывести на форме документа ссылки - переход на регистр-движения по данному документу.
Увидел это в одном из решённых примеров, а какими настройками это сделано найти не могу.

Сверху над кнопками во всех документах(свои регистры) :

Главное     Остатки товаров     Партии товаров

В форме переходим с закладки "Элементы" на закладку "Командный интерфейс". Далее в "Панель навигации" - "Перейти" проставляем видимость.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Май 10, 2017, 12:05:59 pm
Добрый день.

Подскажите пожалуйста для чего используется
Движения.ОстаткиТоваров.Записать(); ?

Ведь достаточно Движения.ОстаткиТоваров.Очистить().

Почитайте статьи http://курсы-по-1с.рф/news/2017-02-15-two-programming-articles-update/ (http://курсы-по-1с.рф/news/2017-02-15-two-programming-articles-update/)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 10, 2017, 04:30:02 pm
Всем доброго времени суток!

У меня вопрос ко всем.

Про условие:
"При решении задачи необходимо учитывать, что на момент начала ведения
учета в информационной базе у сотрудника уже может быть стаж отличный от нуля."

Многие заводят реквизит "ДатаПриема"и "НачальныйСтаж".

Вопрос - нужен ли реквизит "НачальныйСтаж" ?

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

Я использую только "ДатаПриема".

У кого какие мысли по этому поводу ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Май 11, 2017, 09:48:42 am
Как удобно, так и заводи.., будь это реквизит в справочнике, будь регистр сведений - не важно, самое главное без изысков.
Белоусов говорит, как я понял, что не стоит заострять внимание на мелочах, в любых задачах главное показать технику создания или настройку объектов того или иного объекта при решении определенной задачи. Например, при решении задач по расчетам важнее всего показать настройку зависимостей того или иного вида расчета + программная реализация соответственно. А что там с хранением доп инфы - это вторично.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 11, 2017, 10:55:33 am
Как удобно, так и заводи.., будь это реквизит в справочнике, будь регистр сведений - не важно, самое главное без изысков.
Белоусов говорит, как я понял, что не стоит заострять внимание на мелочах, в любых задачах главное показать технику создания или настройку объектов того или иного объекта при решении определенной задачи. Например, при решении задач по расчетам важнее всего показать настройку зависимостей того или иного вида расчета + программная реализация соответственно. А что там с хранением доп инфы - это вторично.

Спасибо за ответ, xXeNoNx !
Согласен с тобой!
Об этих мелочах не стоит задумываться, главное - сам расчет сделать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Май 11, 2017, 02:23:59 pm
"Об этих мелочах не стоит задумываться" - не совсем так, если хочешь 5, то нужно и об этом задуматься....
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 11, 2017, 02:28:32 pm
"Об этих мелочах не стоит задумываться" - не совсем так, если хочешь 5, то нужно и об этом задуматься....

да, на "5" надо задумываться.
Я при подготовке много о чем задумываюсь, стараюсь вникнуть, изучить.
Но при этом понимаю, что на экзамене надо по-другому вести себя:
- время ограниченно
- стрессовая ситуация
- надо иметь твердые навыки, чтобы, "не думая" решить хотя бы на "3".
А "подумав" - если останется время - то получить "4" или "5".  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ahang от Май 11, 2017, 04:45:47 pm
... А в вашем запросе и дата приема также должна быть обязательно заполнена. Вы какие то проверки делали на это?

В коде проверок не делал, только для реквизита "Дата приема" сделал признак обязательного заполнения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alexander_s от Май 16, 2017, 10:39:04 pm
Всем привет ;)
Посмотрите мое решение пожалуйста!
Буду рад объективной и конструктивной критике.
 :) :) :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: dertru от Май 17, 2017, 10:43:34 am
Всем привет ;)
Посмотрите мое решение пожалуйста!
Буду рад объективной и конструктивной критике.
 :) :) :)
Добрый день! Посмотрел решение в части БУ. На счете "Товары" у субконто не снята галка суммового учета. В запросе сортируете по ссылке на справочник "СрокиГодности", а это не равно сортировке по дате. В отчете остатки нет отбора по счету(получаете остатки по всем счетам).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Май 17, 2017, 06:07:56 pm
Всем привет ;)
Посмотрите мое решение пожалуйста!
Буду рад объективной и конструктивной критике.
 :) :) :)
Доброго дня. Сам недавно взялся готовиться. Пока анализирую информацию по задачам ОУ. В ответе #441 : Апреля 18, 2017, 01:59:43 pm пользователь strizhhh выкладывал свой вариант билета с подробными комментариями. На мой взгляд, довольно толковый вариант. Так вот если сравнивать задачу по ОУ есть вопросы:
1. В документе "Приходная накладная" данные для записи в регистры группируются запросом, в котором одновременно отсекаются услуги. Нужно ли делать так или можно обойтись перебором ТЧ документа?
2. В РН  не включен режим разделения итогов
3. А чего контроль остатков в расходной накладной не по новой методике?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 18, 2017, 10:09:03 am
Доброго дня!
Выкладываю своё решение.

Покритикуйте, пожалуйста.
Задавайте вопросы.
Возможно, моя база поможет кому-то лучше
понять, как решать билеты - буду рад.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 18, 2017, 11:23:36 am
Доброго дня!
Выкладываю своё решение.

Покритикуйте, пожалуйста.
Задавайте вопросы.
Возможно, моя база поможет кому-то лучше
понять, как решать билеты - буду рад.
Посмотрел пока задачу ОУ и бизнес-процесс(сам сейчас прорешиваю на второй раз).По ОУ у меня вопрос: зачем написали "И ОсталосьСписать <> 0 Цикл". Почему не использовать только ">" сравнение? И еще вы отключили оперативное проведение у расходной накладной - может докапаться принимающий.
По бизнес-процессам вопрос такой - надо ли в регистре писать запись "Петров - пусто - пусто", у меня без нее работает. А в целом, по этим задачам с виду красиво :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 18, 2017, 11:27:59 am
Еще я обработку КартаМаршрута делаю и ФормуСпискаПоИсполнителю в задаче
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 18, 2017, 11:41:04 am
Спасибо за ответ,  Kremlin !
Отвечаю на твои вопросы.
1. По "ОсталосьСписать <> 0 " - ну тут не суть важно, "<>" или ">".
    Можно и так и так. Я не думаю, что кто-то снимет баллы за это.
2. Про отключенное оперативное проведение.
    Здесь же на форуме пишут о том, что его лучше отключить.
    Можешь поискать темы об этом.
    Но я на 100 % не уверен - на экзамене буду отключать,
    на свой страх и риск.
3. По бизнес процессам про Петрова - можно подробнее, как у тебя заполнен регистр адресации
    и как задача приходит Петрову?
4. обработка КартаМаршрута - это вместо формы бизнес процесса - просто отдельную обработку делаешь, так ?
5.  ФормуСпискаПоИсполнителю в задаче тоже делаю и выношу её в рабочую область начальной страницы.
     А типовая открывается из  "Задачи"  - там все задачи, по всем исполнителям.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 18, 2017, 12:10:28 pm
вот мое решение ОУ и БП пока
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 18, 2017, 01:01:01 pm
Kremlin, посмотрел твоё решение по БП.
Да, без Петрова можно обойтись :-)
Здесь персональная адресация идет -
задача ему сразу и попадает.
Есть вопрос по действию "Отгрузка".
У тебя стоит галочка в конфигураторе "Групповая".
И создается 3 задачи на отгрузку - на каждого кладовщика своя.
Разве так должно быть ?
У меня в решении 1 задача создается, галочку "Групповая" я не ставил.
ОУ не смотрел ещё.
 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Juliamosus от Май 18, 2017, 01:12:30 pm
Добрый день!
Прошу посмотреть кому не лень мой первый билет.
ОУ: РН Себестоимость по партиям, ОстаткиНоменклатуры количественный учет по Складам. Не уверена на счет очистки движений регистров
БУ: РегистрБухгалтерии не балансовый признак учета  по количеству, и не балансовый признак учета субконто по сумме
СПР: здесь все просто, кроме получения оклада на начало расчетного периода
БП : не совсем понятно, заказ покупателя как и сверка взаиморасчетов для любого сотрудника опр. подразделения/должности в созданной задаче не заполняется исполнитель. Это верно или нет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 18, 2017, 01:13:13 pm
Kremlin, посмотрел твоё решение по БП.
Да, без Петрова можно обойтись :-)
Здесь персональная адресация идет -
задача ему сразу и попадает.
Есть вопрос по действию "Отгрузка".
У тебя стоит галочка в конфигураторе "Групповая".
И создается 3 задачи на отгрузку - на каждого кладовщика своя.
Разве так должно быть ?
У меня в решении 1 задача создается, галочку "Групповая" я не ставил.
ОУ не смотрел ещё.
флажок "групповая" ставим, если на блок-схеме прямоугольник объемный(тень отбрасывает) :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 18, 2017, 01:15:10 pm
Kremlin, посмотрел ОУ в твоем билете.
Вроде красиво всё.
Один вопрос по оперативному проведению.
Ты присваиваешь пустую дату, если оперативный режим.
А там разве не НЕОПРЕДЕЛЕНО надо?
Есть ли разница между пустой датой ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 18, 2017, 01:21:51 pm
Kremlin, посмотрел ОУ в твоем билете.
Вроде красиво всё.
Один вопрос по оперативному проведению.
Ты присваиваешь пустую дату, если оперативный режим.
А там разве не НЕОПРЕДЕЛЕНО надо?
Есть ли разница между пустой датой ?
Разница есть, я сейчас не вспомню какая именно. Но для себя запомнил, что брать пустую дату более правильней чем НЕОПРЕДЕЛЕНО
Название: Re: Билет 1. Спец по платформе V8
Отправлено: freemaestro от Май 18, 2017, 01:31:18 pm
Kremlin, посмотрел твоё решение по БП.
Да, без Петрова можно обойтись :-)
Здесь персональная адресация идет -
задача ему сразу и попадает.
Есть вопрос по действию "Отгрузка".
У тебя стоит галочка в конфигураторе "Групповая".
И создается 3 задачи на отгрузку - на каждого кладовщика своя.
Разве так должно быть ?
У меня в решении 1 задача создается, галочку "Групповая" я не ставил.
ОУ не смотрел ещё.
флажок "групповая" ставим, если на блок-схеме прямоугольник объемный(тень отбрасывает) :)

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

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

Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 20, 2017, 07:54:57 pm
Просьба посмотреть, проверить решение первого билета. Решены все задачи билета.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tilirxs от Май 21, 2017, 10:22:13 pm
Подскажите кто нибудь. Для чего перед записью мы очищаем и записываем регистр бухгалтерии?
      Движения.Управленческий.Очистить();
      Движения.Управленческий.Записать();



Я спрашиваю к тому что не легче просто у документа указать автоматически удалять движения? В чем преимущества этого способа?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Juliamosus от Май 22, 2017, 05:38:28 pm
Просьба посмотреть, проверить решение первого билета. Решены все задачи билета.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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



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

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



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

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

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



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

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

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

вот именно, в чем смысл подразделения? совместительств быть не может, т.е. каждый сотрудник жестко прикреплен к конкретному подразделению
То что совместительств нет - это не значит что каждый сотрудник жёстко прикреплён к подразделению. Подразделение по-идее может меняться хоть по несколько раз в месяц. Главное что одновременно он и там и там работать не может - совместительство запрещено. Поэтому подразделение - реквизит.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 26, 2017, 05:20:35 am
АндрейН, фраза "совместительство быть не может" как раз и означает, что не может сотрудник работать в двух или более подразделениях. Значит измерение "Подразделение" в расчетных регистрах не нужно. Проверку на услуги нужно делать в модуле документов, можно сразу в запросе откидывать условием. Рекомендую посмотреть видео Павла Чистова, также хороши решения билетов от SAE. А сейчас у вас много мыслей, своих додумок и народ в заблуждение вводите ими.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 27, 2017, 11:46:49 am
АндрейН, фраза "совместительство быть не может" как раз и означает, что не может сотрудник работать в двух или более подразделениях. Значит измерение "Подразделение" в расчетных регистрах не нужно. Проверку на услуги нужно делать в модуле документов, можно сразу в запросе откидывать условием. Рекомендую посмотреть видео Павла Чистова, также хороши решения билетов от SAE. А сейчас у вас много мыслей, своих додумок и народ в заблуждение вводите ими.
Вы путаете и неправильно прочитали мой пост, а потом обвиняете меня что я кого то ввожу в заблуждение - вашим неправильным прочтением.

Где я пишу что Подразделение должно быть измерением? Подразделение должно быть реквизитом. Вы ведь разницу понимаете?
То что совместительство запрещено, запрещает одновременно работать в двух подразделениях. Но не запрещает переходить из подразделения в подразделение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 27, 2017, 12:05:00 pm
подразделение
Выскажу свою т.з. по данному моменту.
Сначала посмотрел своё решение, т.к. уже ничего не помню.  :D
У меня подразделения нет вообще в этой задаче. И действительно, подразделение, хоть и упоминается в тексте, но не влияет на решение никак, т.к. оклад от подразделения не зависит, и в отчете выводить данные по подразделениям не требуется.
С другой стороны, подразделение в тексте таки упоминается. И, пожалуй, соглашусь с вами, что вполне логично выглядит отражение этого факта в решении, в частности, при начислении з/п и записи данных в РР.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 27, 2017, 04:20:41 pm
Наверное как использовать реквизит Подразделение, так и не использовать ошибкой в данной задаче не будет. Реквизит места не занимает и на производительность не влияет.

Ещё спорный вопрос по данной задаче - учёт услуг? В 1 и во 2 билете упоминается это.
1) Надо ли в приходе проверять что пользователь ввёл услугу? По-моему нет. Но и проверку вставить - не проблема.
2) В расходе по услугам не надо проверять остаток - просто списать.
3) В расходе количество ставить "0" чтобы не было отрицательных остатков.
Или лучше отдельный регистр для услуг - без количества и без склада? Т.к. в остатки(билет 1), или в партии(билет 2) как-то неправильно услуги записывать
Ещё что-то?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Май 29, 2017, 09:30:17 am
2) В расходе по услугам не надо проверять остаток - просто списать.
3) В расходе количество ставить "0" чтобы не было отрицательных остатков.
Или лучше отдельный регистр для услуг - без количества и без склада? Т.к. в остатки(билет 1), или в партии(билет 2) как-то неправильно услуги записывать
Ещё что-то?

2) 3) Думаю, что услуги учитывать не надо в остатках, услуги учитываются только в регистрах продаж.

Если рассуждать логически, то как можно купить услугу, а потом ее продать? Я такого не видел. Если кто встречал, напишите.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 30, 2017, 03:23:15 am
2) 3) Думаю, что услуги учитывать не надо в остатках, услуги учитываются только в регистрах продаж.
Если рассуждать логически, то как можно купить услугу, а потом ее продать? Я такого не видел. Если кто встречал, напишите.
Купить и продать услуги - перевыставление услуги(например эл.энергия перевыставляется арендатору :) Но в рамках экзамена это не используется.
К учёту услуг могут придраться - поэтому я и хочу разобраться.

Услуги как правило не отпускаются со склада - измерение "Склад" для них - лишнее

В первом билете я так понимаю в ОУ нет регистра продаж. И во втором билете тоже.

Для услуг необходимо только измерение Номенклатура и сумма.
Может лучше для них завести отдельный регистр?

Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Май 30, 2017, 09:43:29 am
Может лучше для них завести отдельный регистр?
Не думаю, что надо заводить РН, это будет ошибка. В курсах от Белоусова, Чистова и других, услуги в приходе не учитываются, они игнорируются.  Не в одной задаче по ОУ не сказано про учет услуг в приходе.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Kremlin от Май 30, 2017, 10:47:53 am
Доделал первый билет. Покритикуйте кому не лень :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Май 30, 2017, 12:12:54 pm
Может лучше для них завести отдельный регистр?
Не думаю, что надо заводить РН, это будет ошибка. В курсах от Белоусова, Чистова и других, услуги в приходе не учитываются, они игнорируются.  Не в одной задаче по ОУ не сказано про учет услуг в приходе.
Про приход я имел в виду то что про моё решение Juliamosus в теме написала что надо было сделать проверку в приходе услуг чтобы пользователь не ввёл в приходе товар с типом "услуга". Вот я и засомневался - надо ли делать это проверку?
Juliamosus сдавала и здесь в теме написала что на экзамене ей указали что в учёте услуг есть ошибка. Вот я и задумался в чём там могут быть ошибки.

На мой взгляд если для учёта товаров нет регистра где бы регистрировались продажи, а услуги учитывать надо, то может всё же целесообразно в отдельном регистре "ПродажиУслуг"

Куда-то же их надо запихать. В остатки товаров, или себестоимость? В этом случае будет заполнена только одна сторона - расход(без прихода). Будет ещё большей ошибкой.

Или если нет отчётов по услугам вообще их ни в какой регистр не записывать - тупо игнорировать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Май 30, 2017, 04:27:34 pm
Про приход я имел в виду то что про моё решение Juliamosus в теме написала что надо было сделать проверку в приходе услуг чтобы пользователь не ввёл в приходе товар с типом "услуга". Вот я и засомневался - надо ли делать это проверку?
Думаю, дело вот в чем. Поскольку возможно оказание услуг, номенклатура может быть товаром или услугой. Поэтому и при приходе надо проверять, какой вид номенклатуры в накладной. Но, на мой взгляд, это должно быть не вылавливание ошибок пользователя, а как и при расходе - отсеивание услуг при записи в регистр, т.е. пусть в доке они будут, а в регистр пишем только товар.
На мой взгляд если для учёта товаров нет регистра где бы регистрировались продажи, а услуги учитывать надо, то может всё же целесообразно в отдельном регистре "ПродажиУслуг"
Как раз наоборот - учитывать их не надо. А возможность их оказания влечет лишь необходимость проверки и их отсеивания при записи в РН.
Или если нет отчётов по услугам вообще их ни в какой регистр не записывать - тупо игнорировать.
Ага.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Май 31, 2017, 08:20:53 am
Всем привет ;)
Посмотрите мое решение пожалуйста!
Буду рад объективной и конструктивной критике.
 :) :) :)
Доброго дня. Сам недавно взялся готовиться. Пока анализирую информацию по задачам ОУ. В ответе #441 : Апреля 18, 2017, 01:59:43 pm пользователь strizhhh выкладывал свой вариант билета с подробными комментариями. На мой взгляд, довольно толковый вариант. Так вот если сравнивать задачу по ОУ есть вопросы:
1. В документе "Приходная накладная" данные для записи в регистры группируются запросом, в котором одновременно отсекаются услуги. Нужно ли делать так или можно обойтись перебором ТЧ документа?
2. В РН  не включен режим разделения итогов
3. А чего контроль остатков в расходной накладной не по новой методике?

1. Можно запросом, можно перебором, услуги отсекать желательно, но не обязательно
2. Режим разделения итогов тут не нужен, его имеет смысл ставить когда нет блокировок, а они, в нашем случае по обоим регистрам.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ecprof1c от Май 31, 2017, 05:35:08 pm
Добрый день. Начал заниматься по спецу. Прокомментируйте пожалуйста решение по ОУ. Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Май 31, 2017, 07:00:38 pm
Добрый день. Начал заниматься по спецу. Прокомментируйте пожалуйста решение по ОУ. Спасибо.
А потом по БУ, а потом еще раз по СПР и на финиш по бизнес процессам.
Уважайте время других, по конкретным задачам так же есть разделы.
Я бы не смотрел.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ecprof1c от Июнь 01, 2017, 09:45:24 am
Добрый день. Начал заниматься по спецу. Прокомментируйте пожалуйста решение по ОУ. Спасибо.
А потом по БУ, а потом еще раз по СПР и на финиш по бизнес процессам.
Уважайте время других, по конкретным задачам так же есть разделы.
Я бы не смотрел.

Не я один выкладывают задачи по отдельным разделам билета. В чем ваши возмущения? Если вам трудно загрузить конфу и посмотреть не смотрите. На ваш ответ рассчитывать не буду.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KTM от Июнь 02, 2017, 10:54:07 am
Добрый день.
Попался этот билет на экзамене, сдал на 4ку.
Подробное описание как готовился и рекомендации в ветке "Результат сдачи экзамена" стр. 235

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

Во вложении ДТ с экзамена.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Июнь 03, 2017, 06:52:11 pm
Добрый день.
Попался этот билет на экзамене, сдал на 4ку.
...
1. В СПР непонятно как база от оклада у премии рассчитывается. Один запрос, который подготавливает данные как для оклада, так и для премии(часть запроса для премии берёт базу). По-идее пока оклад(полностью рассчитанный) не запишется - базы не будет. База премии берётся до того как записывается оклад.
2. Услуги не фильтруются в расходе(и приходе)

Добрый день. Начал заниматься по спецу. Прокомментируйте пожалуйста решение по ОУ. Спасибо.
Ошибок не заметил. Всё что должно быть - вроде есть.
1) Признак услуги может лучше не булево, а в стандартной есть перечисление
2) МоментВремени = '00010101'; Не знаю - может правильнее "неопределено". Я отключаю оперативное проведение, и данную ситуацию не обрабатываю.
3) То что дубли строк обрабатываются это конечно хорошо, но на это тратится время.  В приходе по-моему можно было бы и конструктором создать движения. Дубли в приходе - никому не мешают.
4) В отчёте количествоОстаток может ресурсом сделать? И дату можно не ставить - по идее есть стандартный реквизит период


 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KTM от Июнь 05, 2017, 08:59:14 am
Добрый день.
Попался этот билет на экзамене, сдал на 4ку.
...
1. В СПР непонятно как база от оклада у премии рассчитывается. Один запрос, который подготавливает данные как для оклада, так и для премии(часть запроса для премии берёт базу). По-идее пока оклад(полностью рассчитанный) не запишется - базы не будет. База премии берётся до того как записывается оклад.
2. Услуги не фильтруются в расходе(и приходе)

Где вы там в запросе увидели, что берется база для премии? База для премии берется в общем модулем, после расчета и записи оклада.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: АндрейН от Июнь 05, 2017, 10:06:53 am
Где вы там в запросе увидели, что берется база для премии? База для премии берется в общем модулем, после расчета и записи оклада.
Да, действительно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: MariaVG от Июнь 07, 2017, 11:49:22 pm
Почитала обсуждение в этой ветке и поняла, что разные расчетные периоды в одном документе для основных начислений - это разные фактические периоды действия в разных строках ТЧ. А как быть с премией? Ведь логично, что период регистрации должен быть в шапке. Период регистрации - это тот, В котором мы регистрируем начисление документом, а не ЗА который. Я видела решение, где в ТЧ с доп. начислениями добавляется отдельный реквизит "Период начисления". Но тогда встает вопрос, следует ли вносить этот реквизит в регистр доп. начислений (как измерение, реквизит???) и по какому тогда полю делать отбор в отчете по премиям - по периоду регистрации или по этому своему добавленному периоду. Если делать отбор по периоду регистрации, то можем получить в одном месяце несколько строк для одного сотрудника с разными стажами (если стаж считался по отношению к "Периоду начисления").

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

На курсах неоднократно пытались задать этот вопрос Белоусову, но он очень уверенно отвечал, что на экзамене таких задач больше нет. Но оказалось, что все-таки есть и как решать, не понятно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: TUBORG14 от Июнь 10, 2017, 07:51:39 am
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tilirxs от Июнь 11, 2017, 04:16:20 pm
Добрый день.
Попался этот билет на экзамене, сдал на 4ку.
Подробное описание как готовился и рекомендации в ветке "Результат сдачи экзамена" стр. 235

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

Во вложении ДТ с экзамена.

Повезло)))) Ведь  ты не учитываешь Услуги при продаже.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tilirxs от Июнь 11, 2017, 04:20:31 pm
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
Выложи cf-ник пожалуйста а то Платформы 8.3.10 нет сейчас у меня. Заранее Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: TUBORG14 от Июнь 11, 2017, 05:47:15 pm
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
Выложи cf-ник пожалуйста а то Платформы 8.3.10 нет сейчас у меня. Заранее Спасибо.
Держи. Кстати обрати внимание на то, что остатки надо проверять и по регистру ОстаткиНоменклатуры и по СебестоимостьНоменклатуры. Аргументы типа:
- остатки проверяются на регистре ОстаткиНоменклатуры, а на СебестоимостьНоменклатуры проверка будет лишней
- если остатки поверил по конкретному складу (ОстаткиНоменклатуры), а уж по всем складам (СебестоимостьНоменклатуры ) товара конечно хватит
и т.д. не взлетают. Белоусов стоял на своем: мол в 1С нет механизма синхронизации данных в двух регистрах, поэтому остатки надо проверять везде (типа это методологически правильно :)))) ).
P.S. Режим совместимости 8.3.6
Название: Re: Билет 1. Спец по платформе V8
Отправлено: MariaVG от Июнь 11, 2017, 07:43:34 pm
Аргументы типа:
- остатки проверяются на регистре ОстаткиНоменклатуры, а на СебестоимостьНоменклатуры проверка будет лишней
- если остатки поверил по конкретному складу (ОстаткиНоменклатуры), а уж по всем складам (СебестоимостьНоменклатуры ) товара конечно хватит
и т.д. не взлетают.

С первым пунктом согласна, что надо проверять. А вот со вторым - если проверки количества во вложенном множестве не достаточно, т.е. подразумевается, что включающее его множество может иметь меньшее общее количество - это либо отрицательные остатки на других складах, либо глюк платформы (не сталкивалась с таким никогда). Несколько странно проверять это условие. Даже если на других складах отрицательные остатки есть - это ведь не проблема текущего склада, с которого происходит списание.  Если проверять, хотелось бы знать, ради чего.

P.S. Не заметила, что речь идет о разных регистрах. Если о разных, то да. Это уже не вложенное множество, а независимое.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tilirxs от Июнь 12, 2017, 09:23:46 am
А можно удалять объекты из каркасной конфигурации?. За это не снижают балы?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KTM от Июнь 14, 2017, 08:35:06 pm
Добрый день.
Попался этот билет на экзамене, сдал на 4ку.
Подробное описание как готовился и рекомендации в ветке "Результат сдачи экзамена" стр. 235

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

Во вложении ДТ с экзамена.

Повезло)))) Ведь  ты не учитываешь Услуги при продаже.

Там во вложении ДТ подобное ДТ с экзамена, возможно какие-то детали упустил когда решал повторно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KTM от Июнь 14, 2017, 08:35:41 pm
А можно удалять объекты из каркасной конфигурации?. За это не снижают балы?

Не стоит там ничего удалять.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vaasec от Июнь 15, 2017, 08:49:59 am
А можно удалять объекты из каркасной конфигурации?. За это не снижают балы?
Белоусов на своем тренинге не рекомендует удалять объекты.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Natalia от Июнь 19, 2017, 07:36:50 am
Просьба посмотреть и прокомментировать моё решение билета (решены все задачи). В решениях я писал пояснения и комментарии. Постарался собрать описание всех основных нюансов, на которые обращают внимание экзаменаторы, со слов тех, кто уже сдавал и со слов некоторых преподавателей.

Добрый день. Начала готовиться к экзамену.
Проработала решение (замечательный вариант  :)). У меня есть несколько вопросов. Если ответите буду рада). 
ОУ:
1. Почему не исп. Пречисления ВидНоменклатуры?
2. Почему не исп. ДобавитьПриход(), ДобавитьРасход()? в этом есть смысл или кому как удобней?
3. СтрШаблон() Вы намеренно не исп., чтоб решение было рабочим на всех платформах (без доп. настроек)?

БУ:
1. Зачем справочник СрокиГодности? В субконто есть тип Дата.
2. Копейки в расходной накладной. Предложила бы списывать себестоимость так: Себестоимость = Мин(Списать * СебестоимостьЗаЕдиницу, СуммаОстаток)
3. Не проходят услуги. Это допущение решения? т.к. в условии ничего не сказано.

ПР:
1. Вычисление стажа из регистра сведений. Это рекомендация чья то?

Мой вариант расчета стажа:

ВЫБРАТЬ
   ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки КАК НомерСтроки,
   ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза КАК РезультатБаза,
   ШкалаСтажа.Процент КАК Параметр,
   РАЗНОСТЬДАТ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, ДополнительныеНачисленияБазаОсновныеНачисления.БазовыйПериодНачало, ГОД) + ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.НачальныйСтаж КАК Стаж
ИЗ
   РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
         &Измерения,
         &Измерения,
         ,
         Регистратор = &Регистратор
            И ВидРасчета = &ВидРасчетаПремия) КАК ДополнительныеНачисленияБазаОсновныеНачисления
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаСтажа КАК ШкалаСтажа
      ПО (ДополнительныеНачисленияБазаОсновныеНачисления.БазовыйПериодНачало МЕЖДУ ДОБАВИТЬКДАТЕ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, ГОД, ШкалаСтажа.ЗначениеОт - ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.НачальныйСтаж) И ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, ГОД, ШкалаСтажа.ЗначениеДо - ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.НачальныйСтаж), ДЕНЬ, -1))

УПОРЯДОЧИТЬ ПО
   НомерСтроки

Если есть замечания буду рада услышать.
   
2. Расчет начисления по Окладу. Если график не заполнен или нет рабочих дней, то норма = 0. Что приведет к делению на 0.
3. РассчитатьЗаписи()
ВТ_МаксимальныйПериод.ПериодДействия = СведенияОСотрудниках.Период
Должно быть
ВТ_МаксимальныйПериод.Период = СведенияОСотрудниках.Период
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июнь 19, 2017, 11:29:41 pm
1. Зачем справочник СрокиГодности? В субконто есть тип Дата.
Вы правы (но только в контексте экзамена). На экзамене разрешается использовать субконто примитивного типа (а вообще это грубое нарушение методики).
2. Копейки в расходной накладной. Предложила бы списывать себестоимость так: Себестоимость = Мин(Списать * СебестоимостьЗаЕдиницу, СуммаОстаток)
Не знаю, что в решении, которое вы смотрели, но ваш вариант точно не верен. Прежде всего, непонятно, что такое у вас СебестоимостьЗаЕдиницу. Но даже если предположить, что вы таким образом сократили ОстатокСумма/ОстатокКоличество, то в том случае, когда списывается всё количество и при этом СебестоимостьЗаЕдиницу < СуммаОстаток, копейки как раз и зависнут.
Вообще, данная ситуация - одна из редких, для которой существует конкретная рекомендация. Что-нибудь в этом роде
Цитировать
СумСписать = ? (КолСписать = ВыбДет.КолОст, ВыбДет.СумОст,  КолСписать / ВыбДет.КолОст * ВыбДет.СумОст);
(как в том решении, не смотрел).
1. Вычисление стажа из регистра сведений. Это рекомендация чья то?
Вроде не было отзывов о замечаниях по способу получения стажа и хранения данных для него. Я при подготовке в спр ФизЛица добавлял рекв ДатаПриемаНаРаботу и от него рассчитывал стаж на нужный момент. По поводу фразы "При решении задачи необходимо учитывать, что на момент начала ведения учета в информационной базе у сотрудника уже может быть стаж отличный от нуля" скажу так - это не мешает нам вводить фактическую дату приема на работу, если она ранее "начала ведения учета".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: silex от Июнь 20, 2017, 07:09:22 am
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.

Добрый день!
Также начал подготовку к экзамену. Ознакомился с вашим решением и если не сложно, могли бы вы ответить.
В РасходнойНакладной в запросе для БУ левое соединение 2 таблиц РБ, сначала по кол-ву, затем по сумме. Непонятно, почему не 1 - условия отбора одинаковые.
| ТЧ КАК ТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
| &МоментВремени,
| Счет = &Товары,
| &Субконто,
| Субконто1 В
| (ВЫБРАТЬ
| Т.Номенклатура
| ИЗ
| ТЧТовары КАК Т)) КАК УправленческийКоличество
| ПО ТЧ.Номенклатура = УправленческийКоличество.Субконто1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
| &МоментВремени,
| Счет = &Товары,
| &Субконто,
| Субконто1 В
| (ВЫБРАТЬ
| Т.Номенклатура
| ИЗ
| ТЧТовары КАК Т)) КАК УправленческийСумма
| ПО ТЧ.Номенклатура = УправленческийСумма.Субконто1
Название: Re: Билет 1. Спец по платформе V8
Отправлено: TUBORG14 от Июнь 20, 2017, 07:52:28 am
Добрый день!
Также начал подготовку к экзамену. Ознакомился с вашим решением и если не сложно, могли бы вы ответить.
В РасходнойНакладной в запросе для БУ левое соединение 2 таблиц РБ, сначала по кол-ву, затем по сумме. Непонятно, почему не 1 - условия отбора одинаковые.

Важно понимать что
1) виртуальные таблицы регистра бухгалтерии всегда сгруппированы
2) признаки учета субконто устанавливаются не просто так  ;)

В данном решении из таблицы УправленческийКоличество получаю КоличествоОстаток (группировка Номенклатура, СрокГодности), а из таблицы УправленческийСумма (группировка Номенклатура) получаю СуммаОстаток.

В итоге по формуле СуммаСписания = КоличествоСписания / ВыборкаНоменклатура.КоличествоОстаток * Выборка.СуммаОстаток
рассчитываю себестоимость как и требуется в условии: "Себестоимость определяется как средняя по товару по всем срокам годности"
Название: Re: Билет 1. Спец по платформе V8
Отправлено: silex от Июнь 20, 2017, 11:32:02 am
Важно понимать что
1) виртуальные таблицы регистра бухгалтерии всегда сгруппированы
2) признаки учета субконто устанавливаются не просто так  ;)

В данном решении из таблицы УправленческийКоличество получаю КоличествоОстаток (группировка Номенклатура, СрокГодности), а из таблицы УправленческийСумма (группировка Номенклатура) получаю СуммаОстаток.

Мысль с 2 таблицами понятна, вытекает из условий задачи.  Необходима сумма по всему остатку товара без учета Субконто2 (СрокГодности).

Заметил еще такой момент - запись в регистры Управленческий и СебестоимостьНоменклатуры.

Движения.Управленческий.Записать();
Движения.СебестоимостьНоменклатуры.Записать();

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

Движения.Управленческий.Очистить();
Движения.СебестоимостьНоменклатуры.Очистить();
Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
Движения.Управленческий.Записать();
Движения.СебестоимостьНоменклатуры.Записать();
КонецЕсли;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Июнь 21, 2017, 01:11:17 pm
Мысль с 2 таблицами понятна, вытекает из условий задачи.  Необходима сумма по всему остатку товара без учета Субконто2 (СрокГодности).

Заметил еще такой момент - запись в регистры Управленческий и СебестоимостьНоменклатуры.

Движения.Управленческий.Записать();
Движения.СебестоимостьНоменклатуры.Записать();

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

Движения.Управленческий.Очистить();
Движения.СебестоимостьНоменклатуры.Очистить();
Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
Движения.Управленческий.Записать();
Движения.СебестоимостьНоменклатуры.Записать();
КонецЕсли;

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

Правильным вариантом видится:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ДополнительныеСвойства.Вставить("Проведен", Проведен);
КонецПроцедуры

Если ДополнительныеСвойства.Проведен Тогда
Движения.СебестоимостьНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.Управленческий.БлокироватьДляИзменения = Истина;

Движения.СебестоимостьНоменклатуры.Записать();
Движения.Управленческий.Записать();
КонецЕсли;

|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &МоментВремениВключая,
| Номенклатура В
| (ВЫБРАТЬ
| Т.Номенклатура
| ИЗ
| ТЧТовары КАК Т)) КАК ОстаткиНоменклатурыОстатки
При проверке остатков в запросе в предложении ИЗ нет проверки по складу. В вашем решении Склад - первое измерение в регистре ОстаткиНоменклатуры. Неэффективная работа запроса.

При списании себестоимости вы делаете еще одну проверку остатков, но уже по регистрам Управленческий и СебестоимостьНоменклатурыОстатки. Надо ли это делать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: silex от Июнь 22, 2017, 01:09:01 pm
Цитировать
При списании себестоимости вы делаете еще одну проверку остатков, но уже по регистрам Управленческий и СебестоимостьНоменклатурыОстатки. Надо ли это делать?

Как было разъяснено на этом форуме, проверку на остатки необходимо делать по каждом учетном регистру ибо нет синхронизации между ними.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: TUBORG14 от Июнь 22, 2017, 05:07:51 pm
Я тоже только начал подготовку, и тоже возникли вопросы. Почему не производится блокировка по старым движениям? В случае перепроведения документа и отката транзакции возможна ситуация, когда номенклатура из старых движений будет уже кем-то использована.

Правильным вариантом видится:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ДополнительныеСвойства.Вставить("Проведен", Проведен);
КонецПроцедуры

Если ДополнительныеСвойства.Проведен Тогда
Движения.СебестоимостьНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.Управленческий.БлокироватьДляИзменения = Истина;

Движения.СебестоимостьНоменклатуры.Записать();
Движения.Управленческий.Записать();
КонецЕсли;

Да простит меня многоУважаемый GROOVY за мою категоричность, но это он в своих примерах и на курсах заморочил мозги своими блокировками старых движений. На мой взгляд это 1Совская ересь и за это надо сжигать на 1Совских кострах!!! Какие нафиг старые движения?! Какая использованная кем-то старая номенклатура и т. д. ?!
Помните мальчика из матрицы: "Для начало надо понять главное - ложки не существует".
Так вот первое - пока успешно не завершилась транзакция никаких ваших "новых" движений для всех остальных пользователей не существует (следовательно нет и "старых", они вообще либо есть либо их нет) и второе сколько я понимаю "старые" движения документа должны блокироваться объектной блокировкой самой системой (Движения - это реквизит объекта), как говориться "пусть кони думают у них головы большие" (это я о разработчиках, пусть они за этим следят).
P.S. И перед разработчиками тоже извиняюсь за коней, просто накипело
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Июнь 24, 2017, 09:47:39 am
проверку на остатки необходимо делать по каждом учетном регистру ибо нет синхронизации между ними.
первое - пока успешно не завершилась транзакция никаких ваших "новых" движений для всех остальных пользователей не существует (следовательно нет и "старых", они вообще либо есть либо их нет) и второе сколько я понимаю "старые" движения документа должны блокироваться объектной блокировкой самой системой (Движения - это реквизит объекта)
Спасибо, добавил в шпаргалку.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ХочуВсеЗнать от Июнь 24, 2017, 06:58:05 pm
Как было разъяснено на этом форуме, проверку на остатки необходимо делать по каждом учетном регистру ибо нет синхронизации между ними.

отсюда вопрос - у всех в решениях вижу эту задачу сделанной на 2 РН:
Товар, Склад - Количество
и
Товар, Партия - Количество, Сумма

А ведь с таким подходом к контролю остатков смысл в 2 регистрах немного пропадает:
проще добавить измерение Склад в регистр с партиями, и не заморачиваться с новой методикой, потому что если раньше она хотя бы давала по-быстрому контроль остатка (и типа при минусах дальше можно не проводить док), то теперь не дает ничего, т.к. по партиям все равно этот контроль делать.

Кому-то попадалась уже после введения этого требования эта задачка на экзамене, и как решали?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wings от Июнь 26, 2017, 06:10:45 pm
Подскажите, пожалуйста, есть ли принципиальная разница между этими двумя вариантами обхода. При помощи структуры поиска и без нее.

1.
Поиск = Новый Структура("НомерСтроки");
Для каждого Движение Из Движения.Дополнительные Цикл

Поиск.НомерСтроки = Движение.НомерСтроки;

Пока ВыборкаДН.НайтиСледующий(Поиск) Цикл
Движение.Сумма = ВыборкаДН.СуммаБаза*ВыборкаДН.Процент/100;
КонецЦикла;
    ВыборкаДН.Сбросить();

КонецЦикла;

2.

Пока Выборка.Следующий() Цикл

Движения.Основные[Выборка.НомерСтроки-1].Сумма = Выборка.Ставка*Выборка.Факт/Выборка.План;

КонецЦикла;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ХочуВсеЗнать от Июнь 26, 2017, 08:47:03 pm
Подскажите, пожалуйста, есть ли принципиальная разница между этими двумя вариантами обхода. При помощи структуры поиска и без нее.

Индекс не всегда = НомерСтроки -1, так что второй вариант неправильный.
Ну то есть он скорее всего будет работать, но неправильный методически.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wings от Июнь 27, 2017, 10:19:09 am
Подскажите, пожалуйста, есть ли принципиальная разница между этими двумя вариантами обхода. При помощи структуры поиска и без нее.

Индекс не всегда = НомерСтроки -1, так что второй вариант неправильный.
Ну то есть он скорее всего будет работать, но неправильный методически.

Ага. Ясно, спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wings от Июль 06, 2017, 11:32:37 am
Еще вопрос.
Серьезной ли ошибкой будет НЕ делать индексирование во всех этих самодельных временных таблицах. Ведь вроде как при маленькой базе это только вредно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 06, 2017, 11:49:31 am
Еще вопрос.
Серьезной ли ошибкой будет НЕ делать индексирование во всех этих самодельных временных таблицах. Ведь вроде как при маленькой базе это только вредно?
Вы читали перечень ошибок из "Требований..."?
Цитировать
В задачах получения данных из информационной базы установка отборов по неиндексированным полям - 0,5 балла
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wings от Июль 06, 2017, 12:29:48 pm
Вы читали перечень ошибок из "Требований..."?
Цитировать
В задачах получения данных из информационной базы установка отборов по неиндексированным полям - 0,5 балла

Видимо, оно потерялось в общей массе этой сотни требований)) Ладно, намек понятен, спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Boreas от Июль 06, 2017, 10:48:24 pm
Дамы и господа, добрый вечер. Читаю про расчетную задачу и данные по разным расчетным периодам в одном документе, и не могу понять. Обсуждают что угодно: на какую дату брать оклад, еще что-то, но самое главное: как вы получаете данные графика? Руками по регистру сведений собираете? Это методически правильно на экзамене? Есть другие варианты?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Июль 07, 2017, 06:34:19 am
как вы получаете данные графика?


   Из виртуальной таблицы ОсновныеНачисления.ДанныеГрафика естественно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Июль 13, 2017, 11:43:57 am
Друзья,подскажите, почему не идет база для премии.
Всю голову сломал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ХочуВсеЗнать от Июль 13, 2017, 12:02:15 pm
Друзья,подскажите, почему не идет база для премии.
Всю голову сломал.

потому что в регистре ДопНачисления у вас тип Сотрудника - строка, а надо ФизЛица.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Июль 13, 2017, 12:18:32 pm

потому что в регистре ДопНачисления у вас тип Сотрудника - строка, а надо ФизЛица.
[/quote]

Спасибо огромное. 2 дня мучаюсь
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Июль 21, 2017, 09:25:20 pm
TUBORG14

если есть возможность редактировать - пометь в своем посте где конфу выкладываешь, что услуги забиты в номенклатуру.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 22, 2017, 06:24:39 am
На услуги меньше всего обращают внимание, основное в задачах ОУ и БУ это: индексация, блокировки, кроме правильности проверяют форму отчета(а именно внешний вид), он должен быть таким как на картинке, использование в вирт таблицах отборов. За это все может быть снижена оценка.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: TUBORG14 от Июль 22, 2017, 05:51:18 pm
TUBORG14

если есть возможность редактировать - пометь в своем посте где конфу выкладываешь, что услуги забиты в номенклатуру.
Ребяты, дорогие мои, ну Вы вооще !!! Мне тут письма пишут чтобы я все выгрузки зипанул и почте прислал. Давайте я все разжую и в клювик положу. А лучше еще разок на экзамен схожу вместо Вас :)

P.S. А куда же еще услуги должны быть "забиты"?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Июль 23, 2017, 01:10:54 pm
TUBORG14

если есть возможность редактировать - пометь в своем посте где конфу выкладываешь, что услуги забиты в номенклатуру.
Ребяты, дорогие мои, ну Вы вооще !!! Мне тут письма пишут чтобы я все выгрузки зипанул и почте прислал. Давайте я все разжую и в клювик положу. А лучше еще разок на экзамен схожу вместо Вас :)

P.S. А куда же еще услуги должны быть "забиты"?

Не ну я же о других забочусь, мне то понятно что где лежит по тексту, хотя во второй задаче скинуто все в один запрос и БУ и ОУ, щас сижу думаю как делить ибо на экзамене, насколько я слышал, будут первые пять вопросов из списка вперемешку.
p.s. Белоусов на своих консультациях вписывает услугу в ТЧ расходного как поле ТЧ и не заморачивается.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 23, 2017, 04:18:30 pm
... как делить ибо на экзамене ...
Очень просто - для ОУ и БУ писать совершенно независимые блоки в процедуре проведения. Блоки работают в зависимости от значения реквизитов ОУ и БУ типа булево расходной накладной.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Июль 23, 2017, 04:44:42 pm
... как делить ибо на экзамене ...
Очень просто - для ОУ и БУ писать совершенно независимые блоки в процедуре проведения. Блоки работают в зависимости от значения реквизитов ОУ и БУ типа булево расходной накладной.

Ну ето понятно щас как раз пытаюсь делить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 23, 2017, 11:16:32 pm
Ничего не нужно делить по флагу булево. Был задан вопрос экзаменатору: "Можно разделить проведение РН по ОУ и  БУ, например флагом вкл или выкл одного из учетом", Ответ: "Для теста можете использовать что хотите, но проведение документа должно двигать оба регистры по ОУ и БУ".
Рекомендую решать без какого либо флага. Самое главное: Реализация алгоритма, Блокировки, параметры вирт. таблиц.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Июль 24, 2017, 09:44:03 am
Ничего не нужно делить по флагу булево. Был задан вопрос экзаменатору: "Можно разделить проведение РН по ОУ и  БУ, например флагом вкл или выкл одного из учетом", Ответ: "Для теста можете использовать что хотите, но проведение документа должно двигать оба регистры по ОУ и БУ".
Рекомендую решать без какого либо флага. Самое главное: Реализация алгоритма, Блокировки, параметры вирт. таблиц.
Во многих комбинациях ОУ-БУ невозможно одновременно проводить РН по ОУ и БУ.
Разделение проведения используют многие (думаю, почти все), ни о каких замечаниях по этому поводу никто никогда не писал.
P.S. Кто тот экзаменатор, о котором вы пишете?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 24, 2017, 09:45:08 am
О Павле Белоусове
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 24, 2017, 09:56:45 am
Вопрос задавал на курсе.
А так же было озвучено что ЗАПРЕЩЕНО использовать чистую конфу, нужно использовать каркасную: "Раньше разрешали использовать, сейчас нет. Тем самым вы показываете что умеете изменять не свою конфу(не дословно)" 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wolfery от Июль 25, 2017, 09:42:40 pm
Скажите, пожалуйста, насколько необходимо делать отбор по видам субконто при получении остатков для списания из регистра бухгалтерии (3-й параметр виртуальной таблицы)?
В решениях этот отбор обычно делают, но ведь при указании конкретного счета он довольно бессмысленен.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 25, 2017, 10:33:24 pm
В решениях этот отбор обычно делают, но ведь при указании конкретного счета он довольно бессмысленен.
Отборы должны быть по максимуму.
Возьмем РН, есть измерения: Организация, Склад, Товар. Ресурс: Количество. Возьмем за истину что на складе хранится товар определенной организации. Когда будем получать остатки что отработает быстрее: *.Остатки(, Организация = &Организация И Склад = &Склад И Товар В(&СпТовары)) ИЛИ *.Остатки(,  Склад = &Склад И Товар В(&СпТовары))
?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wolfery от Июль 25, 2017, 11:51:53 pm
С РН понятно более менее. А вот в случае РБ в чем выигрыш такой конструкции
РегистрБухгалтерии.Управленческий.Остатки(&ДатаОстатков, Счет = &Товары, &Субконто, Субконто1 В (&МассивНоменклатуры))
по сравнению с такой
РегистрБухгалтерии.Управленческий.Остатки(&ДатаОстатков, Счет = &Товары, , Субконто1 В (&МассивНоменклатуры))
?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 26, 2017, 08:54:26 am
Отличие РБ от РН в его многомерности.
А если на счету имеется субконто более двух, а остатки, например, нужно получить по двум субконто?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 26, 2017, 09:11:19 am
И еще, если не ошибаюсь, при получении данных из вирт. таблиц, передача массива субконто связана с типизацией значений этих самых субконто. Короче надо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: xXeNoNx от Июль 26, 2017, 09:14:12 am
Можно поэксперементировать, получить остатки товаров, передав в массиве субконто вид субконто контрагенты, например
Название: Re: Билет 1. Спец по платформе V8
Отправлено: wolfery от Июль 26, 2017, 01:19:18 pm
Провела несколько экспериментов. Если получать остатки товаров с видом субконто контрагенты, то результат будет пустой. Если в запрос передать один вид субконто и попытаться получить субконто1 и субконто2, то запрос вылетит с ошибкой. Если передать массив одинаковых видов субконто и такой вид субконто есть на счете, то субконто1 и субконто2 будут одинаковые.
В общем, прочитала еще, что порядок элементов в передаваемом массиве видов субконто влияет на то, какое субконто будет субконто1, а какое субконто2. А так как порядок субконто на счете можно менять в пользовательском режиме, то это, наверное, основная причина, почему используется отбор по видам субконто в данном случае.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Yulia_Yulia от Сентябрь 25, 2017, 08:36:00 am
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 01, 2017, 11:16:28 am
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение
Смотрел только ОУ.
В запросе на проверку остатков выбираете поля Склад и Номенклатура, но нигде не используете.
В этом же запросе параметром вирт.таблицы указываете границу. Для оперативного проведения нужно использовать Неопределено.
Не используете проверку РезультатЗапроса.Пустой().
Не чистите движения перед формированием движений по регистру ПартииОстаткиНоменклатуры.
Проблема копеек - у вас ошибка в проверке. Должно быть Если  Списываем = ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда
Не понял зачем вам ТекСебестоимость = ТекСебестоимость + Стоимость;
В отчете у вас есть итоги по складам, а в условии нет.
Все ошибки на внимательность.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 02, 2017, 01:24:32 am
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 02, 2017, 07:14:43 am
списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Я только начал решать БУ. Можете выложить базу и запрос, в которых можно увидеть эту проблему?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 02, 2017, 11:43:00 pm
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Там не нужны партии, списание по среднему. Для того, чтобы не копился суммовой остаток, нужно использовать признак учета субконто "Суммовой", т.е. вести только суммовой остаток (итоговой) по номенклатуре
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 03, 2017, 12:00:51 am
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ

БУ. В документе Операция: я бы в форме убрала период, и заполняла бы его автоматом из модуля объекта в процедуре ПередЗаписью. Там же устанавливала бы активность для движений. При решении задачи следует учесть возможность наличия проводок, сформированных с помощью данного документа. Если записать документ с проводками и потом поставить пометку на удаление, то проводки будут активными, их надо вырубать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 03, 2017, 07:52:41 am
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ
Из вашего вопроса, я так понимаю, это неправильно?
В соседнем топе alex1248 поясняет это так
во всех задачах с расчетом себестоимости надо использовать старую методику. Лично я принцип определения методики формулирую так: "Новая методика в том случае, если для ее применения не надо создавать дополнительных регистров и даже доп ресурсов в существующих регистрах. Если есть необходимость создания доп объектов исключительно для новой методики, использование новой методики на экз скорее всего будет признано неэффективным".
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 03, 2017, 10:27:43 am
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.
Это мнение не моё.  :)
На самом деле, я при подготовке тоже прикручивал новую методику везде, где это было возможно сделать, и согласен, что нет однозначного ответа на вопрос по поводу эффективности.
Но после того как я уже сдал (а мне повезло, задача ОУ была однозначно с новой методикой, только на количество, без с/с или каких-то иных доп данных), на форуме было несколько отзывов о том, что в задачах с с/с и т.п. за прикручивание новой методики снижали оценки. Сообщений о снижении за старую в таких задачах за 2 последних года не было. Так что логично сделать вывод, что это мнение экзаменаторов.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: la4an от Октябрь 03, 2017, 12:28:58 pm
Господа а кто может сказать где взять доп условия для дистанционной сдачи по первому билету
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 03, 2017, 12:59:38 pm
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ
Из вашего вопроса, я так понимаю, это неправильно?
В соседнем топе alex1248 поясняет это так
во всех задачах с расчетом себестоимости надо использовать старую методику. Лично я принцип определения методики формулирую так: "Новая методика в том случае, если для ее применения не надо создавать дополнительных регистров и даже доп ресурсов в существующих регистрах. Если есть необходимость создания доп объектов исключительно для новой методики, использование новой методики на экз скорее всего будет признано неэффективным".
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.

Я не стала смотреть то решение по ОУ, потому что его уже комментировали. Но решила задать вопрос про регистры. Соглашусь с тем мнением (чье бы оно не было :).)о том, что новую методику лучше применять тогда, когда для нее не надо создавать велосипед :)
Мне кажется это неэффективным. Как это покажется экзаменатору - другой вопрос. Мне на экзамене как раз попалась именно эта задача по ОУ. Я решила на одном регистре. Сразу скажу, что пока не знаю результатов экзамена.

п/с вообще, если мне не изменяет память, то при прорешевании билетов, я сама использовала новую методику только в двух местах. Вот например, в 6 билете ОУ про стеллажи.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 03, 2017, 09:24:55 pm
Я только начал решать БУ. Можете выложить базу и запрос, в которых можно увидеть эту проблему?

Цитировать
//Бухгалтерский учет
Функция БухгалтерскийУчет(Отказ, Режим)

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

//Заблокируем регистр
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.РегистрБухгалтерии1");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("Счет",ПланыСчетов.Управленческий.Товары);
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура");

Блокировка.Заблокировать();

//Запишем данные в регистр бух
///////////////////////////

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК ДокНоменклатура,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК ДокКоличество,
| РасходнаяНакладнаяСписокНоменклатуры.Сумма
|ПОМЕСТИТЬ ВТДокументРасходнаяНакладная
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
| И РасходнаяНакладнаяСписокНоменклатуры.ВидНоменклатуры = &ВидНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
| РасходнаяНакладнаяСписокНоменклатуры.Сумма
|
|ИНДЕКСИРОВАТЬ ПО
| ДокНоменклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТДокументРасходнаяНакладная.ДокНоменклатура КАК ДокНоменклатура,
| ВТДокументРасходнаяНакладная.ДокКоличество КАК ДокКоличество,
| РегистрБухгалтерии1Остатки.Субконто2 КАК СрокГодности,
| ЕСТЬNULL(РегистрБухгалтерии1Остатки.КоличествоОстаток, 0) КАК РегистрКоличествоОстаток,
| РегистрБухгалтерии1Остатки.СуммаОстаток КАК РегистрСуммаОстаток,
| ВТДокументРасходнаяНакладная.Сумма КАК ДокСумма
|ИЗ
| ВТДокументРасходнаяНакладная КАК ВТДокументРасходнаяНакладная
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии1.Остатки(
| &МоментВремени,
| Счет = &Счет,
| &МассивСубконто,
| Субконто1 В
| (ВЫБРАТЬ
| ВТДокументРасходнаяНакладная.ДокНоменклатура
| ИЗ
| ВТДокументРасходнаяНакладная КАК ВТДокументРасходнаяНакладная)) КАК РегистрБухгалтерии1Остатки
| ПО ВТДокументРасходнаяНакладная.ДокНоменклатура = РегистрБухгалтерии1Остатки.Субконто1
|
|УПОРЯДОЧИТЬ ПО
| РегистрБухгалтерии1Остатки.Субконто2
|ИТОГИ
| МАКСИМУМ(ДокКоличество),
| СУММА(РегистрКоличествоОстаток),
| СУММА(РегистрСуммаОстаток)
|ПО
| ДокНоменклатура";

МассивСубконто = Новый Массив;
МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);

Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("МассивСубконто",МассивСубконто);
Запрос.УстановитьПараметр("МоментВремени",МоментВремени());
Запрос.УстановитьПараметр("Счет",ПланыСчетов.Управленческий.Товары);
Запрос.УстановитьПараметр("ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Товар);
РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
//Выбрать номенклатуру
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если ВыборкаДетальныеЗаписи.ДокКоличество > ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток Тогда

Нехватает = ВыборкаДетальныеЗаписи.ДокКоличество - ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток;
Отказ = Истина;
Сообщить ("На складах фирмы не хватает "+ ВыборкаДетальныеЗаписи.ДокНоменклатура +" в количестве "+ Нехватает);

КонецЕсли;

СебестоимостьНоменклатуры = ВыборкаДетальныеЗаписи.РегистрСуммаОстаток/ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток;
СписатьВсегоКоличество = ВыборкаДетальныеЗаписи.ДокКоличество;
СписатьВсегоСумма = ВыборкаДетальныеЗаписи.РегистрСуммаОстаток;
ВыборкаТелаГруппы = ВыборкаДетальныеЗаписи.Выбрать();


//пройти по группе номенклатуры и списать всю номенклатуру
Пока ВыборкаТелаГруппы.Следующий() И СписатьВсегоКоличество > 0 И НЕ Отказ Цикл

СписатьВПроводке = МИН(СписатьВсегоКоличество,ВыборкаТелаГруппы.РегистрКоличествоОстаток);

Движение = Движения.РегистрБухгалтерии1.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.Количество = СписатьВПроводке;
Если СписатьВсегоКоличество = ВыборкаТелаГруппы.РегистрКоличествоОстаток И ВыборкаДетальныеЗаписи.ДокКоличество = ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток Тогда

Движение.Сумма = СписатьВсегоСумма;

Иначе

Движение.Сумма = СебестоимостьНоменклатуры*ВыборкаТелаГруппы.РегистрКоличествоОстаток;

КонецЕсли;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаТелаГруппы.ДокНоменклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаТелаГруппы.СрокГодности;

СписатьВсегоСумма = СписатьВсегоСумма - Движение.Сумма;
СписатьВсегоКоличество = СписатьВсегоКоличество - СписатьВПроводке;

КонецЦикла;

КонецЦикла;

Если НЕ Отказ  Тогда

Движение = Движения.РегистрБухгалтерии1.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.Период = Дата;
Движение.Сумма = СписокНоменклатуры.Итог("Сумма");


КонецЕсли;



КонецФункции // ()
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 03, 2017, 09:47:06 pm
Там не нужны партии, списание по среднему. Для того, чтобы не копился суммовой остаток, нужно использовать признак учета субконто "Суммовой", т.е. вести только суммовой остаток (итоговой) по номенклатуре

Партии там в принципе нужны, так как условия задачи определяют количественное списание по методике
"В первую очередь списывается товар с наименьшим календарным сроком годности. "

В принципе сам уже пришел к решению о суммовом и списании отдельно количества, отдельно стоимости, правда тут будут вылезать веселые проводки на тему - списание только суммы или только количества без суммы. Зато регистр будет в порядке.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Октябрь 03, 2017, 10:21:23 pm
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Отключайте суммовой учет по срокам годности. Подробности обсуждались много раз, почитайте ветку, и можете посмотреть в выложенных решениях.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: la4an от Октябрь 04, 2017, 10:39:28 am
В условиях билета № 1. . Значение учетной политики меняется не чаще одного раза в год. Как я понимаю на примере: Установили на 01.01.2017 и один раз за год мы можем изменить к примеру на 04.05.2017. А почему во всех примера стоит у РС Учетная Политика - переодичность в пределах года. Которая по сути дает только устанавливать раз в год значение РС. Я просто не могу понять почему у всех решено " пределах года": Изменилось условие в задачах или я не правильно условие задачи не понимаю и все решают верно???
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Semser от Октябрь 04, 2017, 11:50:50 am
Добрый день всем. Мой вариант решения 1 билета. Буду благодарен за комментарии
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Октябрь 04, 2017, 12:45:43 pm
Что значит "скоростное"?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 04, 2017, 12:47:17 pm
В условиях билета № 1. . Значение учетной политики меняется не чаще одного раза в год. Как я понимаю на примере: Установили на 01.01.2017 и один раз за год мы можем изменить к примеру на 04.05.2017. А почему во всех примера стоит у РС Учетная Политика - переодичность в пределах года. Которая по сути дает только устанавливать раз в год значение РС. Я просто не могу понять почему у всех решено " пределах года": Изменилось условие в задачах или я не правильно условие задачи не понимаю и все решают верно???
Значение учетной политики меняется не чаще одного раза в год. Это значит, что переодичность у РС "В пределах года".
Т.е. запись с периодом 04,05,2017 мы можем сделать при условии, что записи в этом году больше никакой не было.

по вашему примеру: "Установили на 01.01.2017 и один раз за год мы можем изменить к примеру на 04.05.2017. " - это уже значит, что поилитку поменяли 2 раза за год.
а вот так, например: "Установили на 31.12.2016 23.59.59 и один раз за год мы можем изменить к примеру на 04.05.2017. " - установили политику по 1 разу за каждый год.

в общем, довертесь большинству ;)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Октябрь 04, 2017, 12:54:42 pm
большинство уже смирилось с кривыми формулировками
Название: Re: Билет 1. Спец по платформе V8
Отправлено: la4an от Октябрь 04, 2017, 12:56:06 pm
в общем, довертесь большинству ;)
Спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Semser от Октябрь 04, 2017, 08:21:16 pm
Что значит "скоростное"?
это я готовлюсь к экзамену и решал билет на время
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kvt500 от Октябрь 05, 2017, 05:44:51 am
Что значит "скоростное"?
это я готовлюсь к экзамену и решал билет на время
Какое лучшее время по скоростному прохождению?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Semser от Октябрь 05, 2017, 05:59:10 am
Что значит "скоростное"?
это я готовлюсь к экзамену и решал билет на время
Какое лучшее время по скоростному прохождению?
пока только 3 часа 15 минут это рекорд а в среднем около 3 часов 40 минут
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Hatfieldx от Октябрь 05, 2017, 12:18:56 pm
Добрый день!

Часть людей сдает экзамен с решением ОУ через "новую" + "старую" методику, часть только через "старую"
Если за решение только через "старую" методику гарантировано не снимают балы за "менее эффективное решение", то какой смысл в решении использовать "новую", ведь она гораздо затратнее по времени написании кода в сравнении с традиционной.

В тоже время практически все последние решения первого билета в данной теме с использованием новой методики.

Возможно я чего-то недопонимаю, но в чем логика использования новой методики контроля остатков в данной задаче?

(понимаю, что данный вопрос уже не раз пережевывался на этом форуме, но окончательного решения я так и не нашел)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 06, 2017, 10:39:25 pm
Добрый день!

Часть людей сдает экзамен с решением ОУ через "новую" + "старую" методику, часть только через "старую"
Если за решение только через "старую" методику гарантировано не снимают балы за "менее эффективное решение", то какой смысл в решении использовать "новую", ведь она гораздо затратнее по времени написании кода в сравнении с традиционной.

В тоже время практически все последние решения первого билета в данной теме с использованием новой методики.

Возможно я чего-то недопонимаю, но в чем логика использования новой методики контроля остатков в данной задаче?

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

Новую методику где то можно и применить, так как если не выбирать что делать могут на удаленке скинуть баллы за незнание новой методики. При офлайн сдаче - можете в принципе еще доказать преподу что вы не шланг.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 06, 2017, 10:53:49 pm
...
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Отключайте суммовой учет по срокам годности. Подробности обсуждались много раз, почитайте ветку, и можете посмотреть в выложенных решениях.
Перечитал ветку, наиболее вменяемый вариант решения от  выдает следующий отчет
(https://cdn1.savepice.ru/uploads/2017/10/6/fd7d9db1d284cbd1864f1d73e2c44820-full.jpg)

Как я понимаю, или проверкой себя 1С не сильно утруждают, хотя использование на экзамене платформы 8.3.6 уже говорит об уровне этого балагана))))

Но вот вопрос остается открытым кто нибудь стесывал остатки с партий или они так и копятся у всех и потом собираются отчетами?
Суммой не суммовой, отчет будет обязан выбрать все партии чтобы правильно посчитать среднее.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 06, 2017, 10:57:13 pm
Добрый день!

Часть людей сдает экзамен с решением ОУ через "новую" + "старую" методику, часть только через "старую"
Если за решение только через "старую" методику гарантировано не снимают балы за "менее эффективное решение", то какой смысл в решении использовать "новую", ведь она гораздо затратнее по времени написании кода в сравнении с традиционной.

В тоже время практически все последние решения первого билета в данной теме с использованием новой методики.

Возможно я чего-то недопонимаю, но в чем логика использования новой методики контроля остатков в данной задаче?

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

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

Неужели из-за этого нужно теперь пихать новую методику везде, где не надо? имхо - в первом билете она не нужна. На форуме сложилось два мнения (примерно): если не применишь, посчитают, что ты ее не знаешь - минус балл, если применишь, где ну нет смысла, скажут неэффективно триста регистров - минус балл. Безысходность :)
Я считаю так: надо решать так, как тебе кажется нужно делать (конечно, я про такие билеты, где видимо не очевидно). Ну и коммент оставить не помешало бы при сдаче на удаленке, а почему вы так решили. ;)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 06, 2017, 10:59:03 pm
...
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Отключайте суммовой учет по срокам годности. Подробности обсуждались много раз, почитайте ветку, и можете посмотреть в выложенных решениях.
Перечитал ветку, наиболее вменяемый вариант решения от  выдает следующий отчет
(https://cdn1.savepice.ru/uploads/2017/10/6/fd7d9db1d284cbd1864f1d73e2c44820-full.jpg)

Как я понимаю, или проверкой себя 1С не сильно утруждают, хотя использование на экзамене платформы 8.3.6 уже говорит об уровне этого балагана))))

Но вот вопрос остается открытым кто нибудь стесывал остатки с партий или они так и копятся у всех и потом собираются отчетами?
Суммой не суммовой, отчет будет обязан выбрать все партии чтобы правильно посчитать среднее.

можно посмотреть базу? заинтриговали
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 06, 2017, 11:05:14 pm
можно посмотреть базу? заинтриговали
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
38 страница тема сверху
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 06, 2017, 11:23:00 pm
38 страница тема сверху

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

добавлено:
Чтобы было понятно, как работают эти признаки советую все запросы делать в консоли. И вы правы, надо всегда тестить
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 07, 2017, 01:29:43 am
Вот вам мое решение. Посмотрите) может за одно и какие-нибудь ошибки заметите.

1. Отчет не соответствует заданию,
2. Отрицательные остатки хранятся в базе, при проведении документа они в любом случае подлежат обходу.
3. Ответьте на вопрос - сколько весит ссылка и сколько весит дата?
4. Пример неработоспособен, выгрузка в приложении, в расходной накладной поставьте 35, 37, 47 и посмотрите с каких партий списывается.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 07, 2017, 01:31:39 am
Добрый день всем. Мой вариант решения 1 билета. Буду благодарен за комментарии
Ах да забыл написать - пример так же неработоспособен, понатыкайте партий и спишите половину количества одной расходной.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 07, 2017, 03:15:52 am
1. Отчет не соответствует заданию
Соответствует. Если не нравиться внешний вид, то это не критично, я же не на экзамене.

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

3. Ответьте на вопрос - сколько весит ссылка и сколько весит дата?
Вам до граммов? ;D А если без шуток, то я так понимаю вы имели в виду то, что тип значения характеристики СрокГодности должен быть датой, а не ссылкой. У меня мысли были такие. Вообще крайне не рекомендуется использовать примитивные типы данных при описании характеристик для субконто. Максимальное количество ключей индекса SQL - 16 штук. То есть индексируются только первые 16, остальные нет. Индексы используются для поиска строки итогов при записи движений. Если выйти за пределы, то при записи будет получена не одна строка, а диапазон, а дальше его перебор.
Пример. У регистра три измерения и максимально количество субконто 3. Тип значения характеристик - составной тип данных. Если все субконто ссылки, то для каждого субконто выделяется по три поля: имя объекта, имя таблицы, ссылка на запись. Если добавить еще 1 примитивный, то будет по 4, так как будет еще одно поле для каждого значения примитивного. А теперь посчитаем, сколько будет полей в самой большой таблице (остатки и обороты), при условии, что все субконто ссылки и примитивных нет:
3 поля на измерения,
2 для периода и счета,
9 для субконто
и 1 для служебного разделителя.
Итого 15, добавим примитивное и вылезем за пределы. Вот по этому кране не рекомендуется использовать примитивные.
Я думала, что за это будут снижать оценку.

4. Пример неработоспособен, выгрузка в приложении, в расходной накладной поставьте 35, 37, 47 и посмотрите с каких партий списывается.
Но вы правы, там  у меня ошибка. Я правильно упорядочивала по сроку годности, но по сути в запросе упорядочивание шло по наименованию, или даже не понятно как ;D В общем либо делать, как все (я просто видела решения с датой), либо что-то делать с этой ссылкой. Думаю, конкретно в этой задаче можно и дату запихнуть.

Спасибо, что нашли ошибки!
Исправила на дату, база в приложении
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 07, 2017, 11:53:43 am
Многобукв...

По сылкам и числам не понял, откуда взялись три измерения и три субконто, если в вашем решении 2 и 0 соответственно.

По решению задачи - выгрузка в приложении в расходной укажите 0 и 10 и посмотрите результат.
Ошибка тут Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ТекСтрокаСписокНоменклатуры.СрокГодности;
Учетная политика где?
"Списание себестоимости товаров должно быть организовано по партиям, в зависимости от метода списания (FIFO или LIFO), принятого в учетной политике."

Не индексируются ВТ минус балл.

короче лан я понял что готового решения за все годы принятия экзамена нет, в принципе я не удивлен, было бы странно если бы было наоборот.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 07, 2017, 11:55:13 am
Ах да выгружу ошибки в последний раз - научитесь тестировать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 07, 2017, 12:46:50 pm
По сылкам и числам не понял, откуда взялись три измерения и три субконто, если в вашем решении 2 и 0 соответственно.
Я привела пример, чтобы было понятно. Почитайте литературу.

Учетная политика где?
"Списание себестоимости товаров должно быть организовано по партиям, в зависимости от метода списания (FIFO или LIFO),
Этого в условии задачи нет.

Не индексируются ВТ минус балл.
Очень жаль, что не поняли "монго буков", это нужно знать. Категорически нигде не делают субконто примитивным типом, в том числе и в типовых решениях. А если сделать субконто датой, то уже не проиндексировать. Ошибка будет выходить.

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

Думаю больше нечего обсуждать. Приятно было пообщаться
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 07, 2017, 01:25:24 pm
...
Думаю больше нечего обсуждать. Приятно было пообщаться

Наталья, не то чтобы мне хотелось оставить за собой последнее слово, но вопрос звучал так -
...списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?

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

Для понимания приведу пример.

Фирма купила 1 ручку за 999руб
потом купила 999 ручек за 1руб

потом продала 1 ручку и списала по средней цене 1руб.
потом еще одну ручку и списала ....
И вот тут самое интересное, вы сделали следующее списание без учета первой партии с количеством ноль, то есть списали 0,001руб или сделали с учетом и правильно списали 1руб, но оставили остатки 998 руб в первой партии, которые придется каждое списание принимать к расчету.

В принципе, как я писал решение у меня уже созрело, но надеялся увидеть более элегантный выход из данной ситуации...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 08, 2017, 12:45:31 pm
можно посмотреть базу? заинтриговали
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
38 страница тема сверху
Никак не могу понять о чем вы толкуете.
У TUBORG14 отключен суммовой учет по срокам годности. Откуда вы берете суммовые остатки по ним?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 08, 2017, 01:20:11 pm
Посмотрите, пожалуйста, мой билет.
ОУ решал по новой методике. Для себя пока не определился насчет эффективности, но склоняюсь тому, что на экзамене вряд ли буду ее использовать в этой задаче.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 08, 2017, 11:48:34 pm
Никак не могу понять о чем вы толкуете.
У TUBORG14 отключен суммовой учет по срокам годности. Откуда вы берете суммовые остатки по ним?
« Ответ #626 : Октябрь 06, 2017, 10:53:49 pm »
Там скрин с его базы по его же отчету.
Что за остатки уже 3 раза перетирали.
Вариант я вижу один - сделать выборку в запросе на списание раздельно по партиям и раздельно по себестоимости номенклатуры и потом склеить лефт джойном.
Но пока не заморачивался и так канает на весьма неплохую оценку, мож просто применю на зачете данное решение, тем более как я посмотрел все его юзают и за многочасовые запросы еще не ругали.
Это уже из цикла если будет окно в проектах - сделаю лучше, нет - так никому и не надо.
Есть еще вариант с доп регистром как делается в ОУ но тут могут влупить минуса, Белоусов например уверен что в бухе тока один регистр.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 09, 2017, 08:21:54 am
Там скрин с его базы по его же отчету.
Скрин я видел, не пойму вводом каких документов вы этого добились. Можете выложить базу, где у вас такой отчет получается?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SnowWolf от Октябрь 10, 2017, 09:01:50 am
Там скрин с его базы по его же отчету.
Скрин я видел, не пойму вводом каких документов вы этого добились. Можете выложить базу, где у вас такой отчет получается?
Вам необходимо реализовать проверку для заданных условий.
"Товар с одинаковым сроком годности может поступать разными документами и по разной цене."
"Возможна ситуация когда в одном документе один и тот же товар поступает с разными сроками годности (и по разной цене)."
Сделайте штук пять приходных с такими условиями.

Ну и тесты стандартного диапазона результатов - меньше минимума, минимум, больше минимума. Так как максимума тут нет этот тест можно пропустить.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Alasska от Октябрь 10, 2017, 07:28:17 pm
Пришли результаты экзамена. Мне попался ОУ из 1 билета. Кому было интересно, решение задачи на 1 регистре верно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sitk от Октябрь 11, 2017, 01:56:45 pm
Добрый день! В случае доп. условие "Расчет в форме документа" зачем фиксировать транзакцию, можно ведь ее просто отменить и значения в форме остануться. Не нужно будет еще раз записывать движения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 13, 2017, 08:08:59 am
Вам необходимо реализовать проверку для заданных условий.
"Товар с одинаковым сроком годности может поступать разными документами и по разной цене."
"Возможна ситуация когда в одном документе один и тот же товар поступает с разными сроками годности (и по разной цене)."
Сделайте штук пять приходных с такими условиями.

Ну и тесты стандартного диапазона результатов - меньше минимума, минимум, больше минимума. Так как максимума тут нет этот тест можно пропустить.

В базе Туборга ввел несколько приходных, несколько расходных. Расходные вводил по одной и смотрел отчет. Количество выбирал как внутри одного срока годности, так и с захватом сразу нескольких. Превысить остатки не получилось, проверка отрабатывает, в ноль выводится, проблему не воспроизвел. Мне думается что вы что-то поправили в этой базе, раз у вас такой результат получается. Без выложенной базы с проблемой разговор не конструктивный.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Октябрь 21, 2017, 02:09:49 pm
Решил попробовать решить задачу ОУ по старой методике на одном регистре. Сразу возник вопрос как обеспечить сведение в ноль суммовых остатков по измерениям Склад + Партия. Получаю проблему как в задаче БУ из 6го билета. Получается правильным решением ОУ в этом билете будет именно по новой методике?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: jorik от Октябрь 23, 2017, 01:08:43 am
Решил попробовать решить задачу ОУ по старой методике на одном регистре. Сразу возник вопрос как обеспечить сведение в ноль суммовых остатков по измерениям Склад + Партия. Получаю проблему как в задаче БУ из 6го билета. Получается правильным решением ОУ в этом билете будет именно по новой методике?
Да,по "новой методике"
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 02, 2017, 11:41:37 am
Хм ... не понимаю, почему может быть нельзя

alex1248, как Вы понимаете смысл Новой методики контроля остатков? Зачем она нужна и что дает?
В моем понимании, она работает быстрее старой (на уровне платформы), то есть позволяет сократить время проведения документа (это становится ощутимо на больших объемах данных).

В своем решении, в документе РН, Вы сначала делаете списание ОстаткиТоваров по НОВОЙ методике, а затем списываете Партии по СТАРОЙ. У меня же используется Старая методика. Запрос выполняется один, он получает остатки и по Складу и по Партиям и если их хватает, то формируются движения.

В моем понимании смысл НОВОЙ методки заключается в том, что сразу один раз без контроля остатков списал, затем проверил, что нет минусов и все! Поэтому она и применима не везде, а только в том случае, если для формирования движений не нужно предварительно получать данные.

А по Вашей схеме, и правда, "новую" методику можно использовать всегда.
С другой стороны, возможно, Вы правы, а я ошибаюсь, вот только рассудить нас некому ))
Хорошо, если бы к нам заглянул ВСЕВИДЯЩИЙ GROOVY, но вряд ли он найдет время копаться в наших "умных" решениях ))

alex1248, спасибо за ответ. Очень интересно узнать другую точку зрения. Ваше решение понятное, четко структурированное, легко читается, в общем респект.

Всем привет, в данной задаче ОУ по моему мнению нужно организовывать новую методику проведения, поскольку идет сначала контроль остатков на складах и только потом списание по партиям, схема строится на 2-х РН ОстаткиНаСкладах и ОстаткиПоПартиям.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Hatfieldx от Ноябрь 02, 2017, 12:34:27 pm
Хм ... не понимаю, почему может быть нельзя

alex1248, как Вы понимаете смысл Новой методики контроля остатков? Зачем она нужна и что дает?
В моем понимании, она работает быстрее старой (на уровне платформы), то есть позволяет сократить время проведения документа (это становится ощутимо на больших объемах данных).

В своем решении, в документе РН, Вы сначала делаете списание ОстаткиТоваров по НОВОЙ методике, а затем списываете Партии по СТАРОЙ. У меня же используется Старая методика. Запрос выполняется один, он получает остатки и по Складу и по Партиям и если их хватает, то формируются движения.

В моем понимании смысл НОВОЙ методки заключается в том, что сразу один раз без контроля остатков списал, затем проверил, что нет минусов и все! Поэтому она и применима не везде, а только в том случае, если для формирования движений не нужно предварительно получать данные.

А по Вашей схеме, и правда, "новую" методику можно использовать всегда.
С другой стороны, возможно, Вы правы, а я ошибаюсь, вот только рассудить нас некому ))
Хорошо, если бы к нам заглянул ВСЕВИДЯЩИЙ GROOVY, но вряд ли он найдет время копаться в наших "умных" решениях ))

alex1248, спасибо за ответ. Очень интересно узнать другую точку зрения. Ваше решение понятное, четко структурированное, легко читается, в общем респект.

Всем привет, в данной задаче ОУ по моему мнению нужно организовывать новую методику проведения, поскольку идет сначала контроль остатков на складах и только потом списание по партиям, схема строится на 2-х РН ОстаткиНаСкладах и ОстаткиПоПартиям.

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

Но это все, естественно, мое мнение
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Ноябрь 02, 2017, 01:15:02 pm
Всем привет, в данной задаче ОУ по моему мнению нужно организовывать новую методику проведения, поскольку идет сначала контроль остатков на складах и только потом списание по партиям, схема строится на 2-х РН ОстаткиНаСкладах и ОстаткиПоПартиям.
1. В этой задаче нужно контролировать остатки по складу, а списывать по партиям. На одном регистре задачу не решить.
2. Имея регистр остатков, который нужен только для контроля остатков, грех не делать проверку остатков по новой методике.
3. Т.к. между регистрами нет синхронизации, то проверять остатки нужно и при списании по партиям.
Больше ничего об этой задаче знать не надо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 02, 2017, 08:40:33 pm
Коллеги, есть вопрос в расчетной задаче, я копил трудовой стаж на РН Обороты "Стаж", хотелось бы услышать ваше мнение на сколько это корректно и сколько баллов могут снизить если признают ошибкой?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 02, 2017, 09:06:18 pm
3. Т.к. между регистрами нет синхронизации, то проверять остатки нужно и при списании по партиям.

Я думаю в рамках этой задачи синхронизация есть, поскольку движения по обоим РН формируют только 2-а документа: "Расходная" и "Приходная". Асинхронного прихода и списания нет, так же в примере нет проверки остатков по 2-му РН. http://1c.chistov.pro/2013/07/blog-post_25.html
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Ноябрь 03, 2017, 09:04:24 am
3. Т.к. между регистрами нет синхронизации, то проверять остатки нужно и при списании по партиям.

Я думаю в рамках этой задачи синхронизация есть, поскольку движения по обоим РН формируют только 2-а документа: "Расходная" и "Приходная". Асинхронного прихода и списания нет, так же в примере нет проверки остатков по 2-му РН. http://1c.chistov.pro/2013/07/blog-post_25.html
Немного ранее в этой ветке http://forum.chistov.pro/index.php?topic=3638.msg51656#msg51656.
Конечно, можете попробовать отстоять свою точку зрения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 03, 2017, 11:32:39 am
Немного ранее в этой ветке http://forum.chistov.pro/index.php?topic=3638.msg51656#msg51656.
Конечно, можете попробовать отстоять свою точку зрения.

Полезная инфа, спасибо, а как на счет трудового стажа на оборотном РН Стаж, является ли это ошибкой?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Ноябрь 03, 2017, 11:54:18 am
а как на счет трудового стажа на оборотном РН Стаж, является ли это ошибкой?
Два вопроса: Как? и Зачем?
Покажите dt
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 03, 2017, 12:50:52 pm
Два вопроса: Как? и Зачем?
Покажите dt
Скорее всего это ошибка, вопрос в том сколько баллов снимут. Реализовал след. образом у спр "Физ. лица" завел числовой реквизит "Первоначальный стаж" и завел оборотный РН "Стаж" измерения: Сотрудник, ресурсы: Стаж (число). Добавил док. "ВводПервоначальногоСтажа" с реквизитом "Сотрудник" и далее во время начисления оклада записывал в РН раб. дни, ну и при расчете премии брал данные по стажу из РН "Стаж".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 03, 2017, 12:59:07 pm
На экзамене расчетная задача усложнена этим пунктом: "В форме документа "Начисление зарплаты" необходимо предусмотреть наличие кнопки "Рассчитать", при нажатии на которую, будет произведен предварительный расчет зарплаты. Результат расчета должен быть отражен в табличной части этой же формы."
Как можно произвести предварительный расчет без записи в РР периода действия по окладу и результата по нему с последующим использованием для расчета премии я так и не понял. Сделал кнопку которая заполняет результат в таб. части после расчетов.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Ноябрь 03, 2017, 01:02:46 pm
Скорее всего это ошибка, вопрос в том сколько баллов снимут. Реализовал след. образом у спр "Физ. лица" завел числовой реквизит "Первоначальный стаж" и завел оборотный РН "Стаж" измерения: Сотрудник, ресурсы: Стаж (число). Добавил док. "ВводПервоначальногоСтажа" с реквизитом "Сотрудник" и далее во время начисления оклада записывал в РН раб. дни, ну и при расчете премии брал данные по стажу из РН "Стаж".
Создать документ, регистр, писать в него движения, рассчитывать итоги только для того, чтобы не заводить в справочнике ФизическиеЛица реквизит ДатаПриема? Сказать, что это не оптимально - ничего не сказать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 03, 2017, 01:19:25 pm
Создать документ, регистр, писать в него движения, рассчитывать итоги только для того, чтобы не заводить в справочнике ФизическиеЛица реквизит ДатаПриема? Сказать, что это не оптимально - ничего не сказать.
Да почитав эту ветку понял что наверно можно было обойтись 2-мя реквизитами в спр. Физ. лица это Первоначальный стаж (Число) и ДатаПриема (Дата)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Ноябрь 03, 2017, 01:59:04 pm
Как можно произвести предварительный расчет без записи в РР периода действия по окладу и результата по нему
Никак. Пишем, считаем, чистим.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Байт от Ноябрь 03, 2017, 07:28:15 pm
Коллеги, прошу покритиковать решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: qwentra от Ноябрь 28, 2017, 05:02:16 pm
БП из первого билета должен выглядеть вроде так, но я не пойму где ошибка - пользователю не отображается его текущая невыполненная задача, как и его задачи в целом. Помогите, пожалуйста.
UPD. Пошарил по форуму, понял ошибку, фактически получается, что на каждого пользователя должно быть по 2, а иногда и больше записей в РС.
Цитата: ""Если в задании присутствуют строки указывающие например на выполнение пункта всем подразделением без должности, а так же по должности без подразделения, то в РС адресация должны быть записи "Петров / ОтделЗакупок / ", "Петров / / Кладовщик", такая вот особенность системы. ""
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Hatfieldx от Ноябрь 30, 2017, 09:51:44 am
Добрый день!

Решение первого билета с учетом "новых" условий.
Кому не сложно просьба проверьте пожалуйста
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ender от Ноябрь 30, 2017, 11:50:07 am

ОУ: все хорошо, но ты в параметрах выбора ТЧ уже отсекаешь услуги, движения можно и конструктором сделать для скорости,но и так можно, просто дольше.
ОУ: в запросе для партий в итогах лишнее поле - СУММА(СуммаОстаток)
то же и в БУ: МАКСИМУМ(СуммаПродажи)
к этому могут придраться, лучше не получать то, что потом не используешь.

В отчете по БУ используешь один параметр МассивСубконто для двух таблиц, для таблицы Себестоимость нужен параметр субконто с одним значением: ПВХ Номенклатура, т.к. себестоимость без учета сроков годности. Тоже и в док. РасходнаяНакладная.

В общем модуле ОбращениеКДанным:Движения.ДополнительныеНачисления.Записать();
пропущен параметр только запись.

И еще в модуле формы документа "НачислениеЗарплаты" в процедуре РассчитатьНаСервере ты перед расчетом полностью заполняешь РР, не знаю обращают ли на это внимание, так то ты оклад и результат потом получаешь в общем модуле и получается, что ты просто так заполняешь реквизиты, которые потом рассчитаешь и все равно заменишь.
а так вроде все хорошо, смотрел только код.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Hatfieldx от Ноябрь 30, 2017, 12:49:55 pm

ОУ: все хорошо, но ты в параметрах выбора ТЧ уже отсекаешь услуги, движения можно и конструктором сделать для скорости,но и так можно, просто дольше.
ОУ: в запросе для партий в итогах лишнее поле - СУММА(СуммаОстаток)
то же и в БУ: МАКСИМУМ(СуммаПродажи)
к этому могут придраться, лучше не получать то, что потом не используешь.

В отчете по БУ используешь один параметр МассивСубконто для двух таблиц, для таблицы Себестоимость нужен параметр субконто с одним значением: ПВХ Номенклатура, т.к. себестоимость без учета сроков годности. Тоже и в док. РасходнаяНакладная.

В общем модуле ОбращениеКДанным:Движения.ДополнительныеНачисления.Записать();
пропущен параметр только запись.

И еще в модуле формы документа "НачислениеЗарплаты" в процедуре РассчитатьНаСервере ты перед расчетом полностью заполняешь РР, не знаю обращают ли на это внимание, так то ты оклад и результат потом получаешь в общем модуле и получается, что ты просто так заполняешь реквизиты, которые потом рассчитаешь и все равно заменишь.
а так вроде все хорошо, смотрел только код.

Спасибо большое за комментарий!!

"В общем модуле ОбращениеКДанным:Движения.ДополнительныеНачисления.Записать(); пропущен параметр только запись."

Параметр "Только запись" необходимо устанавливать только если у РР использует ПериодДействия (чтобы не пересчитывать ВТ ДанныеГрафика). В данном случае этого делать не нужно.
Вот из СП выдержка:
<ТолькоЗапись> (необязательный)
Тип: Булево.
Определяет режим записи набора. Истина - производится только запись набора; Ложь - производится пересчет фактического периода действия и ввод записей перерасчетов.
По умолчанию при записи набора производится не только собственно запись, но и пересчет периода действия (для регистров расчета с поддержкой периода действия) и ввод записей перерасчета (если необходимо).

Но возможно я не прав.


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

Данный параметр определяет порядок субконто и отбор по счетам по субконто. В данном случае это не имеет значения.

Еще раз спасибо за проверку!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Макаров от Ноябрь 30, 2017, 05:14:16 pm
Решение билета 1 с учетом изменений. Буду рад критике.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ender от Декабрь 01, 2017, 09:27:40 am

ОУ. для РН ОстаткиНоменклатуры - используешь новую методику проведения - здесь управляемая блокировка не нужна.
БУ. ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура") - вместо "Субконто1" следует явно описать субконто: ПланыВидовХарактеристик.ВидыСубконто.Номенклатура (пользователь может менять порядок субконто и блокировка не будет работать).
ПредставлениеНоменклатуры в итогах можно не использовать, будет работать и так.

д.Операции: можно еще добавить установку активности записей при пометке удаления.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Макаров от Декабрь 01, 2017, 11:35:01 am

ОУ. для РН ОстаткиНоменклатуры - используешь новую методику проведения - здесь управляемая блокировка не нужна.
БУ. ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура") - вместо "Субконто1" следует явно описать субконто: ПланыВидовХарактеристик.ВидыСубконто.Номенклатура (пользователь может менять порядок субконто и блокировка не будет работать).
ПредставлениеНоменклатуры в итогах можно не использовать, будет работать и так.

д.Операции: можно еще добавить установку активности записей при пометке удаления.

Огромное спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: lyao от Декабрь 05, 2017, 01:13:55 am
БП из первого билета должен выглядеть вроде так, но я не пойму где ошибка - пользователю не отображается его текущая невыполненная задача, как и его задачи в целом. Помогите, пожалуйста.
UPD. Пошарил по форуму, понял ошибку, фактически получается, что на каждого пользователя должно быть по 2, а иногда и больше записей в РС.
Цитата: ""Если в задании присутствуют строки указывающие например на выполнение пункта всем подразделением без должности, а так же по должности без подразделения, то в РС адресация должны быть записи "Петров / ОтделЗакупок / ", "Петров / / Кладовщик", такая вот особенность системы. ""
Выходит, что в решениях по БП реализована адресация только по исполнителю? Достаточно ли реализации такого функционала для зачета задачи  по БП?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Gleb_1c от Декабрь 09, 2017, 04:02:34 pm
Добрый день, смотрю актуальные билет номер 1 задача БУ и в нем есть такое предложение : "При проведении документа анализируется наличие этого товара в организации. Если товара не достаточно документ не проводится." По идее я понимаю что должно быть измерение "Организация" в  разрезе которого смотри остатки. Так вот смотрю на форуме эатлонное решение и не могу найти это измерение. В чем я ошибаюсь , можете посдказать.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Декабрь 09, 2017, 05:36:22 pm
В чем я ошибаюсь , можете посдказать.
В условии ничего не сказано о том, что бух. учет должен вестись параллельно и независимо по нескольким организациям, поэтому измерение не нужно, как в билете 4. В общем случае для добавления измерения в РБ на то нужны веские причины, т.е. этот разрез должен быть актуален для большинства (если не для всех) счетов.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dmitry_K от Декабрь 09, 2017, 10:20:33 pm
В чем я ошибаюсь , можете посдказать.
В условии ничего не сказано о том, что бух. учет должен вестись параллельно и независимо по нескольким организациям, поэтому измерение не нужно, как в билете 4. В общем случае для добавления измерения в РБ на то нужны веские причины, т.е. этот разрез должен быть актуален для большинства (если не для всех) счетов.
Опять таки по памяти, во всех билетах кроме 4го измерения Организация не нужно заводить.
В четвертом это легко понять по условию "по каждой организации нужно вести свой баланс" .

З.ы. Clition ты когда экзамен сдаешь?)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Clition от Декабрь 10, 2017, 09:45:08 am
Clition ты когда экзамен сдаешь?)
Жду результаты.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: yurstein от Декабрь 18, 2017, 12:38:15 pm
Сделал Билет 1 с учетом дополнений. Просьба покритиковать
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 05, 2018, 10:41:43 am
Сделал Билет 1 с учетом дополнений. Просьба покритиковать

Начал смотреть СПР. Зачем в отчете суммировать стаж и проценты премий?
Док "Начисление ЗП" с учетом дополнений:  нет проверки документа на запись в форме. Если документ не записан - вылетает ошибка. В форме не используемые реквизиты. Стаж - число в справочнике. Не посчитают ли это за упрощение?
БП: Регистр адресации заполнен неверно. Если адресация персональная - заполнять не надо (Петров). В отделе продаж слишком много менеджеров - не соответствует условию. Не знаю сочтут ли это за ошибку. Думаю, лучше сделать как в условии. В дополнительной форме списка нет отбора по не выполненным задачам.
БУ: Документ "Операция" не работает.  В приходной строки "БлокироватьДляИзменения = Истина" и "Записать()" лишние(советую поразбираться в этом вопросе). В плане счетов с признаками учета надо поразбираться. С блокировками...
Уделите больше времени анализу чужих решений
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 05, 2018, 10:45:58 am
Выкладываю свой вариант первого билета с доп. условием. Буду благодарен за критику.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Greamdevil от Январь 11, 2018, 07:16:59 am
А вот если меняем тип учетной политики с ФИФО на ЛИФО и тут же перепроводим РасходныеНакладные, записи в Регистр Накоплений по партиям, должны обновится в правильном порядке или не обязательно? )) У меня обновляются, только если отменить проведения документов, а потом заново провести, либо перезайти в базу и провести. Может быть так и должно быть, ведь переодичность регистра стоит в пределах года и он не предназначен для постоянного переключения.
Подскажите у кого есть понимание или может у всех все работает )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Хильда от Январь 11, 2018, 02:13:51 pm
Подскажите, плиз, обязательно ли в Бизнес-процессах устанавливать Параметры сеанса, назначать роли? Смотрю на задачу в Билете 1 - там и без ролей нормально. В описание ошибок по БП тоже не вижу возможной ошибки....
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Адам от Январь 11, 2018, 11:53:52 pm
Просьба посмотреть решение, кому не лень ;)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 12, 2018, 12:17:57 am
Подскажите, плиз, обязательно ли в Бизнес-процессах устанавливать Параметры сеанса, назначать роли? Смотрю на задачу в Билете 1 - там и без ролей нормально. В описание ошибок по БП тоже не вижу возможной ошибки....
"Не реализована или работает неправильно форма списка невыполненных задач текущего пользователя системы   -1 балл" - из списка наиболее часто встречающихся ошибок
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Январь 14, 2018, 08:46:50 pm
Прошу посмотреть моё решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Greamdevil от Январь 15, 2018, 10:26:09 am
Подскажите, плиз, обязательно ли в Бизнес-процессах устанавливать Параметры сеанса, назначать роли? Смотрю на задачу в Билете 1 - там и без ролей нормально. В описание ошибок по БП тоже не вижу возможной ошибки....
"Не реализована или работает неправильно форма списка невыполненных задач текущего пользователя системы   -1 балл" - из списка наиболее часто встречающихся ошибок

Спасибо, значит как я понимаю у остальных все пашет как должно....
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 16, 2018, 11:32:04 am
Спасибо, значит как я понимаю у остальных все пашет как должно....

Отрабатывает как должно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 16, 2018, 11:39:51 am
Подправил некоторые ошибки. Посмотрите, кому не лень. Буду благодарен за критику
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Хильда от Январь 17, 2018, 04:33:39 pm
Коллеги, а обязательно ли использовать "Новую" методику при проверке на минусовые остатки?  В этом билете она, конечно, "просится", но мне ближе и роднее "старый" метод))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Январь 17, 2018, 04:42:23 pm
Коллеги, а обязательно ли использовать "Новую" методику при проверке на минусовые остатки?  В этом билете она, конечно, "просится", но мне ближе и роднее "старый" метод))
Конечно, можно использовать не оптимальную методику, если ради этого вы готовы пожертвовать снятым баллом за соответствующую ошибку.  :)
Но если хотите сдать экзамен, то следует делать так, как считается методически правильным, а не так как вы привыкли.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Хильда от Январь 18, 2018, 08:42:46 am
Коллеги, а обязательно ли использовать "Новую" методику при проверке на минусовые остатки?  В этом билете она, конечно, "просится", но мне ближе и роднее "старый" метод))
Конечно, можно использовать не оптимальную методику, если ради этого вы готовы пожертвовать снятым баллом за соответствующую ошибку.  :)
Но если хотите сдать экзамен, то следует делать так, как считается методически правильным, а не так как вы привыкли.
Задала вопрос своему директору (я работаю во франче, директор иногда даже принимает экзамены):
В ОУ для одного документа я использую два регистра накопления. Можно ли (не будет ли это ошибкой) про формировании движений для одного регистра использовать "новую" методику, а для другого - "старую"?
Ответ:
Это напрочь лишено всякого смысла, т.к. новая методика направлена на уменьшение количества блокировок, а тут еще и старая всплывает. если решение на двух регистрах, то движения по второмы (по старой методике) должны быть в другом месте, например регл задание, или спец обработка.
Пришла к нему "выяснять отношения" 8) Сразу задал вопрос: А зачем тебе здесь два регистра (я решала на ОстаткахНоменклатуры и Себестоимости)???!!
Ушла в недоумении ??? Но решила задачу на одном регистре и по старой методике. ИМХО, но это получилось оптимальнее... ::)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Январь 18, 2018, 09:29:44 am
Но решила задачу на одном регистре и по старой методике. ИМХО, но это получилось оптимальнее... ::)
Я сдавал давно, могу где-то ошибиться (ляпнуть, не дочитав, не досмотрев), но вроде бы, эта задача не решается на одном регистре в принципе.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Хильда от Январь 18, 2018, 12:41:04 pm
Но решила задачу на одном регистре и по старой методике. ИМХО, но это получилось оптимальнее... ::)
Я сдавал давно, могу где-то ошибиться (ляпнуть, не дочитав, не досмотрев), но вроде бы, эта задача не решается на одном регистре в принципе.  :)
Вы абсолютно правы, я ошибалась (не проверила полностью результат - остатки на регистре). На одном регистре эта задача не решается. Приношу свои извинения  :-[
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Январь 20, 2018, 06:52:03 am
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 20, 2018, 12:45:09 pm
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Январь 21, 2018, 09:15:55 am
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
Не верно поняли. При получении остатков запросом, передавая момент времени, таблица остатков берет данные на дату, не включая ее, а вот если документ проводится оперативно, то момент времени всегда будет текущей датой. И соответственно больше чем дата движений, сделанная документом секундой раньше, в этом случае в таблицу остатков при чтении запросом, документ считает свои движения.
В таком случае стоит писать так
Если Режим = РежимЗаписиДокумента.Оперативный Тогда
                Движения.Себестоимость.Очистить();
                Движения.Себестоимость.Записать()
         КонецЕсли;
В ином случае я не вижу в этом смысла.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 21, 2018, 06:40:01 pm
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
Не верно поняли. При получении остатков запросом, передавая момент времени, таблица остатков берет данные на дату, не включая ее, а вот если документ проводится оперативно, то момент времени всегда будет текущей датой. И соответственно больше чем дата движений, сделанная документом секундой раньше, в этом случае в таблицу остатков при чтении запросом, документ считает свои движения.
В таком случае стоит писать так
Если Режим = РежимЗаписиДокумента.Оперативный Тогда
                Движения.Себестоимость.Очистить();
                Движения.Себестоимость.Записать()
         КонецЕсли;
В ином случае я не вижу в этом смысла.
Смысл есть. Пример: сегодня 21.01.2018. Пользователь открыл документ от 15.01.2018, поменял дату на 16.01.2018 и (!не оперативно!) перепровел документ. Если движения не чистить, документ прочитает свои движения. Так что чистить движения по себестоимости нужно всегда, независимо от режима проведения.
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 21, 2018, 10:56:07 pm
Цитировать
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.
Поставьте совместимость 8.3.3
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Julia2690 от Январь 22, 2018, 06:31:02 am
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 22, 2018, 02:43:40 pm
Цитировать
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.
Поставьте совместимость 8.3.3
Вот вариант в совм. 8.3.3
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 22, 2018, 03:08:09 pm
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)
Привет. Вроде норм.. Есть небольшие комменты / вопросы.
1. А зачем в модуле объекта #Если Сервер или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда ?
2. В расходной в середине обработки проведения
Если Отказ Тогда
      Возврат;
   КонецЕсли;
Вроде бы нежелательно использовать возврат внутри предопред. событий
3. Чистить и записывать себестоимость нужно в любом случае (см. мое объяснение выше), а не только когда оперативно.
4. Бухгалтерский: не индексируешь временные табл. по полям соединения, соединяться с можно сразу 2 левых соед-я, т.е. 2-й и 3-й пакет можно объединить
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 22, 2018, 10:16:53 pm
Вот вариант в совм. 8.3.3
1.  ОУ
В приходной нет необходимости очищать движения. В приходной движения вообще можно конструктором формировать. Проверять номенклатуру на услугу надо в расходной по условию задачи. За запись "Движения.ОстаткиНоменклатуры.Очистить()" могут сделать замечание на экзамене.  Эта строчка нужна для обычных форм.
В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"? При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В отчете Склад и Номенклатура в одной колонке идет. Ну это может и не критично.
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Pr0glam3r от Январь 23, 2018, 12:12:59 am
Привет всем. Поглядите пожалуйста мое решение :D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Julia2690 от Январь 23, 2018, 05:44:42 am
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)
Привет. Вроде норм.. Есть небольшие комменты / вопросы.
1. А зачем в модуле объекта #Если Сервер или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда ?
2. В расходной в середине обработки проведения
Если Отказ Тогда
      Возврат;
   КонецЕсли;
Вроде бы нежелательно использовать возврат внутри предопред. событий
3. Чистить и записывать себестоимость нужно в любом случае (см. мое объяснение выше), а не только когда оперативно.
4. Бухгалтерский: не индексируешь временные табл. по полям соединения, соединяться с можно сразу 2 левых соед-я, т.е. 2-й и 3-й пакет можно объединить
Спасибо, что посмотрел!
1. Да, этого делать не нужно, начала писать как в типовых, забыла удалить. В любом случае, ошибкой это не будет, думаю..
2. Согласна, это лишнее.
3. Я подсмотрела это в курсах подготовки 1С Специалиста, там в решении ОУ было так прописано.
4. Согласна, поправлю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 23, 2018, 03:32:41 pm
Вот вариант в совм. 8.3.3
1.  ОУ
В приходной нет необходимости очищать движения. В приходной движения вообще можно конструктором формировать. Проверять номенклатуру на услугу надо в расходной по условию задачи. За запись "Движения.ОстаткиНоменклатуры.Очистить()" могут сделать замечание на экзамене.  Эта строчка нужна для обычных форм.
В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"? При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В отчете Склад и Номенклатура в одной колонке идет. Ну это может и не критично.
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.

Спасибо, что посмотрел!
Цитировать
1.
>В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"?
Ответ здесь: http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307
Цитировать
При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В данном случае сомневаюсь, что обязательно надо округлять, ведь когда запишется в регистр, то автоматически округлится
Цитировать
В отчете Склад и Номенклатура в одной колонке идет.
Исправил
Цитировать
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
Исправил. Хотя в примере из сборник вроде нет такого и я вроде где-то здесь на форуме читал, что не обязательно. Действительно могут снять баллы?
Цитировать
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.
Согласен, что есть лишние записи, это я увлекся, заполнил, как в табличке в задаче. Однако записи с заполненным кладовщиком и не заполненным подразделением у меня есть, т.е. ошибки нет. Задачи по исполнителю на начальной странице.
Решение прикрепляю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 23, 2018, 08:35:08 pm
Цитировать
Спасибо, что посмотрел!

Посмотри и мое - будем в расчете  ;)

Цитировать
Ответ здесь: http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307

Почитал. Как понял смысла в этой записи нет особого. Можно писать, а можно и не писать. Тема обсуждалась в 2012 году... Я не буду писать

Цитировать
В данном случае сомневаюсь, что обязательно надо округлять, ведь когда запишется в регистр, то автоматически округлится

Может и не нужно в данном случае.

Цитировать
Исправил. Хотя в примере из сборник вроде нет такого и я вроде где-то здесь на форуме читал, что не обязательно. Действительно могут снять баллы?

Мой знакомый сдавал пару лет назад. Ему делали замечание по коду в документе операция. Он толком не смог объяснить, что именно не понравилось экзаменатору, но код смотрят

Цитировать
Согласен, что есть лишние записи, это я увлекся, заполнил, как в табличке в задаче. Однако записи с заполненным кладовщиком и не заполненным подразделением у меня есть, т.е. ошибки нет. Задачи по исполнителю на начальной странице.
Решение прикрепляю.

В решении, которое я смотрел  подразделения заполнены у всех кроме двух бухгалтеров.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Julia2690 от Январь 24, 2018, 11:32:55 am
Прорешала 1 билет! Застряла с БП( Не забывайте настраивать связку измерений РС Регистр адрессации и реквизитов Задачи Исполнителя!
Прикладываю свою базу, прошу критики)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 24, 2018, 01:18:47 pm
Посмотри и мое - будем в расчете  ;)
Что ж, я посмотрел, хорошее решение)
Мои комментарии:
СПР
1. НачислениеЗарплаты
Не понятно, зачем в начале метода рассчитать очистка движений:
Процедура Рассчитать()  Экспорт

   НачатьТранзакцию();
   
   Движения.ОН.Записывать = Истина;
   Движения.ДН.Записывать = Истина;
   Движения.ОН.Очистить();
   Движения.ДН.Очистить();

2. Логично убрать Подразделение из измерений РС СведенияОСотрудниках (перенести в реквизиты), т.к. по условиям задачи Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
3. В документе НачислениеЗарплаты в методе Рассчитать() в запросе ты не упорядочиваешь по номеру строки, в результате порядок строк в наборе и в ТЧ может отличаться, а ты позиционируешься потом по номеру строки набора на строке ТЧ (в общем модуле Расчет).   
4. Расчет.Расчитать() - не желательно здесь читать набор записей. Желательно передать его из документа. Потому что сейчас так: ты в документе получил набор, записал. В общем модуле ты считал набор, записал. Потом в документе ты чистишь набор и записываешь. Но чистишь и записываешь не ту версию, которая была записана в общем модуле, а ту, которая была записана в документе. Т.е. работаешь с неактуальным набором. Я точно не уверен, но вроде могут быть блокировки из-за попытки записать неактуальный набор.
4. БП: Удобнее в форме бизнес-процесса сделать еще кнопку для обновления карты.
5. В приходной, насколько я понял, есть возможность оприходовать услуги
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 24, 2018, 09:26:01 pm
Цитировать
Что ж, я посмотрел, хорошее решение)
Спасибо за замечания!
Цитировать
Не понятно, зачем в начале метода рассчитать очистка движений:
Да, пожалуй лишнее это
Цитировать
2. Логично убрать Подразделение из измерений РС СведенияОСотрудниках (перенести в реквизиты), т.к. по условиям задачи Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
Логично. Думаешь к такому могут прикопаться?
Цитировать
3. В документе НачислениеЗарплаты в методе Рассчитать() в запросе ты не упорядочиваешь по номеру строки, в результате порядок строк в наборе и в ТЧ может отличаться, а ты позиционируешься потом по номеру строки набора на строке ТЧ (в общем модуле Расчет).   
Так там же отбор по номеру строки идет. В выборке будут только нужные строки.  Вопрос оптимальности?
Цитировать
4. Расчет.Расчитать() - не желательно здесь читать набор записей. Желательно передать его из документа. Потому что сейчас так: ты в документе получил набор, записал. В общем модуле ты считал набор, записал. Потом в документе ты чистишь набор и записываешь. Но чистишь и записываешь не ту версию, которая была записана в общем модуле, а ту, которая была записана в документе. Т.е. работаешь с неактуальным набором. Я точно не уверен, но вроде могут быть блокировки из-за попытки записать неактуальный набор.
Суть понял. Да, набор в документе уже не актуальный. Надо будет подумать...
Цитировать
4. БП: Удобнее в форме бизнес-процесса сделать еще кнопку для обновления карты.
Удобно, конечно. Тут вопрос на что потратишь больше времени. В одном случае на тестирование, в другом - на реализацию кнопки. Я решил не делать кнопку.
Цитировать
5. В приходной, насколько я понял, есть возможность оприходовать услуги
Услуги учитываю хитро. По условию задачи услуг в поступлении быть не должно. Я добавил флаг "ЭтоУслуга" в ТЧ расходной. Для услуг надо включать этот флаг. Это не красиво, конечно. Наши сдавали в конце прошлого года - за такую реализацию замечаний не делали.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 24, 2018, 10:51:57 pm
Прорешала 1 билет! Застряла с БП( Не забывайте настраивать связку измерений РС Регистр адрессации и реквизитов Задачи Исполнителя!
Прикладываю свою базу, прошу критики)

1. СПР. в ПВР для премии не указан базовый вид расчета и ведущий. Ведущий, может не обязательно указывать, т.к. перерасчет реализовывать не требуется. Я указываю. В РР подразделение можно не добавлять, ИМХО. В документе начисления ЗП есть смысл проверять документ на запись. Документа может не существовать на момент расчета либо данные в нем могут быть не актуальными.
По поводу очистки движений вопрос:
Движения.ОсновныеНачисления.Очистить();
Для чего очищаете? :)
Почитайте замечания к моему билету. У Вас похожее решение.
В общем модуле в процедуре расчета нет смысла записывать второй набор записей - он все равно потом очищается.
Серьезный подход к реализации отчета...

2. ОУ.
А для чего пишите в приходной накладной код:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда?
В расходной  строка:
Движения.ОстаткиНоменклатуры.Очистить();лишняя.
При списании партий конструкцию:
Если Отказ Тогда
Продолжить;
КонецЕсли;
стоит вынести за "КонецЕсли" т.к. если хотя бы одного товара не хватает - документ не должен делать проводок.
Отчет: склад и номенклатура в одной колонке выводится.
3. БУ.
Для блокировки данные вместо строки:
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура");правильнее писать:
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура, "Номенклатура");4. БП
Интересно, на экзамене прокатывает такой лаконичный вариант заполнения регистра адресации?
Не обязательно делать 2 формы. Можно сделать одну с отбором по исполнителю. Только не делать ее основной. Эту форму выводим на начальной странице. У задачи при открытии будет формироваться форма без отбора по исполнителю автоматически.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Julia2690 от Январь 25, 2018, 05:38:52 am
Цитировать
1. СПР. в ПВР для премии не указан базовый вид расчета и ведущий. Ведущий, может не обязательно указывать, т.к. перерасчет реализовывать не требуется. Я указываю. В РР подразделение можно не добавлять, ИМХО. В документе начисления ЗП есть смысл проверять документ на запись. Документа может не существовать на момент расчета либо данные в нем могут быть не актуальными.
По поводу очистки движений вопрос:
Движения.ОсновныеНачисления.Очистить();
Для чего очищаете? :)
Почитайте замечания к моему билету. У Вас похожее решение.
В общем модуле в процедуре расчета нет смысла записывать второй набор записей - он все равно потом очищается.
Серьезный подход к реализации отчета...

2. ОУ.
А для чего пишите в приходной накладной код:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда?
В расходной  строка:
Движения.ОстаткиНоменклатуры.Очистить();лишняя.
При списании партий конструкцию:
Если Отказ Тогда
Продолжить;
КонецЕсли;
стоит вынести за "КонецЕсли" т.к. если хотя бы одного товара не хватает - документ не должен делать проводок.
Отчет: склад и номенклатура в одной колонке выводится.
3. БУ.
Для блокировки данные вместо строки:
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура");правильнее писать:
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура, "Номенклатура");4. БП
Интересно, на экзамене прокатывает такой лаконичный вариант заполнения регистра адресации?
Не обязательно делать 2 формы. Можно сделать одну с отбором по исполнителю. Только не делать ее основной. Эту форму выводим на начальной странице. У задачи при открытии будет формироваться форма без отбора по исполнителю автоматически.
1. СПР - базовый "оклад" у меня указан.. Ведущий не указывала. Да, согласна, стоит проверить документ на запись. И второй набор записей не обязательно записывать, соглашусь, так же как и с тем, что движения нет смысла очищать)
2. Код в ПН забыла удалить, на экзамене писать такого не буду. Не понимаю куда нужно вынести условие
Если Отказ Тогда
Продолжить;
КонецЕсли;
?
Если я не ошибаюсь, вы не стали делать проверку на свободные остатки по партиям? В ветке читала, что вроде желательно это делать)
3. Спасибо за совет!
4. Не знаю, наверное на экзамене нужно заполнить регистр адрессации полностью, как в билете написано. С формой согласна, можно создать только одну по исполнителю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 25, 2018, 08:54:02 am
Цитировать
1. СПР - базовый "оклад" у меня указан.. Ведущий не указывала.
Еще раз проверил Вашу базу - у меня не установлен такой флаг. Ну да ладно
Цитировать
Не понимаю куда нужно вынести условие
Если Отказ Тогда
Продолжить;
КонецЕсли;
?
Если я не ошибаюсь, вы не стали делать проверку на свободные остатки по партиям? В ветке читала, что вроде желательно это делать)
Да, я не проверял остатки по партиям. Думаю, по условиям данной задачи не должно возникнуть ситуации, когда РН "Остатки" будут остатки а в партиях их не будет. Пришлите, пожалуйста, ссылку на обсуждение этого вопроса.
По поводу проверки на "Отказ" - я имел ввиду, что вместо кода:
Если ТребуетсяСписать>ВыборкаПоИтогам.КоличествоОстаток Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не достаточно товара "+ВыборкаПоИтогам.НоменклатураПредставление+ " в количестве "+Строка(ТребуетсяСписать-ВыборкаПоИтогам.КоличествоОстаток),Отказ);
Если Отказ Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Будет правильнее писать:
Если ТребуетсяСписать>ВыборкаПоИтогам.КоличествоОстаток Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не достаточно товара "+ВыборкаПоИтогам.НоменклатураПредставление+ " в количестве "+Строка(ТребуетсяСписать-ВыборкаПоИтогам.КоличествоОстаток),Отказ);
КонецЕсли;

Если Отказ Тогда
Продолжить;
КонецЕсли;
В этом случае если хотя бы одного товара не хватает - алгоритм не будет уже заполнять движения, а только выводить сообщения о нехватке
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 25, 2018, 10:45:03 am

2. Логично убрать Подразделение из измерений РС СведенияОСотрудниках (перенести в реквизиты), т.к. по условиям задачи Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
Логично. Думаешь к такому могут прикопаться?
Думаю, да.

Цитировать
3. В документе НачислениеЗарплаты в методе Рассчитать() в запросе ты не упорядочиваешь по номеру строки, в результате порядок строк в наборе и в ТЧ может отличаться, а ты позиционируешься потом по номеру строки набора на строке ТЧ (в общем модуле Расчет).   

Так там же отбор по номеру строки идет. В выборке будут только нужные строки.  Вопрос оптимальности?
Попробую уточнить на примере:
В ТЧ документа 2 строки:
1. Иванов
2. Петров
В модуле объекта документа ты не упорядочиваешь по номеру строки, и в регистр записи могут попасть так:
1. Петров
2. Иванов
В общем модуле расчета ЗП ты находишь строку №1 регистра и пишешь в нее Результат. Потом находишь строку № 1 в ТЧ и пишешь в нее результат. Тогда результат Петрова будет записан Иванову.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Январь 25, 2018, 11:13:29 am
Согласен, что есть лишние записи, это я увлекся, заполнил, как в табличке в задаче. Однако записи с заполненным кладовщиком и не заполненным подразделением у меня есть, т.е. ошибки нет. Задачи по исполнителю на начальной странице.
Решение прикрепляю.

В решении, которое я смотрел  подразделения заполнены у всех кроме двух бухгалтеров.
Я разобрался. Твое замечание верное, спасибо. Для кладовщиков адресация групповая, без указания подразделения. В этом случае задачи создаются всем кладовщикам, даже если в регистре адресации подразделение для них заполнено. Это я проверял в режиме Предприятие. Но более правильно в этой задаче, конечно же, сделать записи по кладовщикам без указания подразделения. Исправил.
+ исправил ошибку в документе Операция, которую посадил раньше, когда начал управлять активностью движений в зависимости от пометки удаления.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Январь 25, 2018, 10:56:24 pm
В общем модуле расчета ЗП ты находишь строку №1 регистра и пишешь в нее Результат. Потом находишь строку № 1 в ТЧ и пишешь в нее результат. Тогда результат Петрова будет записан Иванову.
Понял. Спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: stels_blg от Февраль 01, 2018, 04:37:33 pm
Цитировать
4. Не знаю, наверное на экзамене нужно заполнить регистр адрессации полностью, как в билете написано. С формой согласна, можно создать только одну по исполнителю.

Забить таблицу полностью - это ошибка. Надо внести только те записи, которые реально используются в БП. То есть минимальный набор. Информация дается избыточная.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 01, 2018, 11:15:12 pm
Цитировать
Забить таблицу полностью - это ошибка. Надо внести только те записи, которые реально используются в БП. То есть минимальный набор. Информация дается избыточная.
Информация избыточная, но если в БП идет адресация "все кладовщики" и в описании задачи их 4(к примеру) - думаю нужно добавлять все 4 в регистр
Название: Re: Билет 1. Спец по платформе V8
Отправлено: VarIzo от Февраль 06, 2018, 11:50:41 am
Вот вариант в совм. 8.3.3
1.  ОУ
В приходной нет необходимости очищать движения. В приходной движения вообще можно конструктором формировать. Проверять номенклатуру на услугу надо в расходной по условию задачи. За запись "Движения.ОстаткиНоменклатуры.Очистить()" могут сделать замечание на экзамене.  Эта строчка нужна для обычных форм.
В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"? При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В отчете Склад и Номенклатура в одной колонке идет. Ну это может и не критично.
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.
Проверять номенклатуру на услугу надо в расходной по условию задачи - можете пжлст привести фразу из которой надо сделать этот вывод.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: VarIzo от Февраль 06, 2018, 11:56:46 am
Цитата: fimanich
ОУ
"МоментОстатков = ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено,
      Новый Граница(МоментВремени(), ВидГраницы.Включая));"
Я находил решения где момент времени берется запросом из документа. Как по вашему будет правильнее?
Цитата: fimanich
ОУ
ВыборкаНоменклатура.Количество > ВыборкаНоменклатура.КоличествоСебестоимость
Надо ли это проверять? Ведь если мы списали товар выше и его хватило даже с учетом склада то по партиям его уж точно должно хватить



Название: Re: Билет 1. Спец по платформе V8
Отправлено: VarIzo от Февраль 06, 2018, 01:17:47 pm
А можете объяснить зачем в первой задаче добавлять «Признак учета субконто» - Суммовой?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 06, 2018, 08:08:39 pm
Цитировать
Проверять номенклатуру на услугу надо в расходной по условию задачи - можете пжлст привести фразу из которой надо сделать этот вывод.
В условии задачи фраза: "Помимо продажи товара, могут оказываться дополнительные услуги, например по доставке. И услуги и товары указываются в одной табличной части". Про получение услуг в условии не говорится...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 06, 2018, 08:26:48 pm
Сдал спеца 09.06.17. Хочу поделиться своими решениями билетов. Спасибо всем участникам за обсуждение и выкладываемые решения. Это серьезная помощь в подготовке к экзамену.
Выложи cf-ник пожалуйста а то Платформы 8.3.10 нет сейчас у меня. Заранее Спасибо.
Держи. Кстати обрати внимание на то, что остатки надо проверять и по регистру ОстаткиНоменклатуры и по СебестоимостьНоменклатуры. Аргументы типа:
- остатки проверяются на регистре ОстаткиНоменклатуры, а на СебестоимостьНоменклатуры проверка будет лишней
- если остатки поверил по конкретному складу (ОстаткиНоменклатуры), а уж по всем складам (СебестоимостьНоменклатуры ) товара конечно хватит
и т.д. не взлетают. Белоусов стоял на своем: мол в 1С нет механизма синхронизации данных в двух регистрах, поэтому остатки надо проверять везде (типа это методологически правильно :)))) ).
P.S. Режим совместимости 8.3.6
Похоже проверять остаток нужно и по регистру себестоимости...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: VarIzo от Февраль 07, 2018, 05:06:36 pm
Вопрос по БУ:
Срок годности хранится в справочнике. Вроде это правильно - в учебниках не советуют в видах субконто использовать простые типы данных. Но выглядит это так себе, как по моему - представьте насколько "удобно" будет выбирать нужный срок годности если там записи будут по каждому дню в течении 5 ти лет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 07, 2018, 05:46:53 pm
Вопрос по БУ:
Срок годности хранится в справочнике. Вроде это правильно - в учебниках не советуют в видах субконто использовать простые типы данных. Но выглядит это так себе, как по моему - представьте насколько "удобно" будет выбирать нужный срок годности если там записи будут по каждому дню в течении 5 ти лет?
На экзамене, в виде исключения, разрешено в данной ситуации использовать в качестве субконто данные примитивного типа, без создания справочника.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: orcdunaev от Февраль 10, 2018, 02:06:40 pm
Сдавал вчера, 09.02.18, попался этот билет. Сдал на 3.
Допустил несколько ошибок:
1) в задаче по БУ в регистре бухгалтерии сначала забыл снять галку "Балансовый" у ресурса "Количество", связанного с признаком учета "Количественный". Потом (до проверки преподом) обнаружил эту ошибку и исправил в регистре бухгатерии. Но в документе "Операция"" проверить забыл, а там осталась колонка "Количество" (без ДТ и КТ). Это грубая ошибка. Если ресурс связан с признаком учета, он не должен быть балансовым.
2) в задаче по БУ в отчете собрал обороты по счету ПрибылиУбытки без отбора по кор. счету. Надо было обязательно ставить отбор по обоим счетам. Я аргументировал тем, что в задаче других проводок на ПрибылиУбытки не предполагается, но препод возразил, что есть документ "Операция", который в принципе способен создать ЛЮБЫЕ проводки. Поэтому нужен отбор по двум счетам.
3) в задаче по периодическим расчетам в регистре расчета "Основные начисления" у меня были измерения "Сотрудник" и "Подразделение". Я понимал, что совместительства в задаче нет, но имел в виду, что сотрудник может переходить из подразделения в подразделение. В этом случае надо было делать не измерение, а реквизит. 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 10, 2018, 07:17:23 pm
Сдавал вчера, 09.02.18, попался этот билет. Сдал на 3.
Допустил несколько ошибок:
1) в задаче по БУ в регистре бухгалтерии сначала забыл снять галку "Балансовый" у ресурса "Количество", связанного с признаком учета "Количественный". Потом (до проверки преподом) обнаружил эту ошибку и исправил в регистре бухгатерии. Но в документе "Операция"" проверить забыл, а там осталась колонка "Количество" (без ДТ и КТ). Это грубая ошибка. Если ресурс связан с признаком учета, он не должен быть балансовым.
2) в задаче по БУ в отчете собрал обороты по счету ПрибылиУбытки без отбора по кор. счету. Надо было обязательно ставить отбор по обоим счетам. Я аргументировал тем, что в задаче других проводок на ПрибылиУбытки не предполагается, но препод возразил, что есть документ "Операция", который в принципе способен создать ЛЮБЫЕ проводки. Поэтому нужен отбор по двум счетам.
3) в задаче по периодическим расчетам в регистре расчета "Основные начисления" у меня были измерения "Сотрудник" и "Подразделение". Я понимал, что совместительства в задаче нет, но имел в виду, что сотрудник может переходить из подразделения в подразделение. В этом случае надо было делать не измерение, а реквизит.
Спасибо за ценную информацию! Не понял только зачем в отчете по БУ ПрибылиУбытки? Там же остатки нужно выводить. Но смысл ясен
Название: Re: Билет 1. Спец по платформе V8
Отправлено: orcdunaev от Февраль 11, 2018, 09:22:15 am
Спасибо за ценную информацию! Не понял только зачем в отчете по БУ ПрибылиУбытки? Там же остатки нужно выводить. Но смысл ясен
Только сейчас сверил первый билет из комплекта с тем первым, что попался на экзамене. Оказалось, совпадает только номер билета и задача на ОУ)
Немного не та ветка для моего коммента, но инфа универсальная, сойдет для всех задач.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Февраль 11, 2018, 06:32:23 pm
Выкладываю свой вариант первого билета с доп. условием. Буду благодарен за критику.
Почему вы так усложнили запрос с получением среза последних ставки по сотруднику?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 11, 2018, 08:54:32 pm
Выкладываю свой вариант первого билета с доп. условием. Буду благодарен за критику.
Почему вы так усложнили запрос с получением среза последних ставки по сотруднику?
Для того, чтобы при вводе оклада с 10.01 по 31.01 значение ставки было получено на 10.01 а не на 01.01
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 11, 2018, 09:55:01 pm
Выкладываю свой вариант первого билета с доп. условием. Буду благодарен за критику.
Почему вы так усложнили запрос с получением среза последних ставки по сотруднику?
Для того, чтобы при вводе оклада с 10.01 по 31.01 значение ставки было получено на 10.01 а не на 01.01
Расчетный период во всех задачах СПР - месяц.
Цитировать
Начисление зарплаты сотрудникам предприятия осуществляется ежемесячно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 12, 2018, 12:08:08 am
Расчетный период во всех задачах СПР - месяц.
Меня смутила фраза "например, можно указать начисление оклада с 10.01 по 31.01". Считаете, я перестарался?
Еще в билете №2 в задаче СПР есть фраза: "Расчет должен проводиться исходя из действующего на рассчитываемую дату начального значения оклада. Например, если начальное значение оклада изменилось 10 августа, то до 10 августа при расчете берется старое значение, а начиная с 10 августа – новое.". В этом случае простым запросом точно не отделаться   ???
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Февраль 12, 2018, 06:41:35 am
Расчетный период во всех задачах СПР - месяц.
Меня смутила фраза "например, можно указать начисление оклада с 10.01 по 31.01". Считаете, я перестарался?
Еще в билете №2 в задаче СПР есть фраза: "Расчет должен проводиться исходя из действующего на рассчитываемую дату начального значения оклада. Например, если начальное значение оклада изменилось 10 августа, то до 10 августа при расчете берется старое значение, а начиная с 10 августа – новое.". В этом случае простым запросом точно не отделаться   ???
Насколько я понял, Расчетный период в задаче месяц, как написали выше, а второй комментарий указывает на то, что по одному документу не могут быть начисления за два различных месяца.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alex1248 от Февраль 12, 2018, 08:36:04 am
Расчетный период во всех задачах СПР - месяц.
Меня смутила фраза "например, можно указать начисление оклада с 10.01 по 31.01". Считаете, я перестарался?

Да, в большинстве задач оклады/тарифы берутся срезом на 1-е число месяца.
И да, только в 2-СПР требуется выбирать оклад на дату изменения. Запрос не так и сложен (если к нему привыкнуть  :D ), в начале соответствующей ветки точно есть рабочие варианты.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 12, 2018, 08:56:23 am
Да, в большинстве задач оклады/тарифы берутся срезом на 1-е число месяца.
Спасибо! Пересмотрю свой подход к решению  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: clancy08 от Февраль 12, 2018, 11:12:16 am
Да, в большинстве задач оклады/тарифы берутся срезом на 1-е число месяца.
Спасибо! Пересмотрю свой подход к решению  :)

Мне нравятся ваши решения, но еще хотел указать на избыточность проверок на NULL,
Операция считается и так тяжелой, а вы указываете ее на всех ресурсах при левом соединении. Товарищу при сдаче за это снизили бал.
К примеру, нет смысла проверять Партию и сумму на нул в расходной, если Количество будет равно 0, данная номенклатура тогда не пройдет проверку на остаток в самом начале.

Или В расчетах если период действия равен 0 то логично, что ПериодДействияФакт так же будет равен 0, и проверять на NULL его бессмысленно.
Цитировать
?(Выборка.Норма = 0, 0, Выборка.Оклад*Выборка.Факт/Выборка.Норма)
в вашем случае норма не присоединилась,  вы факт не используете.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Slava от Февраль 12, 2018, 03:14:27 pm
Мне нравятся ваши решения, но еще хотел указать на избыточность проверок на NULL,
Операция считается и так тяжелой, а вы указываете ее на всех ресурсах при левом соединении. Товарищу при сдаче за это снизили бал.
Спасибо! Не думал, что за такое могут снять балл.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: andrig от Февраль 25, 2018, 06:09:42 am
Мои решения после сдачи.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Хильда от Февраль 27, 2018, 03:57:20 pm
Билет 1, сдавала 22.02.2018
Оценка 4.
Ошибки:
В регистр остатков номенклатуры запись идет два раза (Движения.ИмяРегистра.Записать() не сбрасывает флаг Записывать = Истина)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Goxanov от Март 02, 2018, 05:36:27 pm
Билет 1, сдавала 22.02.2018
Оценка 4.
Ошибки:
В регистр остатков номенклатуры запись идет два раза (Движения.ИмяРегистра.Записать() не сбрасывает флаг Записывать = Истина)

Поздравляю со сдачей!  :)
Хочу разобраться с параметром записи, ошибка или нет в данном примере.
Движения.ДополнительныеНачисления.Записать(, Истина);   

из справки выдержка

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

В выгрузке период действия для РР Дополнительные начисления не используется.
Получается не требуется в данном случае указывать второй параметр?  ???
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Апрель 07, 2018, 10:58:27 pm
из справки выдержка

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

В выгрузке период действия для РР Дополнительные начисления не используется.
Получается не требуется в данном случае указывать второй параметр?  ???
В общем модуле Расчеты второй параметр метода Записать для всех наборов расчетных регистров д.б. Истина. Как бы такая запись менее затратна для системы, т.е. запись происходит "проще". Ты же сам приводишь цитату "ввод записей перерасчета". А что такое перерасчет - записи, которые создаются, когда есть ведущие виды расчета  и вытесняющие. Те виды расчета, которые в базе, как правило, указываются ведущими. Таким образом, 2-ой параметр метода Записать актуален не только для регистров с периодом действия, но и для регистров с базой, да и вообще для любых регистров расчета, запись которых происходит в общем модуле Расчеты.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: fimanich от Июнь 20, 2018, 11:36:16 pm
На экзамене задача по ОУ была у меня из этого билета. Решал, так, как в выложенном здесь решении. Замечаний не было.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: outcast от Июль 02, 2018, 12:13:02 am
Прошу оценить мой вариант
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DarkUser от Июль 02, 2018, 12:10:10 pm
Прошу оценить мой вариант

1. В справочнике Номенклатуры лучше использовать не булевый признак Услуги, а перечисление, так оно в каркасной уже есть (Перечисление.ВидыНоменклатуры.Товар/Услуга).
2. В РасходнойНакладной при движениях в регистр ПартииТоваров (ОУ) Движения.ПартииТоваров.Очистить() делать не надо, это считается ошибкой. Достаточно просто Движения.ПартииТоваров.Записать() для старой методики и ничего не делать для новой. Объяснять на очном экзамене что набор движений не всегда бывает пустой муторно, а если сдавать дистанционно то и невозможно. Лучше сделать так, как этого ожидают.
3. Там же, нет проверки на ЕСТЬNULL при левом соединении с остатками.
4. На курсах по 1С рекомендуют рассчитывать себестоимость по формуле:  СебестоимостьОстаток / КоличествоОстаток * КоличествоКСписанию.
5. В РН по движениям в БУ желательно вынести проводку дТПокупатели-ктПрибылиУбытки из цикла, так как там всего одна сумма записывается.
6. В регистре сведений ШкалаЗначенийПроцентаПремии лучше обойтись одним значением - ВерхняяГраница.
7. В регистре расчетов Основные начисления нет галки Базовое на измерении Сотрудник.
8. В Движение.ПериодДействияКонец лучше указывать КонецДня, хотя в данном случае это не важно.
9.  При записи доп.начислений (премия) флаг Истина в записи не нужен, так как там нет периода действия.
10. Отчет в расчетах не совсем соответствует заданию. Параметры выводить не надо, но вот шапку с месяцем отчета сделать надо.
11. То же касается и отчета по БУ. Колонки Номенклатура и СрокГодности в одной - это точно ошибка будет на экзамене. Так же в этой задаче нет итогов в отчете, а у вас они есть. Нет шапки в отчете.
12. Так же, итоги в отчете по ОУ не нужны.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 13, 2018, 04:46:53 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 13, 2018, 08:35:08 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
Вы бы режим совместимости поставили 8.3.3, а то не очень хочется последний релиз платформы устанавливать.
Да и вообще лучше делать на учебной платформе, или на 8.3.6 (дистанционно вроде этот), а  то будете на экзамене терять время на глюках платформы, которые у вас при подготовке на 8.3.11 не встречались.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 14, 2018, 08:56:52 am
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
Вы бы режим совместимости поставили 8.3.3, а то не очень хочется последний релиз платформы устанавливать.
Да и вообще лучше делать на учебной платформе, или на 8.3.9 (дистанционно вроде этот), а  то будете на экзамене терять время на глюках платформы, которые у вас при подготовке на 8.3.11 не встречались.

Вы имеете ввиду режим совместимости у свойства самой конфигурации поменять?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 14, 2018, 01:07:47 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
Вы бы режим совместимости поставили 8.3.3, а то не очень хочется последний релиз платформы устанавливать.
Да и вообще лучше делать на учебной платформе, или на 8.3.9 (дистанционно вроде этот), а  то будете на экзамене терять время на глюках платформы, которые у вас при подготовке на 8.3.11 не встречались.

Вы имеете ввиду режим совместимости у свойства самой конфигурации поменять?
Да
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 15, 2018, 04:53:38 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
Вы бы режим совместимости поставили 8.3.3, а то не очень хочется последний релиз платформы устанавливать.
Да и вообще лучше делать на учебной платформе, или на 8.3.9 (дистанционно вроде этот), а  то будете на экзамене терять время на глюках платформы, которые у вас при подготовке на 8.3.11 не встречались.
Режим совместимости 8.3.3
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 15, 2018, 08:43:58 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
- в основном по мелочи: во всех отчетах заголовков нет; по ОУ не увидел сообщение с описанием ошибки при контроле остатков;
- в ПР: условие задачи "... В одном документе могут быть данные за разные расчетные периоды.", т.е. использовать "срез последних" для получения значения оклада в этом случае будет не совсем корректно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 15, 2018, 09:38:16 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
- в основном по мелочи: во всех отчетах заголовков нет; по ОУ не увидел сообщение с описанием ошибки при контроле остатков;
- в ПР: условие задачи "... В одном документе могут быть данные за разные расчетные периоды.", т.е. использовать "срез последних" для получения значения оклада в этом случае будет не совсем корректно.
Не думаю что отсутствие заголовков считается ошибкой , хотя задать их не так уж и долго.
- По поводу сообщения Согласен нужно бы добавить, но в задании сказано только то что документ не должен проводится;
-Если не ошибаюсь, по СПР, в примерах, скаченных из этого форума, оклад берется срезом последних на начало месяца....
Спасибо за критикУ ))) 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 15, 2018, 10:50:39 pm
...
-Если не ошибаюсь, по СПР, в примерах, скаченных из этого форума, оклад берется срезом последних на начало месяца....
Спасибо за критикУ )))
Ну тут не все примеры одинаково полезны )) Лучше перепроверьтесь, как ближайший пример гляньте у пользователя outcast (чуть выше). Получения оклада зависит от условия задачи, в этой допускается указание в ТЧ разных периодов расчета, т.е. можно ввести одну строку за январь, вторую за февраль, третью за март и т.д., и брать для каждой один и тот же оклад через срез последних (с учетом того, что для каждого месяца он может отличаться) наверно все таки не правильно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 16, 2018, 12:08:45 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
- в основном по мелочи: во всех отчетах заголовков нет; по ОУ не увидел сообщение с описанием ошибки при контроле остатков;
- в ПР: условие задачи "... В одном документе могут быть данные за разные расчетные периоды.", т.е. использовать "срез последних" для получения значения оклада в этом случае будет не совсем корректно.
Вот что нашел на этом форуме на ветке по 5 билету:

"Всем добрый день!
 Сдавал 07.10 2-й билет, сдал на 4 с первого раза)))
 Сдавал на 8.2
 Принимал Гончаров Дмитрий.
 В СПР есть фраза «В одном документе могут быть данные за разные расчетные
 периоды». Спросил, означает ли это, что период регистрации должен быть в
 табличной части? Ответ был, нет, это значит, что в строке табличной части период
 действия может быть не за весь месяц, а к примеру с 01.10 по 15.10. "
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 16, 2018, 01:37:54 pm
Кому не трудно проверьте пожалуйста 1 билет (без доп условия и бизнес процесса)
- в основном по мелочи: во всех отчетах заголовков нет; по ОУ не увидел сообщение с описанием ошибки при контроле остатков;
- в ПР: условие задачи "... В одном документе могут быть данные за разные расчетные периоды.", т.е. использовать "срез последних" для получения значения оклада в этом случае будет не совсем корректно.
Вот что нашел на этом форуме на ветке по 5 билету:

"Всем добрый день!
 Сдавал 07.10 2-й билет, сдал на 4 с первого раза)))
 Сдавал на 8.2
 Принимал Гончаров Дмитрий.
 В СПР есть фраза «В одном документе могут быть данные за разные расчетные
 периоды». Спросил, означает ли это, что период регистрации должен быть в
 табличной части? Ответ был, нет, это значит, что в строке табличной части период
 действия может быть не за весь месяц, а к примеру с 01.10 по 15.10. "
Тут немного про другое, про период регистрации, который должен определяться датой документа, а не реквизитом из ТЧ. А вот период действия определяется реквизитами из ТЧ, и может быть задан как пример: строка №1 с 01.10 по 15.10  и строка №2 с 01.11 по 15.11.
К примеру в 6 билете формулировка наоборот: "В одном документе могут быть данные только за текущий расчетный период." 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Evgenich от Июль 16, 2018, 02:42:03 pm
Тут немного про другое, про период регистрации, который должен определяться датой документа, а не реквизитом из ТЧ. А вот период действия определяется реквизитами из ТЧ, и может быть задан как пример: строка №1 с 01.10 по 15.10  и строка №2 с 01.11 по 15.11.
К примеру в 6 билете формулировка наоборот: "В одном документе могут быть данные только за текущий расчетный период."
Все, я понял, спасибо за разъяснения. Я все билеты наштамповал по этой схеме )))
Усправил, вроде должно все работать )))
Кстати у outcast ПериодРегистрации в ТЧ документа и определяется он не совсем датой документа
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 16, 2018, 08:36:55 pm
Кстати у outcast ПериодРегистрации в ТЧ документа и определяется он не совсем датой документа
Да, видимо не заметил, как вариант посмотрите еще решение на 48 странице.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Июль 16, 2018, 09:10:40 pm
В одном документе могут быть данные за разные расчетные периоды
Эта фраза не актуальна по информации от недавно сдавших. Все сейчас делается в одном расчетном периоде. Согласно этому, можно брать срезом последних.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 16, 2018, 09:42:43 pm
Эта фраза не актуальна по информации от недавно сдавших. Все сейчас делается в одном расчетном периоде. Согласно этому, можно брать срезом последних.
Это очень хорошо если так, просто помнится, что в прошлогодних записях курсов УЦ, на этот момент обращали внимание.

Evgenich
Возвращайте все как было, на срез последних ))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Июль 17, 2018, 04:59:20 pm
Билет 1, сдавала 22.02.2018
Оценка 4.
Ошибки:
В регистр остатков номенклатуры запись идет два раза (Движения.ИмяРегистра.Записать() не сбрасывает флаг Записывать = Истина)

Здравствуйте. У меня вопрос по решению этого пользователя(ОУ):
Если мы используем новую методику то запись и через Записавать= истина и Записать() считается на экзамене ошибкой?


Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.ОстаткиНоменклатуры.Записать();

Т.е. нужно было использовать только (Движения.ОстаткиНоменклатуры.Записать()) ?


Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 17, 2018, 08:33:13 pm
Билет 1, сдавала 22.02.2018
Оценка 4.
Ошибки:
В регистр остатков номенклатуры запись идет два раза (Движения.ИмяРегистра.Записать() не сбрасывает флаг Записывать = Истина)

Здравствуйте. У меня вопрос по решению этого пользователя(ОУ):
Если мы используем новую методику то запись и через Записавать= истина и Записать() считается на экзамене ошибкой?


Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.ОстаткиНоменклатуры.Записать();

Т.е. нужно было использовать только (Движения.ОстаткиНоменклатуры.Записать()) ?


Спасибо.

Тут видимо речь про то, что нужно было использовать запись коллекции Движения.Записать() (чтоб флаг сбросился), а не запись набора Движения.ОстаткиНоменклатуры.Записать()
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Июль 18, 2018, 07:35:37 pm
Билет 1, сдавала 22.02.2018
Оценка 4.
Ошибки:
В регистр остатков номенклатуры запись идет два раза (Движения.ИмяРегистра.Записать() не сбрасывает флаг Записывать = Истина)

Здравствуйте. У меня вопрос по решению этого пользователя(ОУ):
Если мы используем новую методику то запись и через Записавать= истина и Записать() считается на экзамене ошибкой?


Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
Движения.ОстаткиНоменклатуры.Записать();

Т.е. нужно было использовать только (Движения.ОстаткиНоменклатуры.Записать()) ?


Спасибо.

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

Есть еще вопрос по решению данного пользователя(ОУ проведение расходной накладной):
После того как  произошла запись  в регистр Остатки номенклатуры , ЗАЧЕМ ТО(?) делается запись в регистр себестоимости и далее устанавливается блокировка. Для чего записывать в регистр Себестоимости? 

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;
// Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Записать();

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();

Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 18, 2018, 08:15:51 pm

Есть еще вопрос по решению данного пользователя(ОУ проведение расходной накладной):
После того как  произошла запись  в регистр Остатки номенклатуры , ЗАЧЕМ ТО(?) делается запись в регистр себестоимости и далее устанавливается блокировка. Для чего записывать в регистр Себестоимости? 

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;
// Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Записать();

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();

Спасибо.
По старой методике, сначала нужно сделать запись в регистр пустого набора (тем самым вы гарантируете, что при оперативном перепроведении, у вас текущие движения документа не повлияют на контроль остатков). Далее также согласно методике: установка блокировки, затем контроль остатков и формирование движений.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Июль 19, 2018, 01:55:50 pm

Есть еще вопрос по решению данного пользователя(ОУ проведение расходной накладной):
После того как  произошла запись  в регистр Остатки номенклатуры , ЗАЧЕМ ТО(?) делается запись в регистр себестоимости и далее устанавливается блокировка. Для чего записывать в регистр Себестоимости? 

// регистр Себестоимость Расход
Движения.Себестоимость.Записывать = Истина;
// Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Записать();

Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();

Спасибо.
По старой методике, сначала нужно сделать запись в регистр пустого набора (тем самым вы гарантируете, что при оперативном перепроведении, у вас текущие движения документа не повлияют на контроль остатков). Далее также согласно методике: установка блокировки, затем контроль остатков и формирование движений.

Спасибо что отвечаете на мои вопросы.
Просто в решении данного пользователя нет очистки движений по регистру Себестоимости. Только запись(!). Меня это насторожило. Еще пара уточнений(что требуют на экзамене):
1)Очистка движений этого регистра(Себестоимость) должна происходить всегда или только  при оперативном проведении?
2)При проверки остатков по РН "ОстакиНоменклатуры" использована конструкция :

Запрос.УстановитьПараметр("Граница", Новый Граница(МоментВремени(),ВидГраницы.Включая));

Хотя многие пишут что нужно учитывать оперативно или нет проводиться документ :
МоментКонтроляОстатков =   ?(Режим = РежимПроведенияДокумента.Оперативный,   Неопределено,    Новый Граница(МоментВремени(), ВидГраницы.Включая));     Запрос.УстановитьПараметр("МоментВремени", МоментКонтроляОстатков);

На экзамене предпочтительней использовать второй вариант?.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 19, 2018, 04:14:27 pm

Спасибо что отвечаете на мои вопросы.
Просто в решении данного пользователя нет очистки движений по регистру Себестоимости. Только запись(!). Меня это насторожило. Еще пара уточнений(что требуют на экзамене):
1)Очистка движений этого регистра(Себестоимость) должна происходить всегда или только  при оперативном проведении?

Если вы имеете ввиду использование метода .Очистить() перед записью движений, то его можно не использовать, за это баллы не снизят (проверено).

2)При проверки остатков по РН "ОстакиНоменклатуры" использована конструкция :

Запрос.УстановитьПараметр("Граница", Новый Граница(МоментВремени(),ВидГраницы.Включая));

Хотя многие пишут что нужно учитывать оперативно или нет проводиться документ :
МоментКонтроляОстатков =   ?(Режим = РежимПроведенияДокумента.Оперативный,   Неопределено,    Новый Граница(МоментВремени(), ВидГраницы.Включая));     Запрос.УстановитьПараметр("МоментВремени", МоментКонтроляОстатков);

На экзамене предпочтительней использовать второй вариант?.
Насколько я знаю за первый вариант баллы не снижают ).
Второй вариант считается более оптимальным, на ИТС где-то была про это статья, что при оперативном проведении Не нужно получать итоги на момент времени. Тут правда под вопросом на сколько это будет правильно работать, если каким то чудом в регистре оказались движения введенные будущим временем )
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Июль 19, 2018, 06:38:32 pm
В задаче по ОУ обязательно ли проверять на заполненность Политику учета?


Политика = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(МоментВремени()).Значение;

Если НЕ ЗначениеЗаполнено(Политика) тогда

Отказ = истина;

Сообшение = новый СообщениеПользователю;
Сообшение.Текст = "Не установлена учетная политика";
Сообшение.Сообщить();

Возврат;


КонецЕсли;


Я смотрю некоторые не проверяют.



Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(МоментВремени()).МетодСписания;
Если Метод = Перечисления.УчетнаяПолитика.ЛИФО Тогда
ПорядокСортировки = " УБЫВ";
Иначе
ПорядокСортировки = "";
КонецЕсли;




Не снимут ли за это баллы?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 19, 2018, 08:50:58 pm
В задаче по ОУ обязательно ли проверять на заполненность Политику учета?


Политика = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(МоментВремени()).Значение;

Если НЕ ЗначениеЗаполнено(Политика) тогда

Отказ = истина;

Сообшение = новый СообщениеПользователю;
Сообшение.Текст = "Не установлена учетная политика";
Сообшение.Сообщить();

Возврат;


КонецЕсли;


Я смотрю некоторые не проверяют.



Метод = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(МоментВремени()).МетодСписания;
Если Метод = Перечисления.УчетнаяПолитика.ЛИФО Тогда
ПорядокСортировки = " УБЫВ";
Иначе
ПорядокСортировки = "";
КонецЕсли;




Не снимут ли за это баллы?

Пункта в списке ошибок за которые снимают такого вроде нет, и в комментариях к результатам такого я не видел. Это скорее из списка вещей, которые вроде как и не влияют, но должны быть если вы хотите высокую оценку, к примеру: установленный флаг "Разрешить разделение итогов" у регистра; флаг "Запрет незаполненных значений" у измерений регистров;  флаг "Неотрицательное" у показателей в табличных частях документов  и т.д.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Июль 21, 2018, 07:00:28 pm
Есть ли смысл в приходной накладной группировать по номенклатуре и фильтровать по виду номенклатуры (не услуга). Некоторые просто используют конструктор движений. Будет ли ошибка на экзамене или это т.н. "красивость" если хочешь получить высокую оценку?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Июль 21, 2018, 07:55:02 pm
Есть ли смысл в приходной накладной группировать по номенклатуре и фильтровать по виду номенклатуры (не услуга). Некоторые просто используют конструктор движений. Будет ли ошибка на экзамене или это т.н. "красивость" если хочешь получить высокую оценку?
Если не сделаете ошибки не будет, так что можно не тратить время.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Whit3bear от Август 20, 2018, 12:40:11 pm
Билет 1, сдавал 13.08.2018 удаленно
Оценка 4.

Ошибки:
Вопрос № 2
При проведении РН не контроля остатков по второму регистру
Вопрос № 3
Вместо одной проводки по выручке формируются несколько
Вопрос № 4
Расчет на форме выполнен неверно


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

Билет совпадал с актуальным. В БП правда есть условие что Пользователь видит только свои задачи, но должна быть возможность просмотра всех задач.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: isaevaks от Август 23, 2018, 04:52:23 pm
Добрый день. Посмотрите, пожалуйста, решение кому не сложно и есть время
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Август 24, 2018, 09:46:14 am
Всем привет ! вопрос по первому билету . можно ли его решить на одном рн  ?
для чего здесь в решениях второй регистр себестоимость .

почему  в оу  я вижу в решениях проведение по новой . по регистру партии  -новая .регистр себестоимость уже старая .

Читаем проверяем пишем старый вариант , предварит обсчит данныее и потом пишем  ,можем сначала записать в регистр ,а потом проверить - по  Новой Пишем Читаем Проверяем 


если не читаем данные блоки не ставим
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Август 24, 2018, 10:34:03 am
За основу взял билет от Хильда

перенес строки  записи и блок, в новой методике. в расх накл

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


Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Август 24, 2018, 03:11:07 pm
Всем привет ! вопрос по первому билету . можно ли его решить на одном рн  ?
для чего здесь в решениях второй регистр себестоимость .

почему  в оу  я вижу в решениях проведение по новой . по регистру партии  -новая .регистр себестоимость уже старая .

Читаем проверяем пишем старый вариант , предварит обсчит данныее и потом пишем  ,можем сначала записать в регистр ,а потом проверить - по  Новой Пишем Читаем Проверяем 


если не читаем данные блоки не ставим


Ну в принципе можно исхитриться и сделать один регистр.
Измерения: Номенклатура, Склад, Партия
Ресурсы: Количество, КоличествоПартии, Сумма
При проведении будет по 2 строки на каждую строку документа (с пустой суммой и партией - для строк по количеству и пустым складом для строк с суммой). Но такое разработать гораздо сложнее, чем 2 регистра, но будет вполне оригинально.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Август 26, 2018, 08:08:15 pm
...
соответственно в документе начисление зарпл.  добавлены реквизиты оклад и результат  видимо нужны. для перерасчета .
При проведении расчет не делается, он делается на форме по кнопке рассчитать. Т.е. при проведении в регистры записывается уже готовый результат.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Август 29, 2018, 10:02:49 am
...
соответственно в документе начисление зарпл.  добавлены реквизиты оклад и результат  видимо нужны. для перерасчета .
При проведении расчет не делается, он делается на форме по кнопке рассчитать. Т.е. при проведении в регистры записывается уже готовый результат.

Это недавно  дополнение к условию сделали? .  ранее в решениях этого нет  ,да и в условии задачи .

Или же  для удаленки кнопка,  очно  . при проведении?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Август 29, 2018, 01:24:42 pm
...
соответственно в документе начисление зарпл.  добавлены реквизиты оклад и результат  видимо нужны. для перерасчета .
При проведении расчет не делается, он делается на форме по кнопке рассчитать. Т.е. при проведении в регистры записывается уже готовый результат.

Это недавно  дополнение к условию сделали? .  ранее в решениях этого нет  ,да и в условии задачи .

Или же  для удаленки кнопка,  очно  . при проведении?

Посмотрите 4 страницу (1 пост) там были все дополнения/изменения перечислены: https://forum.chistov.pro/index.php?topic=3953.45
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Август 29, 2018, 07:55:41 pm
Спасибо за информацию
соответственно в документе начисление зарпл.  добавлены реквизиты оклад и результат  видимо нужны. для перерасчета .
При проведении расчет не делается, он делается на форме по кнопке рассчитать. Т.е. при проведении в регистры записывается уже готовый результат.

Это недавно  дополнение к условию сделали? .  ранее в решениях этого нет  ,да и в условии задачи .

Или же  для удаленки кнопка,  очно  . при проведении?

Посмотрите 4 страницу (1 пост) там были все дополнения/изменения перечислены: https://forum.chistov.pro/index.php?topic=3953.45
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ido от Август 30, 2018, 10:01:32 pm
На экзамене проверяют установку блокировок на регистр расчетов?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Skobuneev от Август 30, 2018, 10:36:38 pm
Ребят, а я что-то не пойму, где сами билеты можно скачать? И что имеет смысл решать, задачник или вот эти билеты? Заранее спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alenka2296 от Сентябрь 01, 2018, 10:53:15 pm
решила ПР из 1 билета,  с кнопкой "рассчитать". Вроде как работает все, посмотрите кто сможет, покритикуйте.

Единственное есть вопрос по поводу этой фразы в условии "..Отчет должен быть построен только за определенный календарный месяц.."

Думается что в отчете отбор должен быть какой-то с изюминкой. Сделала в нем параметр Период, типа дата, с форматом "ММММ уууу", выводится в отчет сам как в задании, но отобрать получается только если выберу в поле отбора значение типа "начало этого полугодия"/"начало этого месяца"/..., то работает, а если выберу конкретное число - в поле отбора пусто и не работает.

Как правильно сделать отчет с этим условием? или я слишком заморочилась?

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

УПОРЯДОЧИТЬ ПО
ДополнительныеНачисления.ПериодРегистрации


Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Сентябрь 02, 2018, 09:10:13 am
На экзамене проверяют установку блокировок на регистр расчетов?
Нет

Ребят, а я что-то не пойму, где сами билеты можно скачать? И что имеет смысл решать, задачник или вот эти билеты? Заранее спасибо!
Ветку же специально закрепили с билетами, поищите там на двух последних страницах. Ветка с дополнениями в билетах тоже есть. А потом читайте ветку с результатами сдачи, чтоб иметь представление к чему готовиться в зависимости от способа сдачи.

...
Единственное есть вопрос по поводу этой фразы в условии "..Отчет должен быть построен только за определенный календарный месяц.."
...
Периодичность в регистрах месяц, посмотрите что у вас в записях в этом регистре в периоде регистрации, может условие в отчете можно сделать проще ;)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alenka2296 от Сентябрь 02, 2018, 01:40:46 pm
...
Единственное есть вопрос по поводу этой фразы в условии "..Отчет должен быть построен только за определенный календарный месяц.."
...
Периодичность в регистрах месяц, посмотрите что у вас в записях в этом регистре в периоде регистрации, может условие в отчете можно сделать проще ;)
[/quote]

В регистре в запросе - да, а как сделать в самом отчете в поле Период?
 там можно выбрать стандартный период - тогда это может быть не только за определенный месяц, а за несколько например.
 или выбрать конкретную дату, но тогда и в отчете в самом будет написано например "Параметры:  Месяц 03.08.2018", а не "Месяц Август 2018",
  или если форматирование назначить "ММММ уууу" то в отчете выводится нормально только если выбрать "начало этого полугодия" и т.д. конкретную дату нельзя.

может какая то настройка Скд есть и я просто не догоняю?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: daadaa от Сентябрь 02, 2018, 07:52:52 pm
В регистре в запросе - да, а как сделать в самом отчете в поле Период?
 там можно выбрать стандартный период - тогда это может быть не только за определенный месяц, а за несколько например.
 или выбрать конкретную дату, но тогда и в отчете в самом будет написано например "Параметры:  Месяц 03.08.2018", а не "Месяц Август 2018",
  или если форматирование назначить "ММММ уууу" то в отчете выводится нормально только если выбрать "начало этого полугодия" и т.д. конкретную дату нельзя.

может какая то настройка Скд есть и я просто не догоняю?
Делайте через конкретную дату. Отображение параметров отключите. Вывод заголовка сделайте через макет, как пример: добавьте группировку Детальные записи, на закладке Другие настройки для нее ставите "Вариант использования группировки" = Дополнительная информация, потом назначьте ей имя и добавьте для нее макет группировки ("Добавить макет группировки"), затем область нарисуете и формат вывода даты определите.
Саму методику решения задачи посмотрите как у RA, она выше прикреплена.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alenka2296 от Сентябрь 02, 2018, 09:58:06 pm
В регистре в запросе - да, а как сделать в самом отчете в поле Период?
 там можно выбрать стандартный период - тогда это может быть не только за определенный месяц, а за несколько например.
 или выбрать конкретную дату, но тогда и в отчете в самом будет написано например "Параметры:  Месяц 03.08.2018", а не "Месяц Август 2018",
  или если форматирование назначить "ММММ уууу" то в отчете выводится нормально только если выбрать "начало этого полугодия" и т.д. конкретную дату нельзя.

может какая то настройка Скд есть и я просто не догоняю?
Делайте через конкретную дату. Отображение параметров отключите. Вывод заголовка сделайте через макет, как пример: добавьте группировку Детальные записи, на закладке Другие настройки для нее ставите "Вариант использования группировки" = Дополнительная информация, потом назначьте ей имя и добавьте для нее макет группировки ("Добавить макет группировки"), затем область нарисуете и формат вывода даты определите.
Саму методику решения задачи посмотрите как у RA, она выше прикреплена.

спасибо большое
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Сентябрь 06, 2018, 09:43:33 am
В регистре в запросе - да, а как сделать в самом отчете в поле Период?
 там можно выбрать стандартный период - тогда это может быть не только за определенный месяц, а за несколько например.
Белоусов Павел . на своих курсах разжевывает  .как делать заголовки через макет.

с каждым нем экзамен становиться наполненей

может какая то настройка Скд есть и я просто не догоняю?
Делайте через конкретную дату. Отображение параметров отключите. Вывод заголовка сделайте через макет, как пример: добавьте группировку Детальные записи, на закладке Другие настройки для нее ставите "Вариант использования группировки" = Дополнительная информация, потом назначьте ей имя и добавьте для нее макет группировки ("Добавить макет группировки"), затем область нарисуете и формат вывода даты определите.
Саму методику решения задачи посмотрите как у RA, она выше прикреплена.

спасибо большое
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Сентябрь 06, 2018, 09:48:53 am
Ребят, а я что-то не пойму, где сами билеты можно скачать? И что имеет смысл решать, задачник или вот эти билеты? Заранее спасибо!

тут  выкладывали ссылки .посмотри в ветках.
сами преподы говорят решай весь задачник. по слухам .только задачи из этих билетов на экзамене
поэтому если времени не жалко решай весь задачник.  по 5 задач в день можно .если ты дома в отпуске.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Buriy от Сентябрь 09, 2018, 06:53:40 pm
Товарищи, прошу вашего мнения. Билет с дополнениями
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Алексей18 от Сентябрь 10, 2018, 09:31:59 am
Товарищи, прошу вашего мнения. Билет с дополнениями
Бух.учет:
1.   В РН двойной цикл по группировке Номенклатура
2.   В РН отсутствие проверки в цикле на то, что количество номенклатуры к списанию больше нуля – приводит к тому что по всем имеющимся срокам годности будут порождены проводки с нулевой суммой даже после полного списания по документу.
3.   Документ Операция – проводится! Плюс пользователю обязательно в ручную придется вводить Период по каждой проводке.

Расчеты:
1.   В документе НЗ задается модальный вопрос, хотя режим модальности отключен. Соответственно это приводит к ошибке.
2.   Почему Основные начисления имеют зависимость от базы?
3.   Расчет оклада должен быть пропорционально дням, а не часам.
4.   При проведении НЗ неверно устанавливается ПериодДействияКонец.
5.   В отчете не реализовано условие про период.

Бизнес-процессы
1.   Не настроен регистр адресации
Название: Re: Билет 1. Спец по платформе V8
Отправлено: kaaasteeen от Сентябрь 18, 2018, 03:34:13 pm
Билет 1, сдавал 13.08.2018 удаленно
Оценка 4.

Ошибки:
Вопрос № 2
При проведении РН не контроля остатков по второму регистру
Вопрос № 3
Вместо одной проводки по выручке формируются несколько
Вопрос № 4
Расчет на форме выполнен неверно


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

Билет совпадал с актуальным. В БП правда есть условие что Пользователь видит только свои задачи, но должна быть возможность просмотра всех задач.

Поздравляю с успешной сдачей!
Как решали БУ и СПР?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: R2ANV от Сентябрь 30, 2018, 08:52:55 pm
Сдавал 28.09 очно.
Оценка 4.
Задача БУ была из билета №1. Очередь отвечать до меня дошла в последнюю очередь. И имеющий уши - да слышит. Именно эта задача БУ была у всех, кто сдавал платформу в тот день. Увы, но моих коллег постигла повальная неудача, и всех на этой задаче. Причина у всех тоже была одна - не выключен суммовой признак у субконто "срок годности". Следствие - невозможность вывести в ноль счет "товары". Препод оценивал это по максимуму - в -3 балла.  Такая вот печальная история. Обращайте внимание на этот, казалось бы, маленький нюанс , пожалуйста.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RA от Октябрь 05, 2018, 09:44:13 pm
Сдавал 28.09 очно.
Оценка 4.
Задача БУ была из билета №1. Очередь отвечать до меня дошла в последнюю очередь. И имеющий уши - да слышит. Именно эта задача БУ была у всех, кто сдавал платформу в тот день. Увы, но моих коллег постигла повальная неудача, и всех на этой задаче. Причина у всех тоже была одна - не выключен суммовой признак у субконто "срок годности". Следствие - невозможность вывести в ноль счет "товары". Препод оценивал это по максимуму - в -3 балла.  Такая вот печальная история. Обращайте внимание на этот, казалось бы, маленький нюанс , пожалуйста.

во всех решениях здесь выложенных суммого признака на сроке годности нет .  непойму кому в голову взбредет его там  заводить .
Поздравляю !  снижал оценку до 3 балов? или -3 за ошибку такую? по регламенту -1 за это.что то вы тут фантазируете 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: R2ANV от Октябрь 08, 2018, 05:51:15 pm
что то вы тут фантазируете

Мне-то зачем. Я сдал. Желтую бумажку получил.

А аргументировал препод следующим:
"Построенная в решении учетная схема принципиально не позволяет одновременно вывести в ноль все ресурсы регистра накапливающего информацию об остатках.   0,5 - 3,0"
На его усмотрение это тянуло на -3 балла.

Я привел этот факт совсем не для критики или обсуждения препода, это необсуждаемо, а исключительно ради обмена опытом. Другое дело, что постить ее, наверное, следовало в соответствующую тему. В этом да, виноват.
Прошу модератора перенести топик в тему "Обсуждение самого экзамена и результаты сдачи".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dess от Октябрь 19, 2018, 03:08:44 pm
Добрый день!
Как понимать фразу "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода"
Что понимать под началом расчетного периода? ПериодДействияНачало? ПериодРегистрации?
Дополнительно:
Начисляем оклад за январь 2018г одной строкой ПериодДействияНачало = 01.01.2018 ПериодДействияКонец = 31.01.2018.
15.01.2018г. оклад у сотрудника поменялся.
Достаточно ли взять оклад на 01.01.2018? или необходимо учитывать изменение оклада от 15.01.2018г.?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Октябрь 19, 2018, 04:00:23 pm
Добрый день!
Как понимать фразу "Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода"
Что понимать под началом расчетного периода? ПериодДействияНачало? ПериодРегистрации?
Дополнительно:
Начисляем оклад за январь 2018г одной строкой ПериодДействияНачало = 01.01.2018 ПериодДействияКонец = 31.01.2018.
15.01.2018г. оклад у сотрудника поменялся.
Достаточно ли взять оклад на 01.01.2018? или необходимо учитывать изменение оклада от 15.01.2018г.?
Расчетный период, период за который считается зп, обычно месяц, ну или то что вы поставите в регистре расчета в поле "Периодичность".
Достаточно взять на начало месяца, так кстати и написано.
Если учитывать изменение оклада, вам об этом напишут в билете. Во втором билете как раз и есть неоднократное изменение оклада.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dess от Октябрь 19, 2018, 05:02:18 pm
Расчетный период, период за который считается зп, обычно месяц, ну или то что вы поставите в регистре расчета в поле "Периодичность".
Достаточно взять на начало месяца, так кстати и написано.
Если учитывать изменение оклада, вам об этом напишут в билете. Во втором билете как раз и есть неоднократное изменение оклада.

В тексте задачи написано: "Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01"
В данном случае начало расчетного периода это 10.01  или 01.01?


Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Октябрь 19, 2018, 05:53:09 pm
Расчетный период, период за который считается зп, обычно месяц, ну или то что вы поставите в регистре расчета в поле "Периодичность".
Достаточно взять на начало месяца, так кстати и написано.
Если учитывать изменение оклада, вам об этом напишут в билете. Во втором билете как раз и есть неоднократное изменение оклада.

В тексте задачи написано: "Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01"
В данном случае начало расчетного периода это 10.01  или 01.01?
Начало 01.01.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Октябрь 20, 2018, 10:47:50 am
Расчетный период, период за который считается зп, обычно месяц, ну или то что вы поставите в регистре расчета в поле "Периодичность".
Достаточно взять на начало месяца, так кстати и написано.
Если учитывать изменение оклада, вам об этом напишут в билете. Во втором билете как раз и есть неоднократное изменение оклада.

В тексте задачи написано: "Считать, что все данные вводятся только в пределах одного месяца, например, можно указать начисление оклада с 10.01 по 31.01"
В данном случае начало расчетного периода это 10.01  или 01.01?

Для данного экзамена берите оклад всегда на начало месяца от даты проведения документа, кроме двух исключений:
1. Если в билете указано, что оклад изменяется неоднократно и нужно это учесть (в этом случае нужно в регистре формировать соответствующее количество записей)
2. Если с помощью дополнения сторнируете запись прошлого периода. В этом случае не нужно вообще брать оклад из регистра сведений, т.к. в сторно-записи в реквизите "размер" уже этот оклад есть.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Dess от Октябрь 22, 2018, 08:11:13 am
Большое спасибо за объяснения!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: void127 от Ноябрь 14, 2018, 07:41:03 pm
Решенный Билет 1 - выгрузка базы.
Пояснительная записка - в конфе в Общих макетах и приложена текстовым файлом.
Это решение в рамках подготовки,  оно не проверялось.

Вроде неплохо вышли все микрозадачи - самому нравится :-) Славно затупил на Бух. задачке - там Суммовой учет по Срокам годности выключить надо - поправил.  Быстрее надо - не успел бы "на бою".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RomanLut от Ноябрь 21, 2018, 03:33:02 pm
Доброго времени коллеги!
Прошу проверить мое решение первого билета. Не решил только задачу по БП. Прошу судить строго.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: RomanLut от Ноябрь 21, 2018, 04:37:17 pm
Доброго времени коллеги!
Прошу проверить мое решение первого билета. Не решил только задачу по БП. Прошу судить строго.

проверил выходит 2,5
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Декабрь 05, 2018, 12:52:39 pm
Прошу критики по первой задаче первого билета. Нужно ли учитывать Услуги в рамках первой задачи?

и попутно вопрос: для исключения влияния документа на регистры при оперативном перепроведении
используется запись пустых движений
        Движения.ПартииТоваров.Записывать = Истина;
   Если Режим = РежимПроведенияДокумента.Оперативный Тогда      
      Движения.ПартииТоваров.Записать();
   КонецЕсли;

Для записи движений по регистру флаг "Записывать" для движения ставится в истину. а Движения.ИмяРегистра.Записать() его не сбрасывает при пустой записи?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: antonio_1c от Декабрь 08, 2018, 11:10:52 am
Здравствуйте.
Думаю, здесь будет уместно. :)
Сдал экзамен, и после качественно скомпоновал все решения и опубликовал на Инфостарте.
https://expert.chistov.pro/public/956340/
Если кому-то понадобится, можно скачать БеЗплатно базы. (читайте текст, в конце ссылка)
Буду благодарен за "+".
Ещё доработал и опубликовал шпаргалки- на них ушло много времени. Думаю, будут очень полезны при подготовке.
Пишите комментарии, если возникнут вопросы :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: antonio_1c от Декабрь 08, 2018, 11:14:05 am
Прошу критики по первой задаче первого билета. Нужно ли учитывать Услуги в рамках первой задачи?

и попутно вопрос: для исключения влияния документа на регистры при оперативном перепроведении
используется запись пустых движений
        Движения.ПартииТоваров.Записывать = Истина;
   Если Режим = РежимПроведенияДокумента.Оперативный Тогда      
      Движения.ПартииТоваров.Записать();
   КонецЕсли;

Для записи движений по регистру флаг "Записывать" для движения ставится в истину. а Движения.ИмяРегистра.Записать() его не сбрасывает при пустой записи?

Нужно очищать движения и при неоперативном проведении, или проверять смещение момента времени. Ведь если в документе вручную поменяют дату даже на 1 секунду вперёд, то движения в запрос попадут.
т.е.
Движения.ПартииТоваров.Очистить();
Движения.ПартииТоваров.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: gorynych от Декабрь 10, 2018, 01:58:21 pm
Сейчас есть условие "В одном документе могу быть данные за разные расчетные периоды"?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: d.mas от Декабрь 10, 2018, 03:41:59 pm
Здравствуйте.
Думаю, здесь будет уместно. :)
Сдал экзамен, и после качественно скомпоновал все решения и опубликовал на Инфостарте.
https://expert.chistov.pro/public/956340/
Если кому-то понадобится, можно скачать БеЗплатно базы. (читайте текст, в конце ссылка)
Буду благодарен за "+".
Ещё доработал и опубликовал шпаргалки- на них ушло много времени. Думаю, будут очень полезны при подготовке.
Пишите комментарии, если возникнут вопросы :)


Здравстсвуйте
Как с вами связаться?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Декабрь 11, 2018, 05:25:39 pm
Сейчас есть условие "В одном документе могу быть данные за разные расчетные периоды"?


Нет. Условие убрано из экзамена
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Viktor1991 от Декабрь 19, 2018, 08:43:58 pm
Здравствуйте.
Думаю, здесь будет уместно. :)
Сдал экзамен, и после качественно скомпоновал все решения и опубликовал на Инфостарте.
https://expert.chistov.pro/public/956340/
Если кому-то понадобится, можно скачать БеЗплатно базы. (читайте текст, в конце ссылка)
Буду благодарен за "+".
Ещё доработал и опубликовал шпаргалки- на них ушло много времени. Думаю, будут очень полезны при подготовке.
Пишите комментарии, если возникнут вопросы :)

Дружище! Спасибо огромное тебе за проделанную работу!!! :D :D :D

P.S. В Ссылке на архивы с выгрузками вместо второго билета попал первый.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: antonio_1c от Декабрь 20, 2018, 08:43:56 am
P.S. В Ссылке на архивы с выгрузками вместо второго билета попал первый.

Да, случайно выгрузил не в тот файл при прошлой правке.
Сейчас по ссылке исправил..
Чуть позже будут правки по 5 билету в части расчётной задачи и шпоры на 4-6 билеты.
До конца года хочу все шпоры доделать + по УФ и БП.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: d.mas от Декабрь 20, 2018, 01:37:10 pm
P.S. В Ссылке на архивы с выгрузками вместо второго билета попал первый.

Да, случайно выгрузил не в тот файл при прошлой правке.
Сейчас по ссылке исправил..
Чуть позже будут правки по 5 билету в части расчётной задачи и шпоры на 4-6 билеты.
До конца года хочу все шпоры доделать + по УФ и БП.

Очень ждем! Сообщите как будет готово?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zitri от Декабрь 24, 2018, 02:06:28 am
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Isakov_Artem от Декабрь 24, 2018, 10:25:28 am
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам
Если остатки выходят в 0, то допускается.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Декабрь 24, 2018, 04:08:39 pm
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам


Зависит от условий задачи. Если нужно остатки контролировать по партиям, а себестоимость - только по номенклатуре - тогда намного проще два регистра сделать.
Регистр Продажи - это классика. По нему проще отчеты сделать (намного меньше возможности накосячить в СКД с одним регистром), можно всё, что есть в отчете - запихнуть в измерения и ресурсы. Если на экзамене будет вопрос - зачем еще регистр, то ответ такой: по оборотному регистру обороты для отчета получаются намного быстрей.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Isakov_Artem от Декабрь 24, 2018, 04:35:47 pm
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам


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

Если остатки в 0 не выходят, то будет ошибка неправильное проектирование регистров. За остальное баллы не снимают, если не противоречит условиям задачи. Смотрите видео уроки Белоусова он об этом рассказывает.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zitri от Декабрь 24, 2018, 05:08:18 pm
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам


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

Спасибо,ну вот я данную задачу имею ввиду, в ней отчет лишь остатки вывести нужно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: ComradeKite от Декабрь 24, 2018, 05:44:44 pm
Друзья, я решил задачу ОУ одним регистром накопления : измерения номенклатура партия , ресурсы : количество, стоимость.  Такое допускается ? Я решил что регистр себестоимость не нужен так как данный отчёт не требуется, по продажам

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


Спасибо,ну вот я данную задачу имею ввиду, в ней отчет лишь остатки вывести нужно
Не взлетит. Два регистра, один с остатками, другой с себестоимостью. 500 тыщ решений в ветке, как надо делать))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Zitri от Декабрь 24, 2018, 08:11:35 pm

Спасибо,ну вот я данную задачу имею ввиду, в ней отчет лишь остатки вывести нужно
Не взлетит. Два регистра, один с остатками, другой с себестоимостью. 500 тыщ решений в ветке, как надо делать))

Ок,а можешь обяснить плиз почему не взлетит?) вот моя выгрузка во вложении
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Trevis от Декабрь 25, 2018, 09:54:26 am

Спасибо,ну вот я данную задачу имею ввиду, в ней отчет лишь остатки вывести нужно
Не взлетит. Два регистра, один с остатками, другой с себестоимостью. 500 тыщ решений в ветке, как надо делать))

Ок,а можешь обяснить плиз почему не взлетит?) вот моя выгрузка во вложении
Посмотрел решение. Реализовал в твоей выгрузке пример из самого задания, когда товар поступает сначала на первый склад, потом на второй и списывается со второго. При FIFO должна списываться себестоимость по первой партии (которая поступила на первый склад), а у тебя она списывается по себестоимости второй партии. Получается у тебя или остатки в ноль выходят, но себестоимость неправильная, либо себестоимость будет правильная, но остатки не будут выходить в 0. При использовании регистра бухгалтерии в решении задач ОУ получаем "Построение учетной схемы не на регистрах накопления" = 3 балла, т.е. сразу не сдал
Название: Re: Билет 1. Спец по платформе V8
Отправлено: antonio_1c от Декабрь 25, 2018, 04:40:06 pm

Очень ждем! Сообщите как будет готово?

Сообщаю :)
Обращаю внимание, что там есть ссылочка в тексте на билеты :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: NICzzzZ от Январь 01, 2019, 07:09:03 pm
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 10, 2019, 02:05:45 am
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.

Добрый день!

Мне понравились решения, в принципе всё неплохо.
Что бросилось в глаза:
1) Документ Операция - модуль объекта пустой. Заполнение периода из даты точно стоит сделать, да и бывало что на экзамене снижали бал из-за  того, что нет обработки активности записей при установки пометки удаления. Я бы и то и то всё-таки реализовал.

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

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

4) Не понял почему стаж вы везде превратили в стаж по месяцам, в таблице в задании в примере это года, да и вообще логично стаж измерять годами.

5) Для чего запоминать количество отработанных дней в реквизите Факт регистра расчета?

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

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

6) В конструкции
Новый Граница(МоментВремени(), ВидГраницы.Включая)); второй параметр можно не указывать, не тратить время, он итак по умолчанию ВидГраницы.Включая
Название: Re: Билет 1. Спец по платформе V8
Отправлено: NICzzzZ от Январь 10, 2019, 02:43:48 pm
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.

Добрый день!

Мне понравились решения, в принципе всё неплохо.
Что бросилось в глаза:
1) Документ Операция - модуль объекта пустой. Заполнение периода из даты точно стоит сделать, да и бывало что на экзамене снижали бал из-за  того, что нет обработки активности записей при установки пометки удаления. Я бы и то и то всё-таки реализовал.

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

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

4) Не понял почему стаж вы везде превратили в стаж по месяцам, в таблице в задании в примере это года, да и вообще логично стаж измерять годами.

5) Для чего запоминать количество отработанных дней в реквизите Факт регистра расчета?

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

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

6) В конструкции
Новый Граница(МоментВремени(), ВидГраницы.Включая)); второй параметр можно не указывать, не тратить время, он итак по умолчанию ВидГраницы.Включая

Доброго! Спасибо за обратную связь! Пункты 1, 2, 4, 5, 6, 7 - сделаны по заветам Павла Белоусова. Видимо такое решение должно "прокатить" на экзамене. Хотя я согласен с вашими замечаниями на 100%. Кроме пункта 7 - движения записываются в процедуре модуля формы документа "Начисление зарплаты" при записи объекта (аналогично ручной операции).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 10, 2019, 03:24:55 pm
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.

1) Документ Операция - модуль объекта пустой. Заполнение периода из даты точно стоит сделать, да и бывало что на экзамене снижали бал из-за  того, что нет обработки активности записей при установки пометки удаления. Я бы и то и то всё-таки реализовал.

Доброго! Спасибо за обратную связь! Пункты 1, 2, 4, 5, 6, 7 - сделаны по заветам Павла Белоусова. Видимо такое решение должно "прокатить" на экзамене. Хотя я согласен с вашими замечаниями на 100%. Кроме пункта 7 - движения записываются в процедуре модуля формы документа "Начисление зарплаты" при записи объекта (аналогично ручной операции).
Учитывая, что экзамен принимает не только Гончаров, всё-таки документ Операция советую доводить до ума, дабы не возникло вопросов у других проверяющих.
А вообще в целом, судя по крайней мере по первому билету, Вам пора на сдачу)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: NICzzzZ от Январь 10, 2019, 04:33:50 pm
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.

1) Документ Операция - модуль объекта пустой. Заполнение периода из даты точно стоит сделать, да и бывало что на экзамене снижали бал из-за  того, что нет обработки активности записей при установки пометки удаления. Я бы и то и то всё-таки реализовал.

Доброго! Спасибо за обратную связь! Пункты 1, 2, 4, 5, 6, 7 - сделаны по заветам Павла Белоусова. Видимо такое решение должно "прокатить" на экзамене. Хотя я согласен с вашими замечаниями на 100%. Кроме пункта 7 - движения записываются в процедуре модуля формы документа "Начисление зарплаты" при записи объекта (аналогично ручной операции).
Учитывая, что экзамен принимает не только Гончаров, всё-таки документ Операция советую доводить до ума, дабы не возникло вопросов у других проверяющих.
А вообще в целом, судя по крайней мере по первому билету, Вам пора на сдачу)

Спасибо за совет). Сдача не за горами - в следующий вторник.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 11, 2019, 09:26:22 am
Доброго времени суток! Мое решение билета. Буду рад любой обратной связи.

1) Документ Операция - модуль объекта пустой. Заполнение периода из даты точно стоит сделать, да и бывало что на экзамене снижали бал из-за  того, что нет обработки активности записей при установки пометки удаления. Я бы и то и то всё-таки реализовал.

Доброго! Спасибо за обратную связь! Пункты 1, 2, 4, 5, 6, 7 - сделаны по заветам Павла Белоусова. Видимо такое решение должно "прокатить" на экзамене. Хотя я согласен с вашими замечаниями на 100%. Кроме пункта 7 - движения записываются в процедуре модуля формы документа "Начисление зарплаты" при записи объекта (аналогично ручной операции).
Учитывая, что экзамен принимает не только Гончаров, всё-таки документ Операция советую доводить до ума, дабы не возникло вопросов у других проверяющих.
А вообще в целом, судя по крайней мере по первому билету, Вам пора на сдачу)
Прошу проверьте! Только ОУ
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 11, 2019, 10:31:21 am
Прошу проверьте! Только ОУ

1) Забудьте про эту конструкцию:
Период = ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено, МоментВремени());
Остатки всегда на МоментВремени() документа, если нужно включая момент времени, то используйте объект Граница. Одно из требований экзамена - получение остатков на момент времени документа, не нужно проверять оперативный, неоперативный режим. Просто в данном случае:
Период = МоментВремени();

2) Движения.ОстаткиНоменклатуры.Очистить();
Не нужно очищать набор записей, он всегда будет пуст при работе с управляемыми формами.

3) В каркасной конфигурации уже существует объект перечисление ТипНоменклатуры, я бы его всё-таки подвязывал бы с к справочнику Номенклатура и в коде делал проверку на значение Услуги через этот реквизит. Через булевский реквизит Услуга тоже, конечно, всё работает, но раз экзаменаторы хотят проверить наше умение работать с непустой конфигурацией, то мы и должны это продемонстрировать. Но и Ваше решение думаю не будет ошибочным на экзамене.

4) Почему у регистра Себестоимость не стоит флаг "Разрешить разделение итогов"?

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

А так в целом неплохо всё.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 11, 2019, 03:08:53 pm
Прошу проверьте! Только ОУ

1) Забудьте про эту конструкцию:
Период = ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено, МоментВремени());
Остатки всегда на МоментВремени() документа, если нужно включая момент времени, то используйте объект Граница. Одно из требований экзамена - получение остатков на момент времени документа, не нужно проверять оперативный, неоперативный режим. Просто в данном случае:
Период = МоментВремени();

2) Движения.ОстаткиНоменклатуры.Очистить();
Не нужно очищать набор записей, он всегда будет пуст при работе с управляемыми формами.

3) В каркасной конфигурации уже существует объект перечисление ТипНоменклатуры, я бы его всё-таки подвязывал бы с к справочнику Номенклатура и в коде делал проверку на значение Услуги через этот реквизит. Через булевский реквизит Услуга тоже, конечно, всё работает, но раз экзаменаторы хотят проверить наше умение работать с непустой конфигурацией, то мы и должны это продемонстрировать. Но и Ваше решение думаю не будет ошибочным на экзамене.

4) Почему у регистра Себестоимость не стоит флаг "Разрешить разделение итогов"?

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

А так в целом неплохо всё.
1-3 и 5 - спасибо, поняла.
4 - вы правы, нужно разрешить
спасибо за проверку!!!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: elensav от Январь 12, 2019, 02:15:26 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 12, 2019, 09:03:21 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: elensav от Январь 13, 2019, 09:41:56 am
Спасибо большое!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: elensav от Январь 13, 2019, 08:52:24 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
[/quote]
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 13, 2019, 09:15:51 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: elensav от Январь 14, 2019, 04:28:40 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?

Спасибо, помогло. Но странно.Ведь могут быть другие роли, требующие и подразделение?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 14, 2019, 10:09:38 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?

Спасибо, помогло. Но странно.Ведь могут быть другие роли, требующие и подразделение?
Указано, что задача для всех сотрудников конкретного подразделения - создаете записи в регистре с только заполненным подразделением и пустой должностью, задача для сотрудников любого подразделения конкретной должности - создаете записи с только заполненной должностью и пустым подразделением. Указано и то и то - заполняете оба поля в регистре.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 16, 2019, 11:11:13 am
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?

Спасибо, помогло. Но странно.Ведь могут быть другие роли, требующие и подразделение?
Указано, что задача для всех сотрудников конкретного подразделения - создаете записи в регистре с только заполненным подразделением и пустой должностью, задача для сотрудников любого подразделения конкретной должности - создаете записи с только заполненной должностью и пустым подразделением. Указано и то и то - заполняете оба поля в регистре.
Подскажите, я по поводу полей: количествоОстаток и СтоимостьОстаток. Нужно ли проверять на NULL стоимостьОстаток в запросе? я говорю к тому, что если мы проверили количествоОстаток на налл, то зачем проверять стоимость? т.к. если кол-во есть, значит есть и стоимость, и  смысл проверять стоимость я думаю нет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GoldenGirl от Январь 17, 2019, 04:46:35 am
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?

Спасибо, помогло. Но странно.Ведь могут быть другие роли, требующие и подразделение?
Указано, что задача для всех сотрудников конкретного подразделения - создаете записи в регистре с только заполненным подразделением и пустой должностью, задача для сотрудников любого подразделения конкретной должности - создаете записи с только заполненной должностью и пустым подразделением. Указано и то и то - заполняете оба поля в регистре.
Подскажите, я по поводу полей: количествоОстаток и СтоимостьОстаток. Нужно ли проверять на NULL стоимостьОстаток в запросе? я говорю к тому, что если мы проверили количествоОстаток на налл, то зачем проверять стоимость? т.к. если кол-во есть, значит есть и стоимость, и  смысл проверять стоимость я думаю нет.

Суровая реальность жизни такова, что если есть количество, стоимость бывает далеко не всегда... и наоборот.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 17, 2019, 02:17:10 pm
Проверьте, пожалуйста, бизнес процесс. Платформа для подготовки к экзамену накладывает ограничения на количество подключений. Не могу до конца процесс отладить. Все ли правильно?
Из того что бросилось в глаза:
1) Как увидеть полный список задач? Вы создали форму задач текущего пользователя, установили её основной. Отобразить просто форму списка нельзя. Это -0.5 балла.
2) Зачем разделять заполнение реквизита КартаБП в событиях ПриСозданииНаСервере и ПриЧтенииНаСервере для новых, неновых бизнес-процессов. Почему просто не прописать установку реквизита КартаБП в процедуре ПриСозданииНаСервере без всяких проверок на пустую ссылку? Неплохо добавить еще установку реквизита КартаБП в событии ПослеЗаписиНаСервере, тогда при нажатии на Кнопку Старт в форме бизнес процесса Вы увидите сразу текущее состояние.
1)Спасибо, исправила.
2) Без проверки на пустую ссылку не отображается движение по бизнес-процессу, поэтому оставила.
3) Не могу найти ошибку в настройке: сверка расчетов не отображается в списке задач бухгалтеров Мишиной и Кротова.
3) А если очистить у них подразделение в регистре адресации?

Спасибо, помогло. Но странно.Ведь могут быть другие роли, требующие и подразделение?
Указано, что задача для всех сотрудников конкретного подразделения - создаете записи в регистре с только заполненным подразделением и пустой должностью, задача для сотрудников любого подразделения конкретной должности - создаете записи с только заполненной должностью и пустым подразделением. Указано и то и то - заполняете оба поля в регистре.
Подскажите, я по поводу полей: количествоОстаток и СтоимостьОстаток. Нужно ли проверять на NULL стоимостьОстаток в запросе? я говорю к тому, что если мы проверили количествоОстаток на налл, то зачем проверять стоимость? т.к. если кол-во есть, значит есть и стоимость, и  смысл проверять стоимость я думаю нет.

Суровая реальность жизни такова, что если есть количество, стоимость бывает далеко не всегда... и наоборот.
Спасибо, поняла :D
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 17, 2019, 10:11:42 pm
Подскажите, я по поводу полей: количествоОстаток и СтоимостьОстаток. Нужно ли проверять на NULL стоимостьОстаток в запросе? я говорю к тому, что если мы проверили количествоОстаток на налл, то зачем проверять стоимость? т.к. если кол-во есть, значит есть и стоимость, и  смысл проверять стоимость я думаю нет.
Суровая реальность жизни такова, что если есть количество, стоимость бывает далеко не всегда... и наоборот.
Если я правильно понял мысль Bebi, то да она права. Действительно, если мы в запросе получаем количественный остаток как ЕстьNull (КоличествоОстаток, 0), а затем в коде осуществляем контроль, чтобы количество в документе было больше полученного ранее количественного остатка. Если данные по остаткам раньше не подтянулись, то условие достаточности товара не выполнится, система дальше уже не пойдет и до других полей из  регистра остатков просто не дойдет, соответственно и преобразовывать их через оператор ЕстьNull не имеет смысла.

Но я обычно все ресурсы из присоеденяемых регистров привожу через оператор ЕстьNull, а прочие поля (например, измерения Партия, СрокГодности) уже не преобразовываю.
Ресурсы часто используются в коде в различных проверках, арифметических операциях и если их не преобразовывать, то так как Null очень привередливый тип, то легко можно нарваться на ошибку, если система будет выполнять какие-то манипуляции с Null.

Измерения же обычно просто используются в присвоениях.
Например, Движение.Партия = Выборка.Партия;
Здесь даже если будет Null в Партии, то к ошибке это не приведет.

Поэтому я на экзамене реализовал для всех присоединяемых ресурсов естьNull, для прочих полей - нет.

Ранее было упоминание, что одному из сдающих сделали предупреждение об излишнем использовании Null, но тогда сдающий ко ВСЕМ присоединяемым полям применил функцию ЕстьNull.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 18, 2019, 09:24:41 am
Подскажите, я по поводу полей: количествоОстаток и СтоимостьОстаток. Нужно ли проверять на NULL стоимостьОстаток в запросе? я говорю к тому, что если мы проверили количествоОстаток на налл, то зачем проверять стоимость? т.к. если кол-во есть, значит есть и стоимость, и  смысл проверять стоимость я думаю нет.
Суровая реальность жизни такова, что если есть количество, стоимость бывает далеко не всегда... и наоборот.
Если я правильно понял мысль Bebi, то да она права. Действительно, если мы в запросе получаем количественный остаток как ЕстьNull (КоличествоОстаток, 0), а затем в коде осуществляем контроль, чтобы количество в документе было больше полученного ранее количественного остатка. Если данные по остаткам раньше не подтянулись, то условие достаточности товара не выполнится, система дальше уже не пойдет и до других полей из  регистра остатков просто не дойдет, соответственно и преобразовывать их через оператор ЕстьNull не имеет смысла.

Но я обычно все ресурсы из присоеденяемых регистров привожу через оператор ЕстьNull, а прочие поля (например, измерения Партия, СрокГодности) уже не преобразовываю.
Ресурсы часто используются в коде в различных проверках, арифметических операциях и если их не преобразовывать, то так как Null очень привередливый тип, то легко можно нарваться на ошибку, если система будет выполнять какие-то манипуляции с Null.

Измерения же обычно просто используются в присвоениях.
Например, Движение.Партия = Выборка.Партия;
Здесь даже если будет Null в Партии, то к ошибке это не приведет.

Поэтому я на экзамене реализовал для всех присоединяемых ресурсов естьNull, для прочих полей - нет.

Ранее было упоминание, что одному из сдающих сделали предупреждение об излишнем использовании Null, но тогда сдающий ко ВСЕМ присоединяемым полям применил функцию ЕстьNull.
Спасибо большое, за такой развернутый ответ!!!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 18, 2019, 10:11:46 am
Хочу разобрать задачу по строкам.
Т.к. иногда мне не понятно, надо ли отображать это в задаче, для чего и к чему это написано.
1.При проведении документа необходимо использовать метод, актуальный на момент проведения. ----Как это отразить в коде?
2.Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.---т.е. сделать так, чтобы всегда находился первый документ, для списания себестоимости, как это реализовать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sims от Январь 21, 2019, 01:30:02 pm
Хочу разобрать задачу по строкам.
Т.к. иногда мне не понятно, надо ли отображать это в задаче, для чего и к чему это написано.
1.При проведении документа необходимо использовать метод, актуальный на момент проведения. ----Как это отразить в коде?
2.Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.---т.е. сделать так, чтобы всегда находился первый документ, для списания себестоимости, как это реализовать?
1. Нужно через срез последних получить актуальный метод списания на дату документа, т.к. возможен ввод документов задним числом. В зависимости от того, какое значение получите (ФИФО или ЛИФО) — модифицировать запрос, а именно просто поменять порядок.
2. Сделать отдельный регистр накопления для списания по себестоимости, у которого в измерениях партия и номенклатура.

Подробности можете узнать, проанализировав выложенные в данной ветке решения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 21, 2019, 09:31:50 pm
Хочу разобрать задачу по строкам.
Т.к. иногда мне не понятно, надо ли отображать это в задаче, для чего и к чему это написано.
1.При проведении документа необходимо использовать метод, актуальный на момент проведения. ----Как это отразить в коде?
2.Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.---т.е. сделать так, чтобы всегда находился первый документ, для списания себестоимости, как это реализовать?
1. Нужно через срез последних получить актуальный метод списания на дату документа, т.к. возможен ввод документов задним числом. В зависимости от того, какое значение получите (ФИФО или ЛИФО) — модифицировать запрос, а именно просто поменять порядок.
2. Сделать отдельный регистр накопления для списания по себестоимости, у которого в измерениях партия и номенклатура.

Подробности можете узнать, проанализировав выложенные в данной ветке решения.
СПАСИБО!!!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 22, 2019, 10:04:06 am
Подскажите! Решаю пока только опер учет. Скачиваю билеты и везде при входе роли. Это какое то задание будет на них и я просто не дошла до них, или это обязательно нужно делать, как например менять режим на "управляемый".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 22, 2019, 10:31:14 am
Как лучше указать методСписания:
МетодСписания = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Период).МетодСписания;
ИЛИ
УчетнаяПолитика = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата).Значение;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sims от Январь 22, 2019, 03:18:24 pm
Подскажите! Решаю пока только опер учет. Скачиваю билеты и везде при входе роли. Это какое то задание будет на них и я просто не дошла до них, или это обязательно нужно делать, как например менять режим на "управляемый".

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

Цитировать
Как лучше указать методСписания:
МетодСписания = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Период).МетодСписания;
ИЛИ
УчетнаяПолитика = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата).Значение;

Да разницы то нет, просто переменные и ресурс по разному называются.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 23, 2019, 12:32:30 pm
Сейчас задам очень интересный вопросик.  Делала ОУ из билета № 1. Сделала задачу, и заметила такую очень интересную штуку. При проведении расходной накладной в оперативном режиме, данные в регистре себестоимость задваиваются, то есть он вообще списывает всё что есть!
 Если в не оперативном, то всё прекрасно.
Проверяла здесь у некоторых людей данную задачу, и вуаля,  при проведении расходной накладной в оперативном режиме, данные в регистре себестоимости точно так же себя ведут, как и в моем решении. Как это понимать?
это же не правильно! Но задачи других людей, которые я скачивала отсюда, подчеркну: задачи людей, которые сдали они такие же как моя,  с такой же ошибкой, то есть на это не смотрят на экзамене?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 23, 2019, 03:38:23 pm
Подскажите. В регистре накопления в измерениях на первом месте сначала склад, а потом номенклатура, или наоборот? Знаю что порядок важен, но что на первое место надо не знаю.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sims от Январь 24, 2019, 08:12:52 am
Сейчас задам очень интересный вопросик.  Делала ОУ из билета № 1. Сделала задачу, и заметила такую очень интересную штуку. При проведении расходной накладной в оперативном режиме, данные в регистре себестоимость задваиваются, то есть он вообще списывает всё что есть!
 Если в не оперативном, то всё прекрасно.
Проверяла здесь у некоторых людей данную задачу, и вуаля,  при проведении расходной накладной в оперативном режиме, данные в регистре себестоимости точно так же себя ведут, как и в моем решении. Как это понимать?
это же не правильно! Но задачи других людей, которые я скачивала отсюда, подчеркну: задачи людей, которые сдали они такие же как моя,  с такой же ошибкой, то есть на это не смотрят на экзамене?
Задваиваться ничего не должно. Это в каких решениях такое есть?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 24, 2019, 10:11:07 am
Сейчас задам очень интересный вопросик.  Делала ОУ из билета № 1. Сделала задачу, и заметила такую очень интересную штуку. При проведении расходной накладной в оперативном режиме, данные в регистре себестоимость задваиваются, то есть он вообще списывает всё что есть!
 Если в не оперативном, то всё прекрасно.
Проверяла здесь у некоторых людей данную задачу, и вуаля,  при проведении расходной накладной в оперативном режиме, данные в регистре себестоимости точно так же себя ведут, как и в моем решении. Как это понимать?
это же не правильно! Но задачи других людей, которые я скачивала отсюда, подчеркну: задачи людей, которые сдали они такие же как моя,  с такой же ошибкой, то есть на это не смотрят на экзамене?
Задваиваться ничего не должно. Это в каких решениях такое есть?
я уже вроде удалила с ПК такие решения, скачивала 3 раза отсюда, в 2х из них такая проблема.
если вспомню у кого здесь скачивала, то отправлю, посмотрите
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 24, 2019, 10:13:03 am
Проверьте моё решение, вроде ошибок нет таких
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sims от Январь 24, 2019, 02:55:52 pm
Проверьте моё решение, вроде ошибок нет таких

Вроде всё ок. Разве что, не учитывается проблема копеек при списании себестоимости. Если количество списываемого товара равно остатку, то надо списывать всю сумму. Да и код лучше форматируйте сочетанием alt+shift+F.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 24, 2019, 03:20:27 pm
Проверьте моё решение, вроде ошибок нет таких

Вроде всё ок. Разве что, не учитывается проблема копеек при списании себестоимости. Если количество списываемого товара равно остатку, то надо списывать всю сумму. Да и код лучше форматируйте сочетанием alt+shift+F.
проблема копеек..
вот так написать лучше:СуммаСписания = СуммаОстаток * (КоличествоСписания / КоличествоОстаток)
правильно понимаю?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Sims от Январь 24, 2019, 03:26:52 pm
Проверьте моё решение, вроде ошибок нет таких

Вроде всё ок. Разве что, не учитывается проблема копеек при списании себестоимости. Если количество списываемого товара равно остатку, то надо списывать всю сумму. Да и код лучше форматируйте сочетанием alt+shift+F.
проблема копеек..
вот так написать лучше:СуммаСписания = СуммаОстаток * (КоличествоСписания / КоличествоОстаток)
правильно понимаю?
Нет.
Вот так: СуммаСписания = ?(КоличествоСписания = КоличествоОстаток, СуммаОстаток, СуммаОстаток/КоличествоОстаток * КоличествоСписания)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 24, 2019, 03:30:01 pm
Проверьте моё решение, вроде ошибок нет таких

Вроде всё ок. Разве что, не учитывается проблема копеек при списании себестоимости. Если количество списываемого товара равно остатку, то надо списывать всю сумму. Да и код лучше форматируйте сочетанием alt+shift+F.
проблема копеек..
вот так написать лучше:СуммаСписания = СуммаОстаток * (КоличествоСписания / КоличествоОстаток)
правильно понимаю?
Нет.
Вот так: СуммаСписания = ?(КоличествоСписания = КоличествоОстаток, СуммаОстаток, СуммаОстаток/КоличествоОстаток * КоличествоСписания)
Спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vuticoginu от Январь 24, 2019, 05:35:53 pm
Добрый день. Посмотрите решение БУ и СПР(Доп).
Срок годности реализован через справочник.
- Интересует мнение по отчёту в БУ;
- Всё ли хорошо в решении СПР;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Январь 28, 2019, 01:09:48 pm
Я, конечно, не профи, но вот это: "ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СрокиГодности КАК СрокиГодности
      |      ПО Себестоимость.Субконто2 = СрокиГодности.Ссылка
      |      ПО тч.Номенклатура = Себестоимость.Субконто1"
В запросе БУ звучит как "Получение расчетных данных не из регистра", а это минус три балла. Ну или в крайнем случае, как неоптимальное решение. Зачем напрямую получать данные справочников?
И я смотрю уже не первое решение, подскажите, условие " Товар с одинаковым сроком годности может поступать разными документами и по разной цене." Разве не нужно реализовать с разделением по партиям? Я понимаю, что это нигде в дальнейшем не требуется (в т.ч. и для расчета себестоимости), но если не хранить партию, то товар, который приходит разными документами с разной ценой, но с одним и тем же сроком годности просто складывается, что немного противоречит условию?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Amaralez от Январь 28, 2019, 05:34:03 pm
Люди! подскажите как бесплатно скачать? а то инфостарт денег просит ((((((((((
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 28, 2019, 07:56:40 pm
Добрый день. Посмотрите решение БУ и СПР(Доп).
Срок годности реализован через справочник.
- Интересует мнение по отчёту в БУ;
С отчетом всё хорошо.
Единственное - вы период приводите к концу дня, чтобы пользователь получал данные на конец указанного дня, но таблица остатков не включает данные за последнюю секунду. Соответственно при формировании отчета на период 31.12 данные за 31.12 23.59.59 в отчете не отобразятся.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Январь 28, 2019, 07:58:08 pm
Люди! подскажите как бесплатно скачать? а то инфостарт денег просит ((((((((((
Что скачать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 28, 2019, 08:11:14 pm
Я, конечно, не профи, но вот это: "ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СрокиГодности КАК СрокиГодности
      |      ПО Себестоимость.Субконто2 = СрокиГодности.Ссылка
      |      ПО тч.Номенклатура = Себестоимость.Субконто1"
В запросе БУ звучит как "Получение расчетных данных не из регистра", а это минус три балла. Ну или в крайнем случае, как неоптимальное решение. Зачем напрямую получать данные справочников?
Расчетные данные получаются именно из регистра. Соединение со справочником нужно лишь для получения даты срока годности для сортировки. Весь же учет - хранение данных товарного учета - разрезы и показатели учета хранятся в регистре.
Единственное непонятно почему в решении не снят ПУС суммовой с субконто СрокГодности.

И я смотрю уже не первое решение, подскажите, условие " Товар с одинаковым сроком годности может поступать разными документами и по разной цене." Разве не нужно реализовать с разделением по партиям? Я понимаю, что это нигде в дальнейшем не требуется (в т.ч. и для расчета себестоимости), но если не хранить партию, то товар, который приходит разными документами с разной ценой, но с одним и тем же сроком годности просто складывается, что немного противоречит условию?
Не надо ничего придумывать, не сказано ни о каком учете в разрезе партий, вообще ничего о партиях, не надо реализовывать никакой партионный учет. Приходят разными документами и приходят, о ведении учета в разрезе партий нет ни слова. Не усложняйте сами себе условия задач.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Владкоронал от Февраль 03, 2019, 11:12:35 am
Люди! подскажите как бесплатно скачать? а то инфостарт денег просит ((((((((((
Что скачать?
Вот это
Специалист по платформе 8.3
Мои решения, описания подготовки, полезные ссылки:
https://expert.chistov.pro/public/537462/
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Февраль 04, 2019, 05:21:32 am
Люди! подскажите как бесплатно скачать? а то инфостарт денег просит ((((((((((
Что скачать?
Вот это
Специалист по платформе 8.3
Мои решения, описания подготовки, полезные ссылки:
https://expert.chistov.pro/public/537462/
Во-первых Инфостарт не денег просит, а Стартмани, у многих они есть за собственные публикации.
Во-вторых, вы вполне можете найти на этом же форуме весьма неплохие и достойные решения.
Те решения, что выложены там, они соответствуют именно последним требованиям экзаменаторов и последним условиям билетов, можно сказать это результат большого анализа всего что здесь описывалось, обсуждалось и долгая кропотливая работа по наиболее правильной и корректной программной реализации задач из первых 6 билетов. Если есть стартмани, то вполне можно скачать и воспользовать этими решениями и файлом описания решений для подготовки, если нет - то можно подготовиться и по здешним решениям и обсуждениям, как это, например, когда-то сделал я и многие многие другие.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Gorod_54 от Февраль 08, 2019, 08:32:24 pm
Решена только задача по ОУ.
Просьба прокомментировать решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 11, 2019, 10:20:47 am
Решена только задача по ОУ.
Просьба прокомментировать решение.
можно же получать учетную политику на дату, а не момент времени
а так всё нормально,на мой взгляд
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 11, 2019, 07:59:02 pm
Не проверяется что МетодСписания может быть пустым.
Я не уверен, что порядок строк:
      Движения.ОстаткиНоменклатуры.Записать();
      Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
играет какую-то роль, но на всякий случай их лучше размещать в логически верном порядке. Потому что если играет - это будет расценено как отсутствие блокировки (-1)
В запросе по остатком склад тоже лучше отбирать из втДок, не нужен дополнительный параметр.
Условие КСписанию = ВыборкаДетальныеЗаписи.КоличествоОстаток не обеспечит решение проблемы копеек нужно >= (-1)
И САМОЕ ВАЖНОЕ - приходная накладная не проверяет, услуга это или товар, соответственно накапливаются услуги в регистре остатков, что есть невыведение регистра в 0 (-3)
А значит, что ты уже не сдал)
Прости, если нагнетаю, самому через 2 недели сдавать, легкий мондраж))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 12, 2019, 09:11:25 am
Не проверяется что МетодСписания может быть пустым.
Я не уверен, что порядок строк:
      Движения.ОстаткиНоменклатуры.Записать();
      Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
играет какую-то роль, но на всякий случай их лучше размещать в логически верном порядке. Потому что если играет - это будет расценено как отсутствие блокировки (-1)
В запросе по остатком склад тоже лучше отбирать из втДок, не нужен дополнительный параметр.
Условие КСписанию = ВыборкаДетальныеЗаписи.КоличествоОстаток не обеспечит решение проблемы копеек нужно >= (-1)
И САМОЕ ВАЖНОЕ - приходная накладная не проверяет, услуга это или товар, соответственно накапливаются услуги в регистре остатков, что есть невыведение регистра в 0 (-3)
А значит, что ты уже не сдал)
Прости, если нагнетаю, самому через 2 недели сдавать, легкий мондраж))
многие сдавали и без проверки метода списания на пустоту. Так что это не обязательно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 12, 2019, 10:31:06 am
Помогите мне, что я делаю не так?
Сначала решала ОУ и актуальных, теперь начала к ним добавлять Бух учет, и уже у второго билета подряд, после того, как всё сделаю, начинаю запускать отладку  и появляется такая ошибка. Что это такое?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Trevis от Февраль 12, 2019, 10:40:03 am
Помогите мне, что я делаю не так?
Сначала решала ОУ и актуальных, теперь начала к ним добавлять Бух учет, и уже у второго билета подряд, после того, как всё сделаю, начинаю запускать отладку  и появляется такая ошибка. Что это такое?
Попробуйте поставить режим совместимости с версией 8.3.3
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 12, 2019, 10:43:07 am
Помогите мне, что я делаю не так?
Сначала решала ОУ и актуальных, теперь начала к ним добавлять Бух учет, и уже у второго билета подряд, после того, как всё сделаю, начинаю запускать отладку  и появляется такая ошибка. Что это такое?
Попробуйте поставить режим совместимости с версией 8.3.3
помогло, спасибо большое!!!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vovan-787878 от Февраль 14, 2019, 11:52:52 am
Проверьте моё решение, вроде ошибок нет таких

 // Контроль остатков
       // если не товара на складе не хватает,
      Если ВыборкаНоменклатура.Количество > ВыборкаНоменклатура.КоличествоОстаток Тогда
         
         // отказываемся проводить документ
         Отказ = Истина;
         
         //направляем сообщение пользователю
         Сообщение = Новый СообщениеПользователю;
         Сообщение.Текст = "Недостаточно товара " + ВыборкаНоменклатура.НоменклатураПред + " есть только " + ВыборкаНоменклатура.КоличествоОстаток;
         Сообщение.Сообщить();   
      КонецЕсли;
      
      // если уже отказались проводить документ, то продолжаем искать недостачи, а движения больше не формируем
      Если Отказ Тогда   
         Продолжить;      
      КонецЕсли;


Зачем тут контроль остатков????  он тут никогда контролироваться не будет так как выше уже был отказ и контроль.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vovan-787878 от Февраль 14, 2019, 11:56:07 am
Проверьте моё решение, вроде ошибок нет таких


Я понимаю что у NicZZZ хорошие решения, но это не означает что они идеальны и без ошибок
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 14, 2019, 12:39:00 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vovan-787878 от Февраль 14, 2019, 01:16:41 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)

Зачем ждать. Ставите точку астанова и нажимаете ПРОВЕСТИ.  сперва не привышайте количество, потом превышайте количество, и поймете что стрелочка ни когда там не будет проходить, даже если прям так сильно захочется. и в конце зачем
  ЕСЛИ ОТКАЗ ТОГДА ВОЗВРАТ???? он ни когда не будет использоваться. Немного надо подумать прежде чем написать, или хотяб проверять чужой код.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 14, 2019, 01:23:22 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)

Зачем ждать. Ставите точку астанова и нажимаете ПРОВЕСТИ.  сперва не привышайте количество, потом превышайте количество, и поймете что стрелочка ни когда там не будет проходить, даже если прям так сильно захочется. и в конце зачем
  ЕСЛИ ОТКАЗ ТОГДА ВОЗВРАТ???? он ни когда не будет использоваться. Немного надо подумать прежде чем написать, или хотяб проверять чужой код.
Ну как бы я делала, опираясь на его решения, т.к. этот человек сдал экзамен
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vovan-787878 от Февраль 14, 2019, 01:31:10 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)

Зачем ждать. Ставите точку астанова и нажимаете ПРОВЕСТИ.  сперва не привышайте количество, потом превышайте количество, и поймете что стрелочка ни когда там не будет проходить, даже если прям так сильно захочется. и в конце зачем
  ЕСЛИ ОТКАЗ ТОГДА ВОЗВРАТ???? он ни когда не будет использоваться. Немного надо подумать прежде чем написать, или хотяб проверять чужой код.
Ну как бы я делала, опираясь на его решения, т.к. этот человек сдал экзамен


Опирайтесь на его решения. Я уже многие пересмотрел и понял что у него правильней решены, и меньше ошибок, я бы сказал мало ошибок. Но они есть, но незначительные. Двойку не поставят на экзамене за это, но бал снимут))) Плюс он неправильно себестоимость расчитывает:  Нужно сперва умножение, потом деление    ВОТ ТАК ?(Выборка.Количесво = Выборка.КоличествоОстаток,ВыборкаСуммаОстаток, Выборка.Количество * Выборка.СуммаОстаток / ВыборкаКоличествоОстаток);
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 14, 2019, 01:33:42 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)

Зачем ждать. Ставите точку астанова и нажимаете ПРОВЕСТИ.  сперва не привышайте количество, потом превышайте количество, и поймете что стрелочка ни когда там не будет проходить, даже если прям так сильно захочется. и в конце зачем
  ЕСЛИ ОТКАЗ ТОГДА ВОЗВРАТ???? он ни когда не будет использоваться. Немного надо подумать прежде чем написать, или хотяб проверять чужой код.
Ну как бы я делала, опираясь на его решения, т.к. этот человек сдал экзамен


Опирайтесь на его решения. Я уже многие пересмотрел и понял что у него правильней решены, и меньше ошибок, я бы сказал мало ошибок. Но они есть, но незначительные. Двойку не поставят на экзамене за это, но бал снимут))) Плюс он неправильно себестоимость расчитывает:  Нужно сперва умножение, потом деление    ВОТ ТАК ?(Выборка.Количесво = Выборка.КоличествоОстаток,ВыборкаСуммаОстаток, Выборка.Количество * Выборка.СуммаОстаток / ВыборкаКоличествоОстаток);
Ну про себестоимость я знаю.
Тогда объясните мне, зачем он делает проверку, если туда никогда не зайдет?
Он же сделал это, значит нужно было. Помогите мне понять, зачем тогда он это сделал?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vovan-787878 от Февраль 14, 2019, 01:46:12 pm
Хочется посмотреть что другие ответят на это. Ждёмс :)

Зачем ждать. Ставите точку астанова и нажимаете ПРОВЕСТИ.  сперва не привышайте количество, потом превышайте количество, и поймете что стрелочка ни когда там не будет проходить, даже если прям так сильно захочется. и в конце зачем
  ЕСЛИ ОТКАЗ ТОГДА ВОЗВРАТ???? он ни когда не будет использоваться. Немного надо подумать прежде чем написать, или хотяб проверять чужой код.
Ну как бы я делала, опираясь на его решения, т.к. этот человек сдал экзамен


Опирайтесь на его решения. Я уже многие пересмотрел и понял что у него правильней решены, и меньше ошибок, я бы сказал мало ошибок. Но они есть, но незначительные. Двойку не поставят на экзамене за это, но бал снимут))) Плюс он неправильно себестоимость расчитывает:  Нужно сперва умножение, потом деление    ВОТ ТАК ?(Выборка.Количесво = Выборка.КоличествоОстаток,ВыборкаСуммаОстаток, Выборка.Количество * Выборка.СуммаОстаток / ВыборкаКоличествоОстаток);
Ну про себестоимость я знаю.
Тогда объясните мне, зачем он делает проверку, если туда никогда не зайдет?
Он же сделал это, значит нужно было. Помогите мне понять, зачем тогда он это сделал?

Я думаю что он машинально сделал, не подумав или забыл что выше уже сделал проверку. Он один билет за день решал, мог просто ошибиться. Но лучше у него самого спросить, зачем он так сделал.  Сам факт, что проверка на остаток проверяется по новой методике, и возврат происходит при превышении, и зачем тогда в старой контролировать???
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 14, 2019, 03:41:36 pm
Правильно делать именно с двумя проверками. Потому что это два разных регистра, связи между регистрами не гарантируются платформой, поэтому это нужно сделать вручную. В подобных случаях лучше мыслить: "А почему бы этого не сделать?". По времени лишние 2 минуты, производительность системы не упадет, везде в выигрыше)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 14, 2019, 04:05:20 pm
Правильно делать именно с двумя проверками. Потому что это два разных регистра, связи между регистрами не гарантируются платформой, поэтому это нужно сделать вручную. В подобных случаях лучше мыслить: "А почему бы этого не сделать?". По времени лишние 2 минуты, производительность системы не упадет, везде в выигрыше)
Вот я тоже так думаю
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 15, 2019, 03:54:00 pm
Правильно делать именно с двумя проверками. Потому что это два разных регистра, связи между регистрами не гарантируются платформой, поэтому это нужно сделать вручную. В подобных случаях лучше мыслить: "А почему бы этого не сделать?". По времени лишние 2 минуты, производительность системы не упадет, везде в выигрыше)
Белоусов проговаривает необходимость проверок для каждого регистра...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 11:52:59 am
Здравствуйте!
немного запуталась что писать в запросе в "порядке".
Вот я пишу:  УчетнаяПолитика = ?(УчетнаяПолитика=Перечисления.УчетнаяПолитика.ЛИФО,"убыв","возр");
и в запросе в  строке писать как? убыв или возр?
|УПОРЯДОЧИТЬ ПО
|СебестоимостьТоваровОстатки.Партия.МоментВремени УБЫВ
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 12:12:55 pm
По какой причине это может быть при проведении расходной накладной в Регистр себестоимость пишется 2 записи? а в регистр остатки Нормально, как и должно, одна
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 19, 2019, 12:47:16 pm
По какой причине это может быть при проведении расходной накладной в Регистр себестоимость пишется 2 записи? а в регистр остатки Нормально, как и должно, одна
Проверьте, как расставляете флаги на запись в регистр и когда ит какие мтоды записи используете. Или решение в студию.
По вопросу Убыв/Возр - варианты есть разные, Белоусов вроде не смотрит косо на
Запрос.Текст = СтрЗаменить(Запрос.Текст,"УБЫВ", "ВОЗР");
по условию ФИФО после полного формирования текста запроса конструктором, чтобы иметь возможность конструктором же текст запроса редактировать
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 19, 2019, 01:03:33 pm
По какой причине это может быть при проведении расходной накладной в Регистр себестоимость пишется 2 записи? а в регистр остатки Нормально, как и должно, одна

Так вроде именно в этом задумка партионного списания, в регистре себестоимости по одной записи для каждой из партий, а в регистре остатков одно на все количество.
Но если у вас получается что нужно списать 50, а списывается 2 раза по 50, первая по фифо вторая по лифо, тогда действительно какой-то косяк))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 01:16:39 pm
Вот приведу пример.
В приходной накладной 1-- на основном складе 10 ручек
В приходной накладной 2-- на транзитном складе 5 ручек.
Провожу расходную накладную: со склада Основной 10 ручек, а в регистре отображается, что списывается 5 ручек со второй накладной и 5 ручек с первой.
Метод списания-лифо
вроде правильно, но по условию же должно списываться только с основного склада. а в во второй то у меня транзитный. как понять мне это?
но в регистре захожу и в первую и во вторую накладную, там везде основной склад. Это так и должно? я вообще запуталась
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 19, 2019, 01:22:29 pm
Вот приведу пример.
В приходной накладной 1-- на основном складе 10 ручек
В приходной накладной 2-- на транзитном складе 5 ручек.
Провожу расходную накладную: со склада Основной 10 ручек, а в регистре отображается, что списывается 5 ручек со второй накладной и 5 ручек с первой.
Метод списания-лифо
вроде правильно, но по условию же должно списываться только с основного склада. а в во второй то у меня транзитный. как понять мне это?
но в регистре захожу и в первую и во вторую накладную, там везде основной склад. Это так и должно? я вообще запуталась
Сложно понять без решения,  похоже, что не установлен отбор виртуальной таблицы по складку при записи движений себестоимости
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 01:28:08 pm
Вот приведу пример.
В приходной накладной 1-- на основном складе 10 ручек
В приходной накладной 2-- на транзитном складе 5 ручек.
Провожу расходную накладную: со склада Основной 10 ручек, а в регистре отображается, что списывается 5 ручек со второй накладной и 5 ручек с первой.
Метод списания-лифо
вроде правильно, но по условию же должно списываться только с основного склада. а в во второй то у меня транзитный. как понять мне это?
но в регистре захожу и в первую и во вторую накладную, там везде основной склад. Это так и должно? я вообще запуталась
Сложно понять без решения,  похоже, что не установлен отбор виртуальной таблицы по складку при записи движений себестоимости
посмотрите тогда,буду благодарна, если скажете в чем дело
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 19, 2019, 01:39:32 pm
Вот приведу пример.
В приходной накладной 1-- на основном складе 10 ручек
В приходной накладной 2-- на транзитном складе 5 ручек.
Провожу расходную накладную: со склада Основной 10 ручек, а в регистре отображается, что списывается 5 ручек со второй накладной и 5 ручек с первой.
Метод списания-лифо
вроде правильно, но по условию же должно списываться только с основного склада. а в во второй то у меня транзитный. как понять мне это?
но в регистре захожу и в первую и во вторую накладную, там везде основной склад. Это так и должно? я вообще запуталась
Сложно понять без решения,  похоже, что не установлен отбор виртуальной таблицы по складку при записи движений себестоимости
посмотрите тогда,буду благодарна, если скажете в чем дело

Я понял о чем вы) В решении, если придираться, можно найти косяки, но смысл правильный)
По условию: Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.
То есть когда вы делаете списания по себестоимости вы игнорируете склад и это правильно. Складской учет только в разрезе остатков, а партионный в разрезе номенклатуры. И движения правильные по обоим регистрам)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 01:43:49 pm
Вот приведу пример.
В приходной накладной 1-- на основном складе 10 ручек
В приходной накладной 2-- на транзитном складе 5 ручек.
Провожу расходную накладную: со склада Основной 10 ручек, а в регистре отображается, что списывается 5 ручек со второй накладной и 5 ручек с первой.
Метод списания-лифо
вроде правильно, но по условию же должно списываться только с основного склада. а в во второй то у меня транзитный. как понять мне это?
но в регистре захожу и в первую и во вторую накладную, там везде основной склад. Это так и должно? я вообще запуталась
Сложно понять без решения,  похоже, что не установлен отбор виртуальной таблицы по складку при записи движений себестоимости
посмотрите тогда,буду благодарна, если скажете в чем дело

Я понял о чем вы) В решении, если придираться, можно найти косяки, но смысл правильный)
По условию: Для расчета себестоимости при списании товара необходимо учитывать только момент поступления товара в компанию, вне зависимости от того, на какой склад он пришел.
То есть когда вы делаете списания по себестоимости вы игнорируете склад и это правильно. Складской учет только в разрезе остатков, а партионный в разрезе номенклатуры. И движения правильные по обоим регистрам)
Спасибо большое ::)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 02:22:20 pm
Еще вопрос. С отчетами раньше не работала. Почему у меня при этой галочке в периоде нет никаких данных в отчете? Причем не важно что я выберу:произвольная дата, начало этого дня и тд..
А как только уберу эту галочку и всё нормально показывает.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 19, 2019, 02:29:35 pm
Еще вопрос. С отчетами раньше не работала. Почему у меня при этой галочке в периоде нет никаких данных в отчете? Причем не важно что я выберу:произвольная дата, начало этого дня и тд..
А как только уберу эту галочку и всё нормально показывает.
ответ напрямую зависит от того, как дата обрабатывается в запросе. Картинка лишь говорит, что переменная используется. Решение приложите вместе с картинкой
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 19, 2019, 02:33:31 pm
оказывается всё нормально, это я опять не поняла саму платформу. Прошу прощения :-[
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Февраль 19, 2019, 09:22:06 pm
Добрый день. При решении СПР правильно ли будет создать регистр сведений со шкалой стажа (2 измерения) ОТ и ДО и значением процента премии? При решении подобной задачи у Белоусова- было создано:
1) Справочник шкала стажа(содержал реквизиты "ОТ" "ДО" )
2)Регистр сведений трудовой стаж. Измерение "Шкала стажа" -тип ссылка на справочник шкала стажа, Ресурс "Процент премии"
3) Регистр сведений "Сведения о стаже сотрудников" измерение "Сотрудник" Реквизиты: Стаж(число) и "Приема на работу".
Смысл: к базе по окладу подтягивается сведения о сотруднике учитывается стаж накопленный с даты приема на работу + стаж (в реквизите стаж). По результату вычисления подтягивался регистр шкала стажа и брался процент премии.

Я немножко охренел о такого решения.. либо оно более правильное и при реализации на одном регистре могут снизить баллы,(либо не засчитать задачу вовсе)?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 20, 2019, 08:17:15 am
Добрый день. При решении СПР правильно ли будет создать регистр сведений со шкалой стажа (2 измерения) ОТ и ДО и значением процента премии?
из опыта удаленной сдачи именно первого билета (оценка 4) - в этой задаче использовал только один РС с измерениями "ОТ", "ДО" для хранения размера премии. Сведения о стаже держал в справочнике "Сотрудник" как "Дата приема" и "стаж на дату приема" (указав в записке, что в последнем реквизите хранится именно требуемый по задаче стаж работы на данном предприятии до даты приема)... Защищать вы будете свое решение, но не забывайте о факторе времени, когда вам нужно набить решение задач билета, набить данные для отладки и демонстрации работы отчетов... Меня лично интересовала именно сдача, и при подготовке я заранее, сознательно  планировал моменты, на которых можно сэкономить время без значительного ущерба для итоговой "сдачи".
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Февраль 20, 2019, 08:38:31 am
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 20, 2019, 10:03:39 am
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Февраль 20, 2019, 11:53:37 am
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 20, 2019, 12:15:08 pm
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 20, 2019, 01:03:27 pm
Что я не так делаю?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Февраль 20, 2019, 01:12:28 pm
Что я не так делаю?

Вероятнее всего пытаетесь прибавить к функции РАЗНОСТЬДАТ просто дату.
Нужно использовать ДОБАВИТЬКДАТЕ вместо знака +
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 20, 2019, 01:39:43 pm
сделала "Добавить к дате"-синтаксическая ошибка
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 20, 2019, 01:43:59 pm
Что я не так делаю?
ДатаПриема справочника сотрудники действительно Дата? из картинки следует что там что то не так. Почему вы не любите выкладывать базы, предпочитая картинки?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Февраль 20, 2019, 01:46:19 pm
сделала "Добавить к дате"-синтаксическая ошибка
:) Конечно, так как РазностьДат вернет число. У ДобавитьКДате иные входные типы.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Февраль 20, 2019, 01:55:39 pm
Что я не так делаю?
ДатаПриема справочника сотрудники действительно Дата? из картинки следует что там что то не так. Почему вы не любите выкладывать базы, предпочитая картинки?
Да думаю постоянно, что мои ошибки от моей невнимательности и их можно увидеть или понять по картинке))
Я кстати разобралась! Я просто забыла передать параметр "дата" в процедуре.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: OLAP от Февраль 20, 2019, 03:35:48 pm
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

Проверял работоспособность данного варианта записи РН (Движение.Количество... и т.д.) - работает верно. Возможно есть какие-то нюансы. Уточните, почему не стоит или нельзя использовать данную конструкцию без приведения ее к переменной? ИМХО, смотрится кривовато, но на работоспособность-то не влияет?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Февраль 21, 2019, 10:11:48 am
Добрый день. Оцените плиз СПР.
Судите строго), буду рад критике.:) Спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 21, 2019, 11:26:08 am
Добрый день. Оцени плиз СПР.
Судите строго), буду рад критике.:) Спасибо

-Зачем хранить размер и факт в РР ОН? Размер получается из РС во время расчета, а факт, даже не используется нигде.
-Забавно, что у Сотрудника в РР ОН стоит галка запрета незаполненных значений, а в РР ДН не стоит, возможно стоит придерживаться какого-то единообразия.
-Чем обусловлена такая странная система хранения стажа? Разве не проще сразу в РС иметь измерения ОТ и ДО, а не выносить их в отдельный справочник?
-Условие "В форме документа "Начисление зарплаты" необходимо предусмотреть наличие кнопки "Рассчитать", при нажатии на которую, будет произведен предварительный расчет зарплаты. Результат расчета должен быть отражен в табличной части этой же формы не выполнено
- (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(СведенияОСтажеСотрудников.ДатаПринятияНаРаботу, &Текущаядата, ДЕНЬ) КАК ЧИСЛО(3, 0))) / 365 - 0.4999 + СведенияОСтажеСотрудников.СтажДоПринятия кажется неоправданным
-Разделение на 2 функции: РасчитатьОсновныеНачисления и РасчитатьДополнительныеНачисления даст больше гибкости и кажется более красивым вариантом
А так на первый взгляд, вроде все в порядке
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Adr1naline от Февраль 21, 2019, 11:35:54 am
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

Проверял работоспособность данного варианта записи РН (Движение.Количество... и т.д.) - работает верно. Возможно есть какие-то нюансы. Уточните, почему не стоит или нельзя использовать данную конструкцию без приведения ее к переменной? ИМХО, смотрится кривовато, но на работоспособность-то не влияет?
Ага, я потом потестил, работает вроде нормально, так что я ошибся насчет работоспособности. Но смотрится действительно так себе)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Февраль 21, 2019, 11:38:51 am
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

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

Вроде делал по рекомендациям.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Февраль 21, 2019, 12:07:43 pm
Большое спасибо за оценку)
Добрый день. Оцени плиз СПР.
Судите строго), буду рад критике.:) Спасибо

-Зачем хранить размер и факт в РР ОН? Размер получается из РС во время расчета, а факт, даже не используется нигде.
-Забавно, что у Сотрудника в РР ОН стоит галка запрета незаполненных значений, а в РР ДН не стоит, возможно стоит придерживаться какого-то единообразия.
-Чем обусловлена такая странная система хранения стажа? Разве не проще сразу в РС иметь измерения ОТ и ДО, а не выносить их в отдельный справочник?
-Условие "В форме документа "Начисление зарплаты" необходимо предусмотреть наличие кнопки "Рассчитать", при нажатии на которую, будет произведен предварительный расчет зарплаты. Результат расчета должен быть отражен в табличной части этой же формы не выполнено
- (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(СведенияОСтажеСотрудников.ДатаПринятияНаРаботу, &Текущаядата, ДЕНЬ) КАК ЧИСЛО(3, 0))) / 365 - 0.4999 + СведенияОСтажеСотрудников.СтажДоПринятия кажется неоправданным
-Разделение на 2 функции: РасчитатьОсновныеНачисления и РасчитатьДополнительныеНачисления даст больше гибкости и кажется более красивым вариантом
А так на первый взгляд, вроде все в порядке
По размеру, факту, запрет незаполненых, тупо невнимательность) сделал за 30 минут как время появилось на работе.
По поводу хранения стажа: мне здесь писали что при реализации на одном регистре минус балл (ответ 889) на мой вопрос по способам хранения стажа. Такой механизм реализован на основании курса Белоусова. Или это не будет влиять на оценку? обидно из-за такой херни получить минус)
У меня последний архив актуальных билетов. там нету условия про кнопку рассчитать... билеты качал из темы актуальные билеты, пост от 17 января. Они неактуальные?
почему условие вам кажется не оправданным? Еще учитываем стаж накопленный за время работы в фирме. Или вы считаете это избыточно?



Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Февраль 26, 2019, 03:52:31 pm
Добрый день. Просьба глянуть спр в основном механизм расчета в форме документа. Важно мнение, можно ли так решать? Или это будет "ГРУБОЕ" нарушение..?
P.s. Да если бы назвал реквизиты одинаково не было бы цикла в форме)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GK от Март 10, 2019, 07:53:34 am
Народ, подскажите по блокировке из оперативного учета, та что регистр себестоимости блокирует перед запросом выбирающим остатки по партиям.
сделал так по простому:
//
Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
   ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура","Номенклатура");
   Блокировка.Заблокировать();       
//
А теперь думаю, не будет ли избыточна такая блокировка? она всю номенклатуру блокирует из ТЧ по сути, может как то по партиям блокировать которые в запрос попали? Как каноично делается чтобы не было ошибки на экзамене?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Март 10, 2019, 04:20:30 pm
Здравствуйте.
Возникли два вопроса по задаче оперативного учета:
1. При проведении реализации мы контролируем остатки регистра "ОстаткиНоменклатуры" по новой методике . Списание Себестоимости "ПартииТоваров" по старой.  Смотрю примеры решений и не вижу проверки достаточности количества для ПартииТоваров.  Т.е.  если для регистра  "ОстаткиНоменклатуры" количества хватило то для второго регистра только списываем по партиям без проверки количества.
Пример Хильды:


Запрос.Текст =
"ВЫБРАТЬ
| ТабДок.Номенклатура КАК Номенклатура,
| ТабДок.Количество КАК Количество,
| СебестоимостьОстатки.Партия,
| ЕСТЬNULL(СебестоимостьОстатки.КоличествоОстаток, 0) КАК КоличестоОст,
| ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток, 0) КАК СуммаОст
|ИЗ
| ТабДок КАК ТабДок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Себестоимость.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| ТабДок.Номенклатура
| ИЗ
| ТабДок КАК ТабДок)) КАК СебестоимостьОстатки
| ПО ТабДок.Номенклатура = СебестоимостьОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| СебестоимостьОстатки.Партия.МоментВремени" + ПорядокСортировки +"
|ИТОГИ
| МАКСИМУМ(Количество)
|ПО
| Номенклатура";

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
ОсталосьСписать = ВыборкаНоменклатура.Количество;
ВыборкаПартия = ВыборкаНоменклатура.Выбрать();

Пока ВыборкаПартия.Следующий() И ОсталосьСписать>0 Цикл
Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличестоОст);
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Если Списать = ВыборкаПартия.КоличестоОст Тогда
Движение.Сумма = ВыборкаПартия.СуммаОст;
Иначе
Движение.Сумма = Списать * ВыборкаПартия.СуммаОст / ВыборкаПартия.КоличестоОст;
КонецЕсли;
ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;
КонецЦикла;

2. В приходной накладной достаточно кода сформированного конструктором ? Т.е. не обязательно проверять на услугу?
Т.е. Проверка на услугу в ПРИХОДНОЙ накладной относиться к разряду красивостей? И если этого не будет то баллы не снимут?

Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 11, 2019, 09:13:59 am
Здравствуйте.
Возникли два вопроса по задаче оперативного учета:
1. При проведении реализации мы контролируем остатки регистра "ОстаткиНоменклатуры" по новой методике . Списание Себестоимости "ПартииТоваров" по старой.  Смотрю примеры решений и не вижу проверки достаточности количества для ПартииТоваров.  Т.е.  если для регистра  "ОстаткиНоменклатуры" количества хватило то для второго регистра только списываем по партиям без проверки количества.
Пример Хильды:


Запрос.Текст =
"ВЫБРАТЬ
| ТабДок.Номенклатура КАК Номенклатура,
| ТабДок.Количество КАК Количество,
| СебестоимостьОстатки.Партия,
| ЕСТЬNULL(СебестоимостьОстатки.КоличествоОстаток, 0) КАК КоличестоОст,
| ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток, 0) КАК СуммаОст
|ИЗ
| ТабДок КАК ТабДок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Себестоимость.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ
| ТабДок.Номенклатура
| ИЗ
| ТабДок КАК ТабДок)) КАК СебестоимостьОстатки
| ПО ТабДок.Номенклатура = СебестоимостьОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| СебестоимостьОстатки.Партия.МоментВремени" + ПорядокСортировки +"
|ИТОГИ
| МАКСИМУМ(Количество)
|ПО
| Номенклатура";

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
ОсталосьСписать = ВыборкаНоменклатура.Количество;
ВыборкаПартия = ВыборкаНоменклатура.Выбрать();

Пока ВыборкаПартия.Следующий() И ОсталосьСписать>0 Цикл
Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличестоОст);
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Если Списать = ВыборкаПартия.КоличестоОст Тогда
Движение.Сумма = ВыборкаПартия.СуммаОст;
Иначе
Движение.Сумма = Списать * ВыборкаПартия.СуммаОст / ВыборкаПартия.КоличестоОст;
КонецЕсли;
ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;
КонецЦикла;

2. В приходной накладной достаточно кода сформированного конструктором ? Т.е. не обязательно проверять на услугу?
Т.е. Проверка на услугу в ПРИХОДНОЙ накладной относиться к разряду красивостей? И если этого не будет то баллы не снимут?

Спасибо.
2. Ну вообще проверка нужна, но многие кто сдавал, обходились и без нее. Но мне кажется нужно, мы же не можем приходовать услугу. По поводу баллов не знаю. Может и снимут 0,5. Но это не точно. Лучше сделать проверку и всё, там 1 строчка кода, потратите 10 сек
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GK от Март 12, 2019, 06:42:08 pm
Услуга в приходной отсекается параметрами выбора номенклатуры, остатки по партиям на минус нужно контролировать вместе с остатками по складу, считается ошибкой на экзамене хотя практического смысла нет

Здравствуйте.
Возникли два вопроса по задаче оперативного учета:

Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Март 14, 2019, 06:31:57 pm
Пилил ктонить документ смены учетной политике?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Март 15, 2019, 02:54:44 pm
Ребят для расчета в форме документа... хочется использовать обработку проведения только с очисткой движений. Как думаете будут придирки? Меня смущает только    
Об = РеквизитФормыВЗначение("Объект");
   Движения = Об.Движения;
   об.ОбработкаПроведения(Ложь, Неопределено);
Параметры которые передаю в обарбокту проведения - думаю за счет них могут придраться. А так очень удобно. буквально 6 строчек кода и все работает.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Tinton228 от Март 20, 2019, 08:16:15 am
Добрый день. На сколько критично если на прибылиУбытки создал субконто номенклатуру, только обороты. Просто для детализации сумм проданного товара? По идее там не должно быть аналитики просто общая сумма. Но с оборотным субконто грубая ошибка ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Март 21, 2019, 01:42:56 am
Добрый день. На сколько критично если на прибылиУбытки создал субконто номенклатуру, только обороты. Просто для детализации сумм проданного товара? По идее там не должно быть аналитики просто общая сумма. Но с оборотным субконто грубая ошибка ?

Хм, а зачем она там в этом билете? Вроде бы совсем не к чему.
По идее попадает под статью "Создана лишняя аналитика". Но наказание не такое строгое - 0.5 балла.

Название: Re: Билет 1. Спец по платформе V8
Отправлено: GK от Март 23, 2019, 05:11:04 pm
Срок годности в БУ задаче обязательно делать справочником? смотрю большинство решений с ним. А что если тупо в приходной реквизитТЧ дата и а Видсубконто тип дата? не докопаются на экзамене?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Март 23, 2019, 07:23:11 pm
Срок годности в БУ задаче обязательно делать справочником? смотрю большинство решений с ним. А что если тупо в приходной реквизитТЧ дата и а Видсубконто тип дата? не докопаются на экзамене?
В жизни не рекомендуется делать примитивный тип в качестве типа субконто регистра бухгалтерии, а вот на экзамене допускается.
Придраться не должны.

Если уверены, что реализуете правильно через справочник, то можно сделать и так на экзамене, может будет дополнительный плюс к карме на экзамене, который оценят проверяющие. По идее, не так много лишнего времени уйдет на такую реализацию.
Но если есть хоть малейшие сомнения - реализуйте без справочника, делая субконто типа Дата.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: nonameforme от Март 25, 2019, 11:59:19 am
Может кто-то объяснить этот код? Особенно последнюю строку... Это начало кода обработки проведения бухгалтерской задачи


//Бухгалтерский учет
Движения.Управленческий.Записывать=Истина;
Движения.Управленческий.БлокироватьДляИзменения=Истина;
Движения.Управленческий.Записать();
Название: Re: Билет 1. Спец по платформе V8
Отправлено: OLAP от Март 25, 2019, 01:50:18 pm
Может кто-то объяснить этот код? Особенно последнюю строку....

Запись в регистр Управленческий пустого набора.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 25, 2019, 04:38:26 pm
Может кто-то объяснить этот код? Особенно последнюю строку... Это начало кода обработки проведения бухгалтерской задачи


//Бухгалтерский учет
Движения.Управленческий.Записывать=Истина;
Движения.Управленческий.БлокироватьДляИзменения=Истина;
Движения.Управленческий.Записать();

Движения.Управленческий.Записывать=Истина; - как бы нужно записать движения
Движения.Управленческий.БлокироватьДляИзменения=Истина; - как бы нужно заблокировать данные
Движения.Управленческий.Записать(); - принудительная запись движений в регистр бухгалтерии, сбрасывает флаг: записывать = Истина.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Март 25, 2019, 08:26:20 pm
Может кто-то объяснить этот код? Особенно последнюю строку... Это начало кода обработки проведения бухгалтерской задачи


//Бухгалтерский учет
Движения.Управленческий.Записывать=Истина;
Движения.Управленческий.БлокироватьДляИзменения=Истина;
Движения.Управленческий.Записать();


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

Из-за установленного свойства БлокироватьДляИзменения в Истина (Движения.Управленческий.БлокироватьДляИзменения=Истина) запись движений в регистр происходит с блокированием "старых" (предыдущих) данных документа.

Ну а первая строка просто устанавливает маркер записи, чтобы при выходе из процедуры проведения сформированные записи были записаны в регистр.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Март 25, 2019, 08:28:55 pm
Движения.Управленческий.Записать(); - принудительная запись движений в регистр бухгалтерии, сбрасывает флаг: записывать = Истина.
А вот здесь неверно - флаг не сбрасывается.
Флаг сбрасывается при записи коллекции движений - Движения.Записать()
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 25, 2019, 09:35:05 pm
Движения.Управленческий.Записать(); - принудительная запись движений в регистр бухгалтерии, сбрасывает флаг: записывать = Истина.
А вот здесь неверно - флаг не сбрасывается.
Флаг сбрасывается при записи коллекции движений - Движения.Записать()
Поняла, спасибо)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: nonameforme от Март 26, 2019, 03:54:46 pm
Может кто-то объяснить этот код? Особенно последнюю строку... Это начало кода обработки проведения бухгалтерской задачи


//Бухгалтерский учет
Движения.Управленческий.Записывать=Истина;
Движения.Управленческий.БлокироватьДляИзменения=Истина;
Движения.Управленческий.Записать();


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

Из-за установленного свойства БлокироватьДляИзменения в Истина (Движения.Управленческий.БлокироватьДляИзменения=Истина) запись движений в регистр происходит с блокированием "старых" (предыдущих) данных документа.

Ну а первая строка просто устанавливает маркер записи, чтобы при выходе из процедуры проведения сформированные записи были записаны в регистр.
благодарю :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: nonameforme от Март 26, 2019, 04:37:41 pm
В этом билете есть цена, сумму надо автоматом рассчитывать? На это будут смотреть?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 26, 2019, 04:59:04 pm
В этом билете есть цена, сумму надо автоматом рассчитывать? На это будут смотреть?
Если время на экзамене останется, то можно и посчитать. Но это при условии, что в билете этого не нужно
Название: Re: Билет 1. Спец по платформе V8
Отправлено: nonameforme от Март 26, 2019, 05:10:23 pm
В этом билете есть цена, сумму надо автоматом рассчитывать? На это будут смотреть?
Если время на экзамене останется, то можно и посчитать. Но это при условии, что в билете этого не нужно

т.е. может быть написано чтобы рассчитывалось автоматически?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Gaiderzhy.D.S от Март 26, 2019, 09:28:30 pm
Всем привет. Начал подготовку к экзамену.
Буду признателен за замечания и критику по решениям билетов.
Сразу скажу, оформление отчетов не приводил в точное соответствие билетам.
Заранее спасибо!
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 27, 2019, 09:21:11 am
В этом билете есть цена, сумму надо автоматом рассчитывать? На это будут смотреть?
Если время на экзамене останется, то можно и посчитать. Но это при условии, что в билете этого не нужно

т.е. может быть написано чтобы рассчитывалось автоматически?
Нет, так написано не будет. Я про то, что возможно в билетах где то потребуется эта сумма, эта колонка , которую вы хотите чтобы автоматически считалась. Но это вряд ли. Потому что если и требуется где то сумма, то это сумма по документу, а не сумма одной строки в табличной части.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Март 27, 2019, 09:32:00 am
Всем привет. Начал подготовку к экзамену.
Буду признателен за замечания и критику по решениям билетов.
Сразу скажу, оформление отчетов не приводил в точное соответствие билетам.
Заранее спасибо!
В расходной накладной:
1. Движения.ОстаткиНоменклатуры.Очистить();
Не нужно очищать набор записей
2. МоментВремени = Новый Граница(МоментВремени(), ВидГраницы.Включая);
второй параметр можно не указывать, он и так по умолчанию ВидГраницы.Включая
3. то же самое в документе: Начисление зарплаты: Движения.ОсновныеНачисления.Очистить(); --не нужно

Название: Re: Билет 1. Спец по платформе V8
Отправлено: nonameforme от Март 27, 2019, 10:27:54 am
Михаил Проходцев, походу у вас ошибка в 1 билете (которые на инфостарте). Расходная накладная, проведение по бух учету, переменная "Списываем"
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Март 27, 2019, 11:29:04 am
Михаил Проходцев, походу у вас ошибка в 1 билете (которые на инфостарте). Расходная накладная, проведение по бух учету, переменная "Списываем"
В одном из обновлений решений переименовывал некоторые переменные, давал им более "говорящие" имена, собственно тогда Списываем и стало КоличествоСписываем, но в одном месте осталось старое название, причем из-за того, что переменная с таким именем инциализируется ранее, ошибки при исполнении кода не будет.

Спасибо, что оповестили!
Билет поправил, обновил.
Если вдруг еще заметите какие-то погрешности или просто будут вопросы по решениям пишите на prohodcev-misha      ЕСЛИ ВЫ ПОДЕЛИЛИСЬ СВОЕЙ ПОЧТОЙ, УДАЛИТЕ СООБЩЕНИЕ НЕМЕДЛЕННО ИЛИ БУДЕТЕ ЗАБАНЕНЫ. ЧИТАЙТЕ ПРАВИЛА!!!     yandex.ru
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Lois от Апрель 02, 2019, 10:52:58 pm
Добрый вечер. Смотрела разные решения по 1 билету и все равно в сомнениях. Будет ли ошибкой, если в билете выбрать неправильную методику проведения? Кто-то делает все по старой методике, кто-то списывает остатки по новой, а рассчитывает себестоимость по старой.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Апрель 03, 2019, 09:18:57 am
Добрый вечер. Смотрела разные решения по 1 билету и все равно в сомнениях. Будет ли ошибкой, если в билете выбрать неправильную методику проведения? Кто-то делает все по старой методике, кто-то списывает остатки по новой, а рассчитывает себестоимость по старой.
Внимательнее разберитесь с методиками контроля и условиями их применимости.  Есть себестоимость - только "Старая". Нет себестоимости - новая. Принимающие рекомендуют контролировать все регистры, по подходящей методике. но это время ;)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Lois от Апрель 03, 2019, 09:30:41 am
Добрый вечер. Смотрела разные решения по 1 билету и все равно в сомнениях. Будет ли ошибкой, если в билете выбрать неправильную методику проведения? Кто-то делает все по старой методике, кто-то списывает остатки по новой, а рассчитывает себестоимость по старой.
Внимательнее разберитесь с методиками контроля и условиями их применимости.  Есть себестоимость - только "Старая". Нет себестоимости - новая. Принимающие рекомендуют контролировать все регистры, по подходящей методике. но это время ;)
Ну вот в конкретной задаче ОУ в этом билете. Есть два регистра - Остатки товаров и Партии товаров. Для расчета себестоимости по партиям используем старую методику - тут нет вопросов. А вот для контроля остатков кто-то делает по новой методике - сначала записывает движения, а потом проверяет на <0, а кто-то по старой - сразу одним запросом и проверяет остатки, и рассчитывает себестоимость. Проще делать всё по старой, но у меня возникли сомнения, не будет ли это ошибкой на экзамене.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Апрель 03, 2019, 09:56:27 am
Ну вот в конкретной задаче ОУ в этом билете. Есть два регистра - Остатки товаров и Партии товаров. Для расчета себестоимости по партиям используем старую методику - тут нет вопросов. А вот для контроля остатков кто-то делает по новой методике - сначала записывает движения, а потом проверяет на <0, а кто-то по старой - сразу одним запросом и проверяет остатки, и рассчитывает себестоимость. Проще делать всё по старой, но у меня возникли сомнения, не будет ли это ошибкой на экзамене.
Найдите на сайте 1С документ Аттестация по системе "1С:Предприятие 8"
Экзамен "1С:Специалист" по платформе "1С:Предприятие 8" (вложил ATT83PL на момент своей подготовки, вряд ли он изменился, но проверить стоит). Ознакомьтесь. Может оказаться полезным. Конкретно в этой задаче наиболее правильным будет контроль обоих регистров, если решаете на двух, по соответствующей методике.
Определите для себя цель похода на экзамен, свою методику решения каждой из задач и её запоминайте и тренируйте на время. Не билеты, не задачи, а методику решения задачи (в тексте могут быть нюансы). мне этот подход позволил сдать удаленно с первого раза, с оценкой 4. У вас не будет много времени на выбор там, поэтому все выборы для себя принимайте заранее (тут я буду делать так то, тут так, здесь допускаю то-то и и указываю то-то в комментариях...) хотя все это сугубо индивидуально, Белоусов в одной из лекций упоминает случай написания кода задачи за 15 минут...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Lois от Апрель 03, 2019, 10:05:59 am
Ну вот в конкретной задаче ОУ в этом билете. Есть два регистра - Остатки товаров и Партии товаров. Для расчета себестоимости по партиям используем старую методику - тут нет вопросов. А вот для контроля остатков кто-то делает по новой методике - сначала записывает движения, а потом проверяет на <0, а кто-то по старой - сразу одним запросом и проверяет остатки, и рассчитывает себестоимость. Проще делать всё по старой, но у меня возникли сомнения, не будет ли это ошибкой на экзамене.
Найдите на сайте 1С документ Аттестация по системе "1С:Предприятие 8"
Экзамен "1С:Специалист" по платформе "1С:Предприятие 8" (вложил ATT83PL на момент своей подготовки, вряд ли он изменился, но проверить стоит). Ознакомьтесь. Может оказаться полезным. Конкретно в этой задаче наиболее правильным будет контроль обоих регистров, если решаете на двух, по соответствующей методике.
Определите для себя цель похода на экзамен, свою методику решения каждой из задач и её запоминайте и тренируйте на время. Не билеты, не задачи, а методику решения задачи (в тексте могут быть нюансы). мне этот подход позволил сдать удаленно с первого раза, с оценкой 4. У вас не будет много времени на выбор там, поэтому все выборы для себя принимайте заранее (тут я буду делать так то, тут так, здесь допускаю то-то и и указываю то-то в комментариях...) хотя все это сугубо индивидуально, Белоусов в одной из лекций упоминает случай написания кода задачи за 15 минут...
У вас какой-то общий ответ "на все случаи жизни" =) Я понимаю, как работают эти методики, я спрашиваю про конкретный билет...
Название: Re: Билет 1. Спец по платформе V8
Отправлено: OLAP от Апрель 03, 2019, 10:24:07 am
... Белоусов в одной из лекций упоминает случай написания кода задачи за 15 минут...
За 13... :o
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexVK52 от Апрель 04, 2019, 09:22:47 am

Ну вот в конкретной задаче ОУ в этом билете. Есть два регистра - Остатки товаров и Партии товаров. Для расчета себестоимости по партиям используем старую методику - тут нет вопросов. А вот для контроля остатков кто-то делает по новой методике - сначала записывает движения, а потом проверяет на <0, а кто-то по старой - сразу одним запросом и проверяет остатки, и рассчитывает себестоимость. Проще делать всё по старой, но у меня возникли сомнения, не будет ли это ошибкой на экзамене.

У вас какой-то общий ответ "на все случаи жизни" =) Я понимаю, как работают эти методики, я спрашиваю про конкретный билет...
Конкретный ответ на конкретный вопрос "будет ли это ошибкой на экзамене" вы получите после предъявления конкретного решения конкретному экзаменатору. Я высказываю то, что вынес из прочтения топиков и просмотра курсов Чистова и Белоусова. Повторяю конкретно: " моя точка зрения - использование старой методики там, где возможно использование новой снизит бал"
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 04, 2019, 03:31:25 pm
Добрый день.
Готовлюсь к экзамену, решил первый билет, просьба кто может дать по решению объективную критику.
Буду очень благодарен и признателен, большое спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 04, 2019, 04:44:16 pm
Добрый день.
Готовлюсь к экзамену, решил первый билет, просьба кто может дать по решению объективную критику.
Буду очень благодарен и признателен, большое спасибо
Такое ощущение, как будто вы взяли чей то старый билет и выложили его сюда на проверку) Потому что формулы старые, как раньше делали, и не соблюдены некоторые условия. Вы точно брали АКТУАЛЬНЫЕ билеты?
1. В документе "Начисление ЗП" - нет кнопки "Рассчитать"
2. Почему в общем модуле сделали всё в разных процедурах? Можно же в одной и Оклад и Премию рассчитывать.
3. В расходной накладной как по мне лучше не использовать конструкцию: МоментВремени = ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено,Новый Граница(МоментВремени(), ВидГраницы.Исключая));.. здесь уже это обсуждалось 2 дня назад.
4. Формулы для рассчета себестоимости не верны.
5. Удержания же вообще не нужны в этой задаче
В общем это первое что бросилось, в глаза. Детально не смотрела, тяжеловато читать ваш код))
   
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 04, 2019, 05:53:06 pm
Спасибо, да вы правы, я брал за основу старую конф, но и сам там много чего сделал,я просто не знаю стандартов сдачи, по этому и делал по аналогии, у вас нет какого нибудь решения первого билета?
2) А кнопка рассчитать это обязательное требование?
3) Понял большое спасибо.
4)Исправлю)
5) уберу.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 05, 2019, 08:58:44 am
Спасибо, да вы правы, я брал за основу старую конф, но и сам там много чего сделал,я просто не знаю стандартов сдачи, по этому и делал по аналогии, у вас нет какого нибудь решения первого билета?
2) А кнопка рассчитать это обязательное требование?
3) Понял большое спасибо.
4)Исправлю)
5) уберу.
Ну кнопку "Рассчитать" нужно обязательно делать, это же в билете написано, значит обязательно)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 05, 2019, 09:38:13 am
А у вас нет тестового какого нибудь примера?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 05, 2019, 09:40:13 am
А у вас нет тестового какого нибудь примера?
Вот в этом билете есть реализация этого условия
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 05, 2019, 09:49:19 am
Подскажите почему в отчете не выводятся данные?
Например есть документ НАЧИСЛЕНИЕ ЗП, в нем начислен оклад и премия за 01.12.2020
и отчет формирую за декабрь и данные не выводятся. Почему это может быть?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 05, 2019, 11:45:13 am
Подскажите почему в отчете не выводятся данные?
Например есть документ НАЧИСЛЕНИЕ ЗП, в нем начислен оклад и премия за 01.12.2020
и отчет формирую за декабрь и данные не выводятся. Почему это может быть?
Блин помогите, сделала другой отчет по другому билету, там тоже нет данных.
Формирую отчет и всё, ничего нет.
В регистре записи есть из Которого я буру данные в отчет. В отчете добавила группировку по детальным записям, и никак все равно..Вот знаю же что наверно это какая то ошибка по глупости, но я не могу понять
Название: Re: Билет 1. Спец по платформе V8
Отправлено: greta от Апрель 05, 2019, 01:21:00 pm
Вопрос про Расчеты.
Смотрю пример решения. Не могу понять, из чего в условии задачи следует, что зарплата рассчитывается при нажатии кнопки на форме?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 05, 2019, 01:25:49 pm
Вопрос про Расчеты.
Смотрю пример решения. Не могу понять, из чего в условии задачи следует, что зарплата рассчитывается при нажатии кнопки на форме?
Как понять из чего следует?)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: greta от Апрель 05, 2019, 02:42:17 pm
Вопрос про Расчеты.
Смотрю пример решения. Не могу понять, из чего в условии задачи следует, что зарплата рассчитывается при нажатии кнопки на форме?
Как понять из чего следует?)

В пояснении к решению:
Цитировать
Для реализации дополнительного условия по расчету начислений прямо из формы документа «Начисление зарплаты» в табличные части документа «Начисление зарплаты» добавлены дополнительные  реквизиты, в том числе реквизит «Результат» для хранения результатов расчета по начислениям.
При выполнении команды «Рассчитать» формы документа вызывается процедура, выполняющая сначала весь расчет по начислениям, а затем помещение результат  расчета в табличную часть документа. При проведении просто данные табличной части помещаются в регистр.

В условиях задачи не вижу никаких дополнительных условий
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Апрель 05, 2019, 03:01:38 pm
В пояснении к решению:
Цитировать
Для реализации дополнительного условия по расчету начислений прямо из формы документа «Начисление зарплаты» в табличные части документа «Начисление зарплаты» добавлены дополнительные  реквизиты, в том числе реквизит «Результат» для хранения результатов расчета по начислениям.
При выполнении команды «Рассчитать» формы документа вызывается процедура, выполняющая сначала весь расчет по начислениям, а затем помещение результат  расчета в табличную часть документа. При проведении просто данные табличной части помещаются в регистр.
В условиях задачи не вижу никаких дополнительных условий
Оу, какие знакомые поясненения к решениям)
Там же где вы их скачивали, была и ссылка на сообщение с приложенными актуальными билетами, в которых есть это условие.
Продублирую:
https://forum.chistov.pro/index.php?topic=2670.msg58627#msg58627
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Апрель 13, 2019, 10:59:00 am
Здравствуйте.

В отчете первой задачи "Остатки на дату" нужно дополнительно что то делать с периодом?
 "КонецПериода(Период, "День")" или
ДобавитьКДате(период,"Секунда",1).
Смотрю в решениях никто ничего не добавляет.

Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: evil18 от Апрель 13, 2019, 11:37:59 am
Здравствуйте.

В отчете первой задачи "Остатки на дату" нужно дополнительно что то делать с периодом?
 "КонецПериода(Период, "День")" или
ДобавитьКДате(период,"Секунда",1).
Смотрю в решениях никто ничего не добавляет.

Спасибо.
Белоусов говорил не нужно заморачиваться, а отчёт внешний вид один в один должен быть
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Апрель 13, 2019, 12:54:58 pm
Еще вопрос по бухгалтерской задаче . Смотрю у некоторых по разному вычисляються ОбщееКоличество и общая сумма . т.е. без учета сроков годности.
например у Niczzz эти значения берутся просто из итогов Регистра по срокам годности и затем при переборе сроков годности происходит вычитание  списанных сумм и количества из
этих общих сумм(!) :

Запрос.Текст =
"ВЫБРАТЬ
| ДокТЧ.Номенклатура КАК Номенклатура,
| ДокТЧ.Номенклатура.Представление,
| УправленческийОстатки.Субконто2 КАК СрокГодности,
| ДокТЧ.Количество КАК Количество,
| ЕСТЬNULL(УправленческийОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЕСТЬNULL(УправленческийОстатки.СуммаОстаток, 0) КАК СуммаОстаток
|ИЗ
| ДокТЧ КАК ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
| &МоментВремени,
| Счет = &Товары,
| &Субконто,
| Субконто1 В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ КАК ДокТЧ)) КАК УправленческийОстатки
| ПО ДокТЧ.Номенклатура = УправленческийОстатки.Субконто1
|
|УПОРЯДОЧИТЬ ПО
| СрокГодности
|ИТОГИ
| МИНИМУМ(Количество),
| СУММА(КоличествоОстаток),
| СУММА(СуммаОстаток)
|ПО
| Номенклатура";


Субконто = Новый Массив;
Субконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
Субконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);

Запрос.УстановитьПараметр("Субконто", Субконто);
Запрос.УстановитьПараметр("Товары", ПланыСчетов.Управленческий.Товары);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаНоменклатура.Следующий() Цикл
// Вставить обработку выборки ВыборкаНоменклатура
    Если ВыборкаНоменклатура.Количество > ВыборкаНоменклатура.КоличествоОстаток Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Недостаточно товара " + ВыборкаНоменклатура.НоменклатураПредставление + " есть только " + ВыборкаНоменклатура.КоличествоОстаток;
Сообщение.Сообщить();
КонецЕсли;

Если Отказ Тогда
Продолжить;
КонецЕсли;

ОсталосьСписать = ВыборкаНоменклатура.Количество;
КоличествоОбщийОстаток = ВыборкаНоменклатура.КоличествоОстаток;
СуммаОбщийОстаток = ВыборкаНоменклатура.СуммаОстаток;

ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать();

Пока ОсталосьСписать > 0 И ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.СрокГодности = Null Тогда
Продолжить;
КонецЕсли;

// регистр Управленческий
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.КоличествоКт = Мин(ОсталосьСписать, ВыборкаДетальныеЗаписи.КоличествоОстаток);
Движение.Сумма = Движение.КоличествоКт / КоличествоОбщийОстаток * СуммаОбщийОстаток;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДетальныеЗаписи.СрокГодности;

ОсталосьСписать = ОсталосьСписать - Движение.КоличествоКт;
КоличествоОбщийОстаток = КоличествоОбщийОстаток - Движение.КоличествоКт;
СуммаОбщийОстаток = СуммаОбщийОстаток - Движение.Сумма;
КонецЦикла;
КонецЦикла;


А у других делаеться еще одно левое соединение к регистру С субконто без Срока годности:


Субконто1 = Новый Массив;
Субконто1.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);

Субконто2 = Новый Массив;
Субконто2.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
Субконто2.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
| СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество
|ПОМЕСТИТЬ ТабДок
|ИЗ
| Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
| И РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.ВидНоменклатуры <> &Услуга
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТабДок.Номенклатура КАК Номенклатура,
| ТабДок.Количество КАК Количество,
| ЕСТЬNULL(БезСрока.КоличествоОстаток, 0) КАК КоличествоОбщее,
| ЕСТЬNULL(БезСрока.СуммаОстаток, 0) КАК СуммаОбщее,
| СоСроком.Субконто2 КАК СрокГодности,
| ЕСТЬNULL(СоСроком.КоличествоОстаток, 0) КАК КоличествоПоСрокам,
| ТабДок.Номенклатура.Представление
|ИЗ
| ТабДок КАК ТабДок
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
| &МоментВремени,
| Счет = &Товары,
| &Субконто1,
| Субконто1 В
| (ВЫБРАТЬ
| ТабДок.Номенклатура
| ИЗ
| ТабДок КАК ТабДок)) КАК БезСрока
| ПО ТабДок.Номенклатура = БезСрока.Субконто1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
| &МоментВремени,
| Счет = &Товары,
| &Субконто2,
| Субконто1 В
| (ВЫБРАТЬ
| ТабДок.Номенклатура
| ИЗ
| ТабДок КАК ТабДок)) КАК СоСроком
| ПО ТабДок.Номенклатура = СоСроком.Субконто1
|
|УПОРЯДОЧИТЬ ПО
| СрокГодности
|ИТОГИ
| МАКСИМУМ(Количество),
| СУММА(КоличествоПоСрокам)
|ПО
| Номенклатура";

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Субконто1", Субконто1);
Запрос.УстановитьПараметр("Субконто2", Субконто2);
Запрос.УстановитьПараметр("Товары", ПланыСчетов.Управленческий.Товары);
Запрос.УстановитьПараметр("Услуга", Перечисления.ВидыНоменклатуры.Услуга);

РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаНоменклатура.Следующий() Цикл
Нехватка = ВыборкаНоменклатура.Количество - ВыборкаНоменклатура.КоличествоПоСрокам;
Если Нехватка >0 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "В документе № " + Номер + " не хватает " + ВыборкаНоменклатура.НоменклатураПредставление + " в количестве " + Нехватка ;
Сообщение.Сообщить();
Отказ = Истина;
КонецЕсли;

Если НЕ Отказ Тогда
ОсталосьСписать = ВыборкаНоменклатура.Количество;
Выборка = ВыборкаНоменклатура.Выбрать();

Пока Выборка.Следующий() И ОсталосьСписать>0 Цикл

Списать = МИН(ОсталосьСписать, Выборка.КоличествоПоСрокам);
Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.КоличествоКт = Списать;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = Выборка.СрокГодности;
Если Списать = Выборка.КоличествоОбщее Тогда
Движение.Сумма = Выборка.СуммаОбщее;
Иначе
Движение.Сумма = Списать * Выборка.СуммаОбщее / Выборка.КоличествоОбщее;
КонецЕсли;
ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;
КонецЕсли;
КонецЦикла;


Это просто два разных ПРАВИЛЬНЫХ варианта решения одной задачи или все таки есть принципиальное различие? Мне лично Первый вариант кажется немного  сомнительным.

Интересно ваше мнение.
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 14, 2019, 12:02:08 pm
Огромное Спасибо, сейчас посмотрю:) А вы сдавали?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Апрель 14, 2019, 12:10:20 pm
Здравствуйте.
Просьба оценить мое решение билета.
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Апрель 14, 2019, 10:07:12 pm
Еще вопрос по бухгалтерской задаче . Смотрю у некоторых по разному вычисляються ОбщееКоличество и общая сумма . т.е. без учета сроков годности.
например у Niczzz эти значения берутся просто из итогов Регистра по срокам годности и затем при переборе сроков годности происходит вычитание  списанных сумм и количества из
этих общих сумм(!) :

А у других делаеться еще одно левое соединение к регистру С субконто без Срока годности:
Это просто два разных ПРАВИЛЬНЫХ варианта решения одной задачи или все таки есть принципиальное различие? Мне лично Первый вариант кажется немного  сомнительным.

Интересно ваше мнение.
Спасибо.
Оба варианта дают корректный ответ. Меня тоже при проверке немного смутил вариант решения, предложенный Niczzz. Можете ранее найти, я писал ему ранее в этой ветке после проверки его решения, но он объяснил, что сделано это по заветам Белоусова. Похоже, что это один из вариантов решения из курсов этого преподавателя.
Мне всё же кажется второй вариант более понятный и я бы его применял, пусть здесь обращение и к двум таблицам остатков, а не одной, но зато не нужно мудрить с пропуском строк, в которых срок годности равен Null, собственно вообще на выходе из запроса иметь строки с Null - не комильфо, особенно учитывая что эти поля с Null еще и обрабатываются в коде. Да и вообще второе решение, на мой взгляд, более прозрачное и понятное.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: AlexAlex777 от Апрель 17, 2019, 10:35:47 pm
Возник вопрос по расчету стажа.

Кто то считает от Даты приема до начала базового периода.

|ЕСТЬNULL(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.НачальныйСтаж + РАЗНОСТЬДАТ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, ДополнительныеНачисленияБазаОсновныеНачисления.БазовыйПериодНачало, ДЕНЬ) / 365, 0) КАК ТрудовойСтаж,

Кто то от Даты приема до конца рассчетного периода(!).

"РАЗНОСТЬДАТ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, &КонецПериода, МЕСЯЦ) + ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.СтажНаМоментПриема КАК ОбщийСтаж"

Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(Дата));

Мне представляется первый вариант правильным. Второй вариант сделан у Niczzz
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 18, 2019, 01:43:26 pm
Рассчитываю Стаж так:
РАЗНОСТЬДАТ(НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДополнительныеНачисления.Сотрудник.НачСтаж
Но появляется ошибка: Неверные параметры РАЗНОСТЬДАТ
Почему?
Дата приема-дата. НачСтаж- число
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 18, 2019, 01:46:57 pm
Рассчитываю Стаж так:
РАЗНОСТЬДАТ(НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДополнительныеНачисления.Сотрудник.НачСтаж
Но появляется ошибка: Неверные параметры РАЗНОСТЬДАТ
Почему?
Дата приема-дата. НачСтаж- число
ПериодРегистрации тип какой?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 18, 2019, 01:57:14 pm
Рассчитываю Стаж так:
РАЗНОСТЬДАТ(НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДополнительныеНачисления.Сотрудник.НачСтаж
Но появляется ошибка: Неверные параметры РАЗНОСТЬДАТ
Почему?
Дата приема-дата. НачСтаж- число
ПериодРегистрации тип какой?
НачалоМесяца(Дата)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 18, 2019, 02:00:39 pm
Рассчитываю Стаж так:
РАЗНОСТЬДАТ(НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДополнительныеНачисления.Сотрудник.НачСтаж
Но появляется ошибка: Неверные параметры РАЗНОСТЬДАТ
Почему?
Дата приема-дата. НачСтаж- число
ПериодРегистрации тип какой?
НачалоМесяца(Дата)
С виду всё правильно. dt дай
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 18, 2019, 02:14:06 pm
Рассчитываю Стаж так:
РАЗНОСТЬДАТ(НачислениеЗарплатыДополнительныеНачисления.Сотрудник.ДатаПриема, &ПериодРегистрации, ГОД) + НачислениеЗарплатыДополнительныеНачисления.Сотрудник.НачСтаж
Но появляется ошибка: Неверные параметры РАЗНОСТЬДАТ
Почему?
Дата приема-дата. НачСтаж- число
ПериодРегистрации тип какой?
НачалоМесяца(Дата)
С виду всё правильно. dt дай
Пришлось сделать такое действие: сделать запрос недоделанным, то есть без этого поля, в параметрах запроса указать что Период регистрации - Это НачалоМесяца(Дата), зайти заново в запрос, и добавить уже это поле РАЗНОСТЬДАТ.
И всё
Никакой ошибки нет..Почему так?Я что то не так сделала? До этого всё нормально было: Сначала создаешь запрос, устанавливаешь параметры. А теперь не могу доделать запрос пока не установлю параметр..
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Bebi от Апрель 18, 2019, 04:06:02 pm
Кто нибудь знает из-за чего может быть ошибка:
Запись не верна! Не задан вид расчета(Регистр расчета:Основные начисления; Номер строки:1)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 18, 2019, 04:10:07 pm
Кто нибудь знает из-за чего может быть ошибка:
Запись не верна! Не задан вид расчета(Регистр расчета:Основные начисления; Номер строки:1)
воспользуйтесь отладчиком, посмотрите в наборе записей что пытаетесь записать. вероятнее всего, что-то не заполнено.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 18, 2019, 06:53:12 pm
кому интересно, моё решение первого билета.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 19, 2019, 02:05:58 pm
Кто нибудь знает из-за чего может быть ошибка:
Запись не верна! Не задан вид расчета(Регистр расчета:Основные начисления; Номер строки:1)

Это вид расчета не передается из документа, верно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 07:14:56 pm
кому интересно, моё решение первого билета.
Сейчас занимался бизнес - процессами, обнаружил что нет формы и кнопки Обновить маршрут.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 21, 2019, 07:18:46 pm
кому интересно, моё решение первого билета.
Сейчас занимался бизнес - процессами, обнаружил что нет формы и кнопки Обновить маршрут.
я кстати это нигде не делал
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 07:45:07 pm
кому интересно, моё решение первого билета.
Сейчас занимался бизнес - процессами, обнаружил что нет формы и кнопки Обновить маршрут.
я кстати это нигде не делал

Посмотри он у тебя чет не отрабатывает так как надо, но если остальное все решено правильно, то ты сдал)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 09:27:54 pm
кому интересно, моё решение первого билета.
Сейчас занимался бизнес - процессами, обнаружил что нет формы и кнопки Обновить маршрут.
я кстати это нигде не делал

Посмотри он у тебя чет не отрабатывает так как надо, но если остальное все решено правильно, то ты сдал)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 10:13:42 pm
Друзья, а кто может подсказать почему не работает бизнес-процесс, не отрабатывает ветка кладовщик, буду очень благодарен, если укажете в чем дело.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 21, 2019, 10:17:41 pm
Друзья, а кто может подсказать почему не работает бизнес-процесс, не отрабатывает ветка кладовщик, буду очень благодарен, если укажете в чем дело.
в режиме предприятие настроил регистр адресации правильно?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 10:33:26 pm
А у тебя отработало?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 21, 2019, 10:40:38 pm
А у тебя отработало?
Да, вот.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 21, 2019, 11:09:50 pm
А у тебя отработало?
Да, вот.
А полный цикл прошел?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 21, 2019, 11:39:24 pm
А у тебя отработало?
Да, вот.
А полный цикл прошел?
Да. По-моему БП всё прошло. правильно настроить нужно регистр адресации. (2 задачи по отгрузке т.к. 2 кладовщика у меня)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 22, 2019, 09:25:55 am
А у тебя отработало?
Да, вот.
А полный цикл прошел?
Да. По-моему БП всё прошло. правильно настроить нужно регистр адресации. (2 задачи по отгрузке т.к. 2 кладовщика у меня)
Леонид, а можно попросить выложить dt?
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 22, 2019, 11:07:39 am
А у тебя отработало?
Да, вот.
А полный цикл прошел?
Да. По-моему БП всё прошло. правильно настроить нужно регистр адресации. (2 задачи по отгрузке т.к. 2 кладовщика у меня)
Леонид, а можно попросить выложить dt?
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 22, 2019, 09:19:45 pm
А у тебя отработало?
Да, вот.
А полный цикл прошел?

Спасибо
Да. По-моему БП всё прошло. правильно настроить нужно регистр адресации. (2 задачи по отгрузке т.к. 2 кладовщика у меня)
Леонид, а можно попросить выложить dt?
Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 23, 2019, 01:07:55 pm
А у тебя отработало?
Да, вот.
А полный цикл прошел?

Спасибо
Да. По-моему БП всё прошло. правильно настроить нужно регистр адресации. (2 задачи по отгрузке т.к. 2 кладовщика у меня)
Леонид, а можно попросить выложить dt?
Спасибо.

А последовательности нужно делать в решениях на экзамене?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Апрель 23, 2019, 09:19:29 pm
А последовательности нужно делать в решениях на экзамене?
В рамках этого экзамена Последовательности реализовывать не нужно.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 24, 2019, 11:43:59 am
А последовательности нужно делать в решениях на экзамене?
В рамках этого экзамена Последовательности реализовывать не нужно.
Спс
Название: Re: Билет 1. Спец по платформе V8
Отправлено: YFred от Апрель 25, 2019, 12:57:50 pm
СПР: Что означает фраза: "Значение оклада берется на начало расчетного периода". Это дата документа (регистратора) или период действия?

Вроде сам разобрался. Начало расчетного периода = Период регистрации -  это для оклада. Для больничного например может и не совпадать.

Насколько я понял "ПериодРегистрации" лучше выносить в шапку документа.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: _leon4uk_ от Апрель 25, 2019, 01:16:13 pm
СПР: Что означает фраза: "Значение оклада берется на начало расчетного периода". Это дата документа (регистратора) или период действия?
в такой трактовке на начало месяца от даты документа.
Период регистрации я вообще не выносил ни в одном из билетов.

В 1 билете именно так и сказано:
Первоначальное значение оклада может изменяться не чаще, чем один раз в день, но берется на начало расчетного периода. В информационной базе необходимо хранить историю его изменения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 28, 2019, 11:05:08 am
Добрый день.

Друзья можете посмотреть мое решение, я человек с не особым опытом программирования, буду рад любой обратной связи
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 28, 2019, 10:05:02 pm
Добрый день.

Друзья можете посмотреть мое решение, я человек с не особым опытом программирования, буду рад любой обратной связи
Ну все по идее правильно, если у тебя был оклад 10 000 на начало месяца, а в конце тебе повысили его до 20 000, то и расчет должен на начало месяце быть 20 000.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Апрель 28, 2019, 10:06:59 pm
Добрый день.
Готовлюсь к экзамену, решил первый билет, просьба кто может дать по решению объективную критику.
Буду очень благодарен и признателен, большое спасибо
Такое ощущение, как будто вы взяли чей то старый билет и выложили его сюда на проверку) Потому что формулы старые, как раньше делали, и не соблюдены некоторые условия. Вы точно брали АКТУАЛЬНЫЕ билеты?
1. В документе "Начисление ЗП" - нет кнопки "Рассчитать"
2. Почему в общем модуле сделали всё в разных процедурах? Можно же в одной и Оклад и Премию рассчитывать.
3. В расходной накладной как по мне лучше не использовать конструкцию: МоментВремени = ?(Режим = РежимПроведенияДокумента.Оперативный, Неопределено,Новый Граница(МоментВремени(), ВидГраницы.Исключая));.. здесь уже это обсуждалось 2 дня назад.
4. Формулы для рассчета себестоимости не верны.
5. Удержания же вообще не нужны в этой задаче
В общем это первое что бросилось, в глаза. Детально не смотрела, тяжеловато читать ваш код))
Добрый день))
Все поправил)))
Можете ради интереса взглянуть))))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KVAS от Май 17, 2019, 08:59:28 am
кому интересно, моё решение первого билета.

Добрый день. Начинаю подготовку. Скачал первым же делом Ваш пример разработки. И тут же появились вопросы.

1. При входе в программу выдается сообщение. Что пользователь не найден что не много сразу напрягает. Не проще сразу такого прописывать?
 
ТекПользователь = Справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяПользователя());
   
   Если ТекПользователь=Неопределено Тогда
      НовПользователь = Справочники.ФизическиеЛица.СоздатьЭлемент();
      НовПользователь.Наименование = ИмяПользователя();
      НовПользователь.Записать();
      ТекПользователь = НовПользователь.Ссылка;
   КонецЕсли;
   
   ПараметрыСеанса.ТекущийПользователь = ТекПользователь;

2. Подскажите пожалуйста, правильно ли я думаю, что при том условии что в первом билете "И услуги и товары указываются в одной табличной части". Достаточно будет указать их в документе продажи? 

3. А при проведении услуги можно не фиксировать движения?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Май 17, 2019, 12:27:31 pm
кому интересно, моё решение первого билета.

Добрый день. Начинаю подготовку. Скачал первым же делом Ваш пример разработки. И тут же появились вопросы.

1. При входе в программу выдается сообщение. Что пользователь не найден что не много сразу напрягает. Не проще сразу такого прописывать?
 
ТекПользователь = Справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяПользователя());
   
   Если ТекПользователь=Неопределено Тогда
      НовПользователь = Справочники.ФизическиеЛица.СоздатьЭлемент();
      НовПользователь.Наименование = ИмяПользователя();
      НовПользователь.Записать();
      ТекПользователь = НовПользователь.Ссылка;
   КонецЕсли;
   
   ПараметрыСеанса.ТекущийПользователь = ТекПользователь;

2. Подскажите пожалуйста, правильно ли я думаю, что при том условии что в первом билете "И услуги и товары указываются в одной табличной части". Достаточно будет указать их в документе продажи? 

3. А при проведении услуги можно не фиксировать движения?

leon4uk уже успешно сдал экзамен и навряд ли уже Вам ответит.
Попробую я.

1) Ошибки возникают из-за того, что не добавлены пользователи, соответствующие сотрудникам. Если добавить несколько таких пользователей (Иванов, Петров), то ошибки уже не будет.
Так как время на экзамене очень ограничено, то такое решение в принципе оправдано. Работать всё будет.
Но, на мой взгляд, всё-таки более корректный вариант тот, что описали Вы. Я делал на экзамене именно так. Только у Вас там ошибка, проверять надо не не неравенство Неопределено, а на неравенство пустой ссылки, ну или использовать ЗначениеЗаполнено. Метод НайтиПоНаименованию вернет Неопределено только, если длина наименования в справочника будет равно 0.

2) Это и подразумевает, что в документе продажи будут Номенклатуры и вида Товары и вида Услуги. Тем более ранее сказано, что компания оказывает услуги, про том что нам оказывают услуги, не сказано ничего. Три варианта в приходной: игнорировать вовсе услуги, получить запросом табличную часть и отсечь услуги либо просто через Параметры выбора не давать пользователю указать услугу в табличной части. На мой взгляд третий вариант самый быстрый и по идее не нарушающих никаких требований экзамена.

3) Услуги не надо помещать в регистр товарного учета. В других задачах зачастую информация еще помещается в регистр продаж в том числе и услуги, здесь этого нет. Поэтому можно просто отсечь их в запросе получения данных для формирования движений.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: KVAS от Май 29, 2019, 11:39:25 pm
Доброго всем времени суток. Прошу разъясните кто знает, можно ли использовать отбор в связях или нет смысла как в файле? Файл прикрепил.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Июнь 04, 2019, 11:35:06 pm
Доброго времени суток, уважаемые коллеги! Прошу оценить решение задачи из первого билета. Просто реализовал приход и расход. Сделал только эту часть. Хотелось бы знать, насколько верная идея. Сдавал и получил два - решал на одном регистре. Преподаватель сказал, что решается на двух. Собственно, прошу оценить подход. Блокировки и всякие плюшки не делал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 04, 2019, 11:55:13 pm
Доброго времени суток, уважаемые коллеги! Прошу оценить решение задачи из первого билета. Просто реализовал приход и расход. Сделал только эту часть. Хотелось бы знать, насколько верная идея. Сдавал и получил два - решал на одном регистре. Преподаватель сказал, что решается на двух. Собственно, прошу оценить подход. Блокировки и всякие плюшки не делал.
Смотрите вы остатки проверяете по регистру с себестоимостью, по всем остаткам. А необходимо их контролировать по складу документа. то есть по остаткам в другом регистре.

Это задача решается применением новой методики проведения для регистра ОстаткиНоменклатуры, а затем уже старой методики для регистра СебестоимостьНоменклатуры.

Мысль в принципе верная, но необходимо еще добавить новую методику для регистра ОстаткиНоменклатуры до Вашего кода.

И очищать наборы записей не нужно. Они и так будут пустые.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Июнь 06, 2019, 10:16:34 pm
Доброго времени суток, уважаемые коллеги! Прошу оценить решение задачи из первого билета. Просто реализовал приход и расход. Сделал только эту часть. Хотелось бы знать, насколько верная идея. Сдавал и получил два - решал на одном регистре. Преподаватель сказал, что решается на двух. Собственно, прошу оценить подход. Блокировки и всякие плюшки не делал.
Смотрите вы остатки проверяете по регистру с себестоимостью, по всем остаткам. А необходимо их контролировать по складу документа. то есть по остаткам в другом регистре.

Это задача решается применением новой методики проведения для регистра ОстаткиНоменклатуры, а затем уже старой методики для регистра СебестоимостьНоменклатуры.

Мысль в принципе верная, но необходимо еще добавить новую методику для регистра ОстаткиНоменклатуры до Вашего кода.

И очищать наборы записей не нужно. Они и так будут пустые.

Внес нужные изменения, вроде теперь норм....прошу повторно оценить решение.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 07, 2019, 09:31:04 pm
Доброго времени суток, уважаемые коллеги! Прошу оценить решение задачи из первого билета. Просто реализовал приход и расход. Сделал только эту часть. Хотелось бы знать, насколько верная идея. Сдавал и получил два - решал на одном регистре. Преподаватель сказал, что решается на двух. Собственно, прошу оценить подход. Блокировки и всякие плюшки не делал.
Смотрите вы остатки проверяете по регистру с себестоимостью, по всем остаткам. А необходимо их контролировать по складу документа. то есть по остаткам в другом регистре.

Это задача решается применением новой методики проведения для регистра ОстаткиНоменклатуры, а затем уже старой методики для регистра СебестоимостьНоменклатуры.

Мысль в принципе верная, но необходимо еще добавить новую методику для регистра ОстаткиНоменклатуры до Вашего кода.

И очищать наборы записей не нужно. Они и так будут пустые.

Внес нужные изменения, вроде теперь норм....прошу повторно оценить решение.
Не всё норм) Не слушаете меня, а зря)
За использование менее эффективной методики проведения для регистра ОстаткиНоменклатуры Вам снимут баллы на экзамене.
Что мешает использовать новую методику?

И что за сортировка по дате и ссылке? Используйте сортировку по Моменту времени документа.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Июнь 08, 2019, 01:09:37 pm
Доброго времени суток, уважаемые коллеги! Прошу оценить решение задачи из первого билета. Просто реализовал приход и расход. Сделал только эту часть. Хотелось бы знать, насколько верная идея. Сдавал и получил два - решал на одном регистре. Преподаватель сказал, что решается на двух. Собственно, прошу оценить подход. Блокировки и всякие плюшки не делал.
Смотрите вы остатки проверяете по регистру с себестоимостью, по всем остаткам. А необходимо их контролировать по складу документа. то есть по остаткам в другом регистре.

Это задача решается применением новой методики проведения для регистра ОстаткиНоменклатуры, а затем уже старой методики для регистра СебестоимостьНоменклатуры.

Мысль в принципе верная, но необходимо еще добавить новую методику для регистра ОстаткиНоменклатуры до Вашего кода.

И очищать наборы записей не нужно. Они и так будут пустые.

Внес нужные изменения, вроде теперь норм....прошу повторно оценить решение.
Не всё норм) Не слушаете меня, а зря)
За использование менее эффективной методики проведения для регистра ОстаткиНоменклатуры Вам снимут баллы на экзамене.
Что мешает использовать новую методику?

И что за сортировка по дате и ссылке? Используйте сортировку по Моменту времени документа.

Сортировка по дате и ссылке сделана на основе опыта предыдущей сдачи. Преподаватель так сказал. Про методику проведения я понял - переделаю. Но вообще правильный подход к решению задачи? Или ошибка только в неоптимальном проведении?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июнь 09, 2019, 12:18:44 am
Сортировка по дате и ссылке сделана на основе опыта предыдущей сдачи. Преподаватель так сказал. Про методику проведения я понял - переделаю. Но вообще правильный подход к решению задачи? Или ошибка только в неоптимальном проведении?
Момент времени это и есть комбинация даты и ссылки.
Подход в целом правильный, но за использование новой методики вместо старой попадаете на ошибку "Использование менее эффективной методики проведения документов". Карают на 1 балл.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Июнь 09, 2019, 01:16:22 am
Сортировка по дате и ссылке сделана на основе опыта предыдущей сдачи. Преподаватель так сказал. Про методику проведения я понял - переделаю. Но вообще правильный подход к решению задачи? Или ошибка только в неоптимальном проведении?
Момент времени это и есть комбинация даты и ссылки.
Подход в целом правильный, но за использование новой методики вместо старой попадаете на ошибку "Использование менее эффективной методики проведения документов". Карают на 1 балл.

Тогда применю нужную методику, большое спасибо за Ваше участие.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: brig от Июнь 18, 2019, 11:38:39 am
Прикладываю своё решение данного билета. Жду критики,коллеги
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Puff от Июль 13, 2019, 03:30:10 pm
Всем доброго времени суток. Вопрос такой, раз мы храним количество и себестоимость в разных регистрах, можно ли в расходнике списать себестоимость без проверки? Сначала же идет проверка количества в регистре остатков,и если НЕ отказ, тогда просто делаем списание себестоимости по количеству документа? Если я чего то недопонимаю, то буду благодарен за разъяснения.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Июль 13, 2019, 07:28:16 pm
Два раза надо делать проверку: по складу по новой методике и по старой, когда рассчитываете себестоимость. Зачем? По жизни вроде, как можно не делать. В общем тут вопрос баланса быстродействия и достоверности. На экзамене надо проверять два раза.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Puff от Июль 16, 2019, 09:59:46 pm
А разве будет правильным,то что сначала проверяем остаток по номенклатуре по определенному складу,а затем по всем приходникам (то есть по всем складам)? на выходе же получается что выводим сообщение о том,что номенклатуры не хватает по разным количествам(в случае если приходники на разные склады)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alkon от Июль 19, 2019, 03:46:58 pm
Добрый день. Посмотрел несколько решений и ни в одном в ПР никто не использует подразделение. В задаче условие: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". Соответствено в регистрах должно появится измерение Подразделение, а через регистр сведений нужно реализовать чтобы не было совместительства.  Поделитесь опытом пожалуйста как кто трактует условие про подразделение ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alkon от Июль 19, 2019, 04:24:25 pm
Прикладываю своё решение данного билета. Жду критики,коллеги

Не нашел: "Результат расчета должен быть отражен в табличной части этой же формы"
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Июль 21, 2019, 07:46:42 am
Добрый день. Посмотрел несколько решений и ни в одном в ПР никто не использует подразделение. В задаче условие: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". Соответствено в регистрах должно появится измерение Подразделение, а через регистр сведений нужно реализовать чтобы не было совместительства.  Поделитесь опытом пожалуйста как кто трактует условие про подразделение ?

Это условие трактуется однозначно — измерения "Подразделение" в регистрах расчета быть НЕ ДОЛЖНО! Далее смотрим, если в отчете есть колонка "Подразделение", то добавляем реквизит "Подразделение" в регистры расчета.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: alkon от Июль 22, 2019, 11:44:42 am
Добрый день. Посмотрел несколько решений и ни в одном в ПР никто не использует подразделение. В задаче условие: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". Соответствено в регистрах должно появится измерение Подразделение, а через регистр сведений нужно реализовать чтобы не было совместительства.  Поделитесь опытом пожалуйста как кто трактует условие про подразделение ?

Это условие трактуется однозначно — измерения "Подразделение" в регистрах расчета быть НЕ ДОЛЖНО! Далее смотрим, если в отчете есть колонка "Подразделение", то добавляем реквизит "Подразделение" в регистры расчета.

В задаче четко указано что работники работают по подразделениям, но каждый работник может одновременно работать в одном подразделении. Преподаватель вас попросит продемонстрировать механизм не возможности работать в двух подразделениях как вы это сделаете ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Июль 22, 2019, 12:23:11 pm
Добрый день. Посмотрел несколько решений и ни в одном в ПР никто не использует подразделение. В задаче условие: "Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается". Соответствено в регистрах должно появится измерение Подразделение, а через регистр сведений нужно реализовать чтобы не было совместительства.  Поделитесь опытом пожалуйста как кто трактует условие про подразделение ?

Это условие трактуется однозначно — измерения "Подразделение" в регистрах расчета быть НЕ ДОЛЖНО! Далее смотрим, если в отчете есть колонка "Подразделение", то добавляем реквизит "Подразделение" в регистры расчета.

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

    На самом деле letyurij  прав.
    Условие о возможности одновременной работы в разных подразделениях, либо на запрет такой работы не предполагает никакого контроля.
    В расчетной задаче от Вас хотят видеть именно понимание и умение использовать расчетные механизмы. Одновременная работа в разных подразделениях подразумевает разрез учета по Сотруднику и Подразделению, соответственно и получение базы и вытеснение - всё будет вестись в разрезе этих аналитик, поэтому Подразделение и помещается в измерение. В противном же случае, если Подразделение задействовано где-то еще, то необходимо его добавить в реквизит регистр расчета, если не используется вовсе, то и никакого смысла хранить его значение в базе данных нет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Июль 22, 2019, 07:38:18 pm
Цитировать
Преподаватель вас попросит продемонстрировать механизм не возможности работать в двух подразделениях как вы это сделаете ?
1. Платформа контролировать сей механизм не умеет.
2. Требования программно сие сделать в условии задачи — НЕТ.
3. Значит — контролирует ПОЛЬЗОВАТЕЛЬ.

Создание лишнего измерения, ненужного для решения конкретной задачи — получаете минус,  т.к. продемонстрировали НЕЗНАНИЕ платформы.

ps. Про может (не может) одновременно работать в разных подразделениях — это должно быть, как отче наш, ну, или 2х2=4 ))
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Aziraalx от Июль 30, 2019, 03:38:12 pm
Добрый день. Подскажите пожалуйста, 2 вопроса:
1. Имеет ли смысл в задаче по БУ, устанавливать источник данных для блокировки по субконто (номенклатуре) из табличной части или временной таблицы ? или достаточно будет заблокировать счет Товары ?
2. Почему для списания себестоимости большинство людей даже здесь в теме пишут Что Себестоимость = ?(Списать = Выборка.КолОст, Выборка.СуммаОст, Списать/Выборка.КолОст*Выборка.СуммаОст), т.е. вычисляют цифру уже в цикле по срокам годности ? По условию задачи необходимо получить себестоимость по всем срокам годности. т.е. когда в группировках где мы получаем СУММА(КолОст) и СУММА(СуммаОст) - результат их деления и будет СреднейСебестоимостью, которая впоследствии умножится на количество к списанию ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Aziraalx от Июль 30, 2019, 04:54:21 pm
Условие задачи : "Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей"

1. Логика условия задачи - что мы берём, к примеру 3 товара  с общим количеством = 90 и общей суммой - 2700 и получаем среднюю цену - 30 (2700/90=30); Но по такой логике у нас остатки в разрезе субконто могут улететь в минус.
2. Логика решения как у большинства людей - мы просто используем методику списания партий (где партия - это наш срок годности) ?

Как же всё таки правильно ? И главное почему ?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Июль 30, 2019, 08:49:17 pm
Для этого существуют признаки учета по субконто. Заводим признак "Суммовой" и ставим его по товарам, а по срокам годности — НЕТ.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: серж от Июль 30, 2019, 10:31:34 pm
2. Почему для списания себестоимости большинство людей даже здесь в теме пишут Что Себестоимость = ?(Списать = Выборка.КолОст, Выборка.СуммаОст, Списать/Выборка.КолОст*Выборка.СуммаОст), т.е. вычисляют цифру уже в цикле по срокам годности ? По условию задачи необходимо получить себестоимость по всем срокам годности. т.е. когда в группировках где мы получаем СУММА(КолОст) и СУММА(СуммаОст) - результат их деления и будет СреднейСебестоимостью, которая впоследствии умножится на количество к списанию ?
Все так делают, потому что Белоусов требует решать ее именно так чтобы получить зачет. Скачай его курс на торрентах (около 300р.) и посмотри.
 Если вкратце, то таким способом решается т.н. "проблема копеек": если списываем столько сколько осталось в партии, то себестоимость не рассчитываем.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Xamele0n от Август 16, 2019, 02:44:14 pm
Прорешал первый билет.
Прошу посмотреть правильность решения
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Август 16, 2019, 03:58:44 pm
Прорешал первый билет.
Прошу посмотреть правильность решения

ОУ
1. Регистр "ОстаткиНоменклатуры" не установлен режим разделения итогов.
2. В приходной накладной не обработаны дубли при проведении.
3. В приходной накладной на склад приходуются услуги.
4. В отчете "Остатки товаров" ресурс "Количество" не нужен. (Группировки: Склад, Детальные записи)
5. Добавлять секунду к дате отчета — это ошибка. Движения НА дату отчета включаться НЕ должны. Представьте бухгалтер сделал баланс на 1 апреля. А у него остатки начинают изменяться. Он начнет искать кто задним числом документы перепроводит, а оказывается это программист прикололся: движения за 1 апреля в остатки на 1 апреля включил.

ПР
1. Если в задаче явно не сказано, что пользователь сам вносит значение оклада в документ Начисления з/п, то значение оклада надо получать из регистра, а не из табличной части.
2. Получение процента премии надо делать в запросе исходя из даты приема на работу.

Дальше не смотрел. Будет время, гляну.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Xamele0n от Август 17, 2019, 04:34:35 am
ОУ
1. Регистр "ОстаткиНоменклатуры" не установлен режим разделения итогов.
2. В приходной накладной не обработаны дубли при проведении.
3. В приходной накладной на склад приходуются услуги.
4. В отчете "Остатки товаров" ресурс "Количество" не нужен. (Группировки: Склад, Детальные записи)
5. Добавлять секунду к дате отчета — это ошибка. Движения НА дату отчета включаться НЕ должны. Представьте бухгалтер сделал баланс на 1 апреля. А у него остатки начинают изменяться. Он начнет искать кто задним числом документы перепроводит, а оказывается это программист прикололся: движения за 1 апреля в остатки на 1 апреля включил.

ПР
1. Если в задаче явно не сказано, что пользователь сам вносит значение оклада в документ Начисления з/п, то значение оклада надо получать из регистра, а не из табличной части.
2. Получение процента премии надо делать в запросе исходя из даты приема на работу.

Дальше не смотрел. Будет время, гляну.

Спасибо.

1. Даже не догадался туда посмотреть в каркасной, считал по умолчанию стоит :)
2. А надо? придется тогда не конструктором делать, а запросом группировать.
3. Параметры выбора по виду номенклатуры стоят.
4. Согласен
5. Это же особенность получения остатков на дату. Например провели реализацию с датой и временем 31.03.2019 23:59:59, а бухгалтер формирует остатки на конец марта. Если не добавлять секунду, то этот документ не попадет в отчет.

ПР
1. Запросом же беру с регистра по кнопке рассчитать, на форме просто выведен реквизит, надо убрать его?
2. Тоже запросом делаю дата регистрации - дата приема + начальный стаж сотрудника, исходя из полученного стажа беру процент
Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Август 17, 2019, 10:05:27 am
2. Почему для списания себестоимости большинство людей даже здесь в теме пишут Что Себестоимость = ?(Списать = Выборка.КолОст, Выборка.СуммаОст, Списать/Выборка.КолОст*Выборка.СуммаОст), т.е. вычисляют цифру уже в цикле по срокам годности ? По условию задачи необходимо получить себестоимость по всем срокам годности. т.е. когда в группировках где мы получаем СУММА(КолОст) и СУММА(СуммаОст) - результат их деления и будет СреднейСебестоимостью, которая впоследствии умножится на количество к списанию ?
Все так делают, потому что Белоусов требует решать ее именно так чтобы получить зачет. Скачай его курс на торрентах (около 300р.) и посмотри.
 Если вкратце, то таким способом решается т.н. "проблема копеек": если списываем столько сколько осталось в партии, то себестоимость не рассчитываем.


Проблема копеек возникает из-за того, что сначала в формуле деление, потом умножение. Достаточно переписать так, чтобы сначала шло умножение, а потом - деление:
Себестоимость = Списать*Выборка.СуммаОст/Выборка.КолОст;
Название: Re: Билет 1. Спец по платформе V8
Отправлено: GROOVY от Август 17, 2019, 12:08:09 pm
2. Почему для списания себестоимости большинство людей даже здесь в теме пишут Что Себестоимость = ?(Списать = Выборка.КолОст, Выборка.СуммаОст, Списать/Выборка.КолОст*Выборка.СуммаОст), т.е. вычисляют цифру уже в цикле по срокам годности ? По условию задачи необходимо получить себестоимость по всем срокам годности. т.е. когда в группировках где мы получаем СУММА(КолОст) и СУММА(СуммаОст) - результат их деления и будет СреднейСебестоимостью, которая впоследствии умножится на количество к списанию ?
Все так делают, потому что Белоусов требует решать ее именно так чтобы получить зачет. Скачай его курс на торрентах (около 300р.) и посмотри.
 Если вкратце, то таким способом решается т.н. "проблема копеек": если списываем столько сколько осталось в партии, то себестоимость не рассчитываем.


Проблема копеек возникает из-за того, что сначала в формуле деление, потом умножение. Достаточно переписать так, чтобы сначала шло умножение, а потом - деление:
Себестоимость = Списать*Выборка.СуммаОст/Выборка.КолОст;

А я до сих пор не согласен.
К примеру продаем мы алмазов в граммах (весь остаток) 0.4874834375473642438245553331

Себестоимость списания = 0.4874834375473642438245553331 / 0.4874834375473642438245553331 * Стоимость.

Что имеем? 1 в результате деления. И умножая единицу на любую стоимость получаем полную стоимость. Без проблемы последней копейки.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: eiffil от Август 17, 2019, 04:46:03 pm
2. Почему для списания себестоимости большинство людей даже здесь в теме пишут Что Себестоимость = ?(Списать = Выборка.КолОст, Выборка.СуммаОст, Списать/Выборка.КолОст*Выборка.СуммаОст), т.е. вычисляют цифру уже в цикле по срокам годности ? По условию задачи необходимо получить себестоимость по всем срокам годности. т.е. когда в группировках где мы получаем СУММА(КолОст) и СУММА(СуммаОст) - результат их деления и будет СреднейСебестоимостью, которая впоследствии умножится на количество к списанию ?
Все так делают, потому что Белоусов требует решать ее именно так чтобы получить зачет. Скачай его курс на торрентах (около 300р.) и посмотри.
 Если вкратце, то таким способом решается т.н. "проблема копеек": если списываем столько сколько осталось в партии, то себестоимость не рассчитываем.


Проблема копеек возникает из-за того, что сначала в формуле деление, потом умножение. Достаточно переписать так, чтобы сначала шло умножение, а потом - деление:
Себестоимость = Списать*Выборка.СуммаОст/Выборка.КолОст;

А я до сих пор не согласен.
К примеру продаем мы алмазов в граммах (весь остаток) 0.4874834375473642438245553331

Себестоимость списания = 0.4874834375473642438245553331 / 0.4874834375473642438245553331 * Стоимость.

Что имеем? 1 в результате деления. И умножая единицу на любую стоимость получаем полную стоимость. Без проблемы последней копейки.

Проводил эксперименты, так и не нашел примера, когда такие копейки могут повлиять на результат (расхождения есть, но они в миллиардных долях после запятой). Возможно, есть какие-то экстренные случаи, когда используется большое количество знаков после запятой, а в целой части тоже большое значение. Тогда из-за устройства чисел с плавающей точкой будет потеря некоторого значения в дробной части. Но вряд ли такое случится на стандартных числах (15,2) и (14,3).
Но еще со школы помню, что лучше всегда сначала умножать, потом делить ))

Еще видел в некоторых решениях другую ошибку - когда считают себестоимость списания и ее округляют до 2х знаков, а потом умножают на количество списания. Вот в таком случае копейки округления появятся скорее всего.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Август 19, 2019, 07:51:47 am

ПР
1. Запросом же беру с регистра по кнопке рассчитать, на форме просто выведен реквизит, надо убрать его?
2. Тоже запросом делаю дата регистрации - дата приема + начальный стаж сотрудника, исходя из полученного стажа беру процент

Разобрался. Зачем так сложно? На экзамене время дорого. Можно сделать гораздо проще.

1. Набор записей формируем в обработчике
 &НаСервере
Процедура РассчитатьНаСервере()
….

2. Обращаемся к процедуре общего модуля Расчет
3. Загружаем движения
4. Очищаем движения
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Xamele0n от Август 19, 2019, 11:31:49 am

Разобрался. Зачем так сложно? На экзамене время дорого. Можно сделать гораздо проще.

1. Набор записей формируем в обработчике
 &НаСервере
Процедура РассчитатьНаСервере()
….

2. Обращаемся к процедуре общего модуля Расчет
3. Загружаем движения
4. Очищаем движения

Представленное решение во вложении, это адаптация варианта выложенного на курсах Гилева (там доп. начисления не рассчитываются) и видел такое решение у некоторых участников форума.

В предложенном вами варианте, мы уменьшаем количество кода на вызов процедуры модуля объекта?

1. Набор записей также формируем запросом, как и у меня
2. Записываем этот набор записей. В вашем варианте этот пункт не написан, это не обязательное действие, чтобы обращаться к виртуальным таблицам регистра? или это входит в пункт создаем набор записей?
3. Выполняем расчет в общем модуле и заполняем табличные части документы
4. Очищаем движения
5. Возвращаем полученный результат на форму
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Август 19, 2019, 12:07:41 pm

1. Набор записей также формируем запросом, как и у меня
2. Записываем этот набор записей. В вашем варианте этот пункт не написан, это не обязательное действие, чтобы обращаться к виртуальным таблицам регистра? или это входит в пункт создаем набор записей?
3. Выполняем расчет в общем модуле и заполняем табличные части документы
4. Очищаем движения
5. Возвращаем полученный результат на форму

Наверное проще кусок кода выложить ...
Как нетрудно заметить по коду, движения были сделаны конструктором и скопированы из Обработки проведения, т.е. написание кода руками — минимально.
&НаСервере
Процедура РассчитатьНаСервере()

ТекДокумент = РеквизитФормыВЗначение("Объект");
Движения = ТекДокумент.Движения;

// регистр ОсновныеНачисления
Движения.ОсновныеНачисления.Записывать = Истина;
Для Каждого ТекСтрокаОсновныеНачисления Из Объект.ОсновныеНачисления Цикл
Движение = Движения.ОсновныеНачисления.Добавить();
Движение.Сторно = Ложь;
Движение.ВидРасчета = ТекСтрокаОсновныеНачисления.ВидРасчета;
Движение.ПериодДействияНачало = ТекСтрокаОсновныеНачисления.ПериодДействияНачало;
Движение.ПериодДействияКонец = ТекСтрокаОсновныеНачисления.ПериодДействияКонец;
Движение.ПериодРегистрации = Объект.Дата;
Движение.Сотрудник = ТекСтрокаОсновныеНачисления.Сотрудник;
Движение.График = ТекСтрокаОсновныеНачисления.График;
КонецЦикла;

// регистр ДополнительныеНачисления
Движения.ДополнительныеНачисления.Записывать = Истина;
Для Каждого ТекСтрокаДополнительныеНачисления Из Объект.ДополнительныеНачисления Цикл
Движение = Движения.ДополнительныеНачисления.Добавить();
Движение.Сторно = Ложь;
Движение.ВидРасчета = ТекСтрокаДополнительныеНачисления.ВидРасчета;
Движение.ПериодРегистрации = Объект.Дата;
Движение.БазовыйПериодНачало = НачалоМесяца(Объект.Дата);
Движение.БазовыйПериодКонец = КонецМесяца(Объект.Дата);
Движение.Сотрудник = ТекСтрокаДополнительныеНачисления.Сотрудник;
КонецЦикла;

ТекДокумент.Записать();
ЗначениеВРеквизитФормы(ТекДокумент, "Объект");

РаботаСДанными.Расчет(ТекДокумент.Ссылка, Движения);

Объект.ОсновныеНачисления.Загрузить(Движения.ОсновныеНачисления.Выгрузить());
Объект.ДополнительныеНачисления.Загрузить(Движения.ДополнительныеНачисления.Выгрузить());

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

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

КонецПроцедуры

&НаКлиенте
Процедура Рассчитать(Команда)
РассчитатьНаСервере();
КонецПроцедуры

Общий модуль
Процедура Расчет(Ссылка, Движения) Экспорт

//Расчет по ОКЛАДУ
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОсновныеНачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки,
| ОсновныеНачисленияДанныеГрафика.Сотрудник КАК Сотрудник,
| ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.ЗначениеПериодДействия, 0) КАК Норма,
| ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК Факт
|ПОМЕСТИТЬ ДанныеГрафика
|ИЗ
| РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(
| Регистратор = &Ссылка
| И ВидРасчета = &Оклад) КАК ОсновныеНачисленияДанныеГрафика
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(СведенияОСотрудникахСрезПоследних.Оклад, 0) КАК Размер,
| ДанныеГрафика.НомерСтроки КАК НомерСтроки,
| ДанныеГрафика.Норма КАК Норма,
| ДанныеГрафика.Факт КАК Факт
|ИЗ
| ДанныеГрафика КАК ДанныеГрафика
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках.СрезПоследних(
| &Нач,
| Сотрудник В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ДанныеГрафика.Сотрудник КАК Сотрудник
| ИЗ
| ДанныеГрафика КАК ДанныеГрафика)) КАК СведенияОСотрудникахСрезПоследних
| ПО ДанныеГрафика.Сотрудник = СведенияОСотрудникахСрезПоследних.Сотрудник";

Запрос.УстановитьПараметр("Нач", НачалоМесяца(Ссылка.Дата));
Запрос.УстановитьПараметр("Оклад", ПланыВидовРасчета.ОсновныеНачисления.Оклад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаОклад = РезультатЗапроса.Выбрать();

Для каждого СтрНабора Из Движения.ОсновныеНачисления Цикл

Если СтрНабора.ВидРасчета <> ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда
Продолжить;
КонецЕсли;

ВыборкаОклад.Сбросить();
ВыборкаОклад.НайтиСледующий(СтрНабора.НомерСтроки, "НомерСтроки");
СтрНабора.Результат = ?(ВыборкаОклад.Норма = 0, 0, ВыборкаОклад.Размер / ВыборкаОклад.Норма * ВыборкаОклад.Факт);
СтрНабора.Размер = ВыборкаОклад.Размер;
    СтрНабора.Факт = ВыборкаОклад.Факт;

КонецЦикла;

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

//Расчет по ПРЕМИИ

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТН.Стаж КАК ТН_Граница,
| МИНИМУМ(ЕСТЬNULL(ТВ.Стаж, 99)) КАК ТВ_Граница,
| ТН.Процент КАК Процент
|ПОМЕСТИТЬ ТаблСтажа
|ИЗ
| РегистрСведений.ШкалаСтажа КАК ТН
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШкалаСтажа КАК ТВ
| ПО ТН.Стаж < ТВ.Стаж
|
|СГРУППИРОВАТЬ ПО
| ТН.Стаж,
| ТН.Процент
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки КАК НомерСтроки,
| ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник КАК Сотрудник,
| ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза КАК РезультатБаза,
| ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема КАК ДатаПриема,
| ДополнительныеНачисленияБазаОсновныеНачисления.БазовыйПериодНачало КАК ПериодНачало,
| ВЫРАЗИТЬ((РАЗНОСТЬДАТ(ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник.ДатаПриема, ДополнительныеНачисленияБазаОсновныеНачисления.БазовыйПериодНачало, МЕСЯЦ) + 1) / 12 - 0.5 КАК ЧИСЛО(10, 0)) КАК СтажРаботы
|ПОМЕСТИТЬ ДанныеБазы
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измерение,
| &Измерение,
| ,
| Регистратор = &Ссылка
| И ВидРасчета = &Премия) КАК ДополнительныеНачисленияБазаОсновныеНачисления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеБазы.НомерСтроки КАК НомерСтроки,
| ДанныеБазы.РезультатБаза КАК РезультатБаза,
| ДанныеБазы.СтажРаботы КАК Стаж,
| ТаблСтажа.Процент КАК Процент
|ИЗ
| ТаблСтажа КАК ТаблСтажа,
| ДанныеБазы КАК ДанныеБазы
|ГДЕ
| ДанныеБазы.СтажРаботы >= ТаблСтажа.ТН_Граница
| И ДанныеБазы.СтажРаботы < ТаблСтажа.ТВ_Граница";

Измерение = Новый Массив;
Измерение.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Измерение", Измерение);
Запрос.УстановитьПараметр("Премия", ПланыВидовРасчета.ДополнительныеНачисления.Премия);
Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаПремия = РезультатЗапроса.Выбрать();

Для каждого СтрНабора Из Движения.ДополнительныеНачисления Цикл

Если СтрНабора.ВидРасчета <> ПланыВидовРасчета.ДополнительныеНачисления.Премия Тогда
Продолжить;
КонецЕсли;

ВыборкаПремия.Сбросить();
ВыборкаПремия.НайтиСледующий(СтрНабора.НомерСтроки, "НомерСтроки");

СтрНабора.Результат = ВыборкаПремия.РезультатБаза * ВыборкаПремия.Процент / 100;
СтрНабора.Процент = ВыборкаПремия.Процент;
    СтрНабора.Стаж = ВыборкаПремия.Стаж;
СтрНабора.Размер = ВыборкаПремия.РезультатБаза;

КонецЦикла;

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


КонецПроцедуры
 
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Xamele0n от Август 19, 2019, 01:36:37 pm
Спасибо за приведенный пример, так реально проще и быстрее.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Август 19, 2019, 01:46:00 pm
Ещё рекомендую обратить внимание на такой нюанс
Особенности функции языка запросов РАЗНОСТЬДАТ https://its.1c.ru/db/metod8dev#content:2666:hdoc
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SpiRUS от Август 26, 2019, 01:45:19 pm
Здравствуйте. Если у кого будет время посмотрите пожалуйста
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Август 27, 2019, 01:25:22 am
Здравствуйте. Если у кого будет время посмотрите пожалуйста

Пробежал глазами по решению.
В целом мне понравилось. Особенно порадовал аккуратный понятный код.

Из того, что всё-таки заметил:
1) Приходная накладная - не нужно записывать пустой набор записей. Пустой набор нужно записывать лишь при старой методики контроля остатков для того, чтобы при получении данных из таблицы остатков не учесть движения текущего документа. Здесь это точно лишняя записи в базу данных.
2) Расходная накладная
При списании с регистра Партии допускается писать на экзамене вместо конструкции:
Движение.Сумма = ?(Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоОстаток,
    ВыборкаДетальныеЗаписи.СуммаОстаток, 
    ВыборкаДетальныеЗаписи.Суммаостаток / ВыборкаДетальныеЗаписи.КоличествоОстаток * Движение.Количество);
конструкцию:
Движение.Сумма = Движение.Количество / ВыборкаДетальныеЗаписи.КоличествоОстаток * ВыборкаДетальныеЗаписи.СуммаостатокРезультат будет тот же, код меньше. Но это на Ваше усмотрение.
3) Смущает пустой модуль объекта ПередЗаписью. Добавили бы заполнение Периода датой документа и управлению Активностью при установки пометки удаления. Но опять же последние замечания от экзаменаторов по этому поводу были довольно давно, возможно сейчас на это при проверке закрывают глаза.
4) Расчетная часть. Вы же рассчитываете значение стажа при вычислении суммы по Премии, почему бы не добавить реквизит в регистр расчета со стажем и в него сразу не помещать эту информацию. Необходимо стремиться к тому, чтобы отчет максимально быстро формировался, а у Вас будет для каждого сотрудника снова рассчитываться стаж.
5) Условие о том, что все работают по пятидневке, однако в решении необходимо предусмотреть возможность работы по различным графикам подразумевает не только измерение График в регистре графиков работы. Необходимо и в документ добавить соответствующий реквизит и в регистр. Иначе непонятно как в Вашем решении можно реализовать работу не по пятидневке.
5) Регистр адресации у Вас заполнен неверно, не вижу, чтобы у Вас были занесены все кладовщики, все бухгалтеры в регистр адресации.
6) Реквизиты адресации в задаче не связаны с соответствующими измерениями регистра адресации.
7) На рабочий стол нужно вынести форму списка невыполненных задач текущего пользователя, а не просто форму списка задач.

И вообще расчетная часть этого билета претерпела некоторые изменения - были сведения, что согласно условию необходимо добавить кнопку "Рассчитать" в документ начисления зарплаты, по нажатию на которую будет выполняться расчет результатов по каждой строке табличной части документа и сразу отображаться в этой самой табличной части в дополнительных колонках. А при проведении уже данные из табличной части помещаются в регистр.
Но опять же довольно плотно слежу за этим экзаменом и могу сказать, что это условие последние несколько месяцев не попадало никому, на дистанционной сдаче по крайней мере. Возможно его исключили.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: SpiRUS от Август 27, 2019, 09:10:06 am
Здравствуйте. Если у кого будет время посмотрите пожалуйста

Пробежал глазами по решению.


Большое спасибо за замечания) Все исправлю. БП первый раз делал, так что понакосячил
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Prog3rrr от Сентябрь 03, 2019, 03:51:50 am
Ребята, здравствуйте. Сделал ПР из 1ого билета, покритикуйте. Заранее благодарен.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Amorality от Сентябрь 04, 2019, 06:04:41 am
По сложившейся традиции попрошу оценить свое решение, буду рад любым замечаниям и обнаруженным ошибкам, заранее спасибо :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Рамзис от Сентябрь 12, 2019, 12:10:47 pm
Если списание товаров должно быть организовано по партиям, это значит что нужен отдельный регистр накопления ПартииТоваров или можно обойтись одним ОстаткиТоваров, в котором будет и ресурс сумма и измерение партия, объясните пожалуйста данный вопрос
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Сентябрь 12, 2019, 01:01:47 pm
Если списание товаров должно быть организовано по партиям, это значит что нужен отдельный регистр накопления ПартииТоваров или можно обойтись одним ОстаткиТоваров, в котором будет и ресурс сумма и измерение партия, объясните пожалуйста данный вопрос
Здесь нужно 2 регистра накопления, потому что себестоимость надо расчитывать по всей номенклатуре. Применять надо для записи в регистр остатков старую методику проведения, то есть сначала записать, а потом проверить, не ушли ли мы в минус.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Рамзис от Сентябрь 12, 2019, 02:50:34 pm
В обработке проведения расходной накладной в первом запросе создается временная таблица, чтобы использовать ее в следующем запросе
Процедура ОбработкаПроведения(Отказ, Режим)
   Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество,
      |   СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма
      |ПОМЕСТИТЬ ТабЧасть
      |ИЗ
      |   Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
      |ГДЕ
      |   РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
      |   И РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
      |
      |СГРУППИРОВАТЬ ПО
      |   РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
      |
      |ИНДЕКСИРОВАТЬ ПО
      |   Номенклатура
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ТабЧасть.Номенклатура КАК Номенклатура,
      |   ТабЧасть.Количество КАК Количество,
      |   ТабЧасть.Сумма КАК Сумма
      |ИЗ
      |   ТабЧасть КАК ТабЧасть";
   
   Запрос.УстановитьПараметр("ВидНоменклатуры", Перечисления.ВидыНоменклатуры.Товар);
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      // регистр ОстаткиНоменклатуры Расход
      Движение = Движения.ОстаткиНоменклатуры.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Склад = Склад;
      Движение.Количество = ВыборкаДетальныеЗаписи.Количество;
   КонецЦикла;
   
   Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
   Движения.ОстаткиНоменклатуры.Записать();
КонецПроцедуры

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

Делаю как в примере, там это работает, у меня нет, не знаю что делать с этим

Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Сентябрь 12, 2019, 03:12:37 pm
Там строка есть наверное, Запрос = новый Запрос; если делаете конструктором. Надо ее удалить. А вообще если есть сложности с менеджером - можно без него - Белоусов так сказал.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Рамзис от Сентябрь 12, 2019, 03:16:56 pm
Да в следующем запросе не должно быть строки Запрос = Новый Запрос, два часа потратил на этот вопрос, спасибо
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Сентябрь 12, 2019, 03:45:21 pm
Я делал так: создавал запрос, выбирал документ, переименовывал его как нужно, доделывал запрос а потом после выхода из конструктора удалял строку Запрос = Новый Запрос.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: letyurij от Сентябрь 12, 2019, 03:54:33 pm
На экзамене МВТ использовать НЕ НАДО. Плюсов вам за него не добавят, а время потратите. Используйте конструктор и не заморачивайтесь.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: DanJer74 от Сентябрь 12, 2019, 03:57:49 pm
На экзамене МВТ использовать НЕ НАДО. Плюсов вам за него не добавят, а время потратите. Используйте конструктор и не заморачивайтесь.

Белоусов на курсе говорил, что это на экзамене это не критично совершенно. Умеете - пользуйтесь, не умеете - не надо :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Никулин Леонид от Октябрь 01, 2019, 06:35:14 pm
Добрый день!

Сделал первый билет. Микрозадача по оперативному учету. Уважаемые знатоки, проверьте, пожалуйста
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Никулин Леонид от Октябрь 02, 2019, 08:34:39 pm
Добрый день! Еще короткий вопрос. Начал решать микрозадачу по бухгалтерскому учету. По условию необходимо использовать субконто "Срок годности". Какой тип значения использовать? Можно дату, можно ссылку. Правильно ли я понимаю что более правильно остановиться на ссылке?
Еще. Посмотрите, пожалуйста решение оперативной задачи. Решение в прошлом сообщении выше
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Декабрь 27, 2019, 10:17:50 am
Я не знаток, но срок годности делаю "дата". Насколько знаю при решении такое допустимо, кто-то делает смотрел видео Чистова он там делает через справочник где заводит элементы по срокам годности, объясняя это тем что так более рационально использовать этот механизм, можешь посмотреть это видео находится в общем доступе.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Декабрь 28, 2019, 02:25:28 am
Я не знаток, но срок годности делаю "дата". Насколько знаю при решении такое допустимо, кто-то делает смотрел видео Чистова он там делает через справочник где заводит элементы по срокам годности, объясняя это тем что так более рационально использовать этот механизм, можешь посмотреть это видео находится в общем доступе.
Примитивный тип в качестве типа субконто - не есть хорошо. Но в рамках экзамена допускается. Баллов за это не снимут.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: серж от Январь 06, 2020, 11:40:08 am
Я не знаток, но срок годности делаю "дата". Насколько знаю при решении такое допустимо, кто-то делает смотрел видео Чистова он там делает через справочник где заводит элементы по срокам годности, объясняя это тем что так более рационально использовать этот механизм, можешь посмотреть это видео находится в общем доступе.
Принимающие экзамен очень скептически относятся к любым источникам информации кроме своих курсов. Посмотрите курс Белоусова, я по нему подготовился и сдал вообще без проблем.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Новобранец от Январь 07, 2020, 01:20:17 pm
Эксперты, а кто может подсказать почему у меня не получается сделать отбор по исполнителю, на форме списка делаю обновить и все задачи видны, может кто-то что- то сказать по этому вопросу?
Форма списка не основная, рабочая область начальной страницы тоже настроена верно, по исполнителю. Или это какой-то баг?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Рамзис от Январь 12, 2020, 02:42:48 pm
В билете в оперативном учете есть склад, а в бухгалтерском нет, а решение должно быть в одной конфигурации, как решается данный вопрос?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Михаил Проходцев от Январь 13, 2020, 07:14:29 pm
В билете в оперативном учете есть склад, а в бухгалтерском нет, а решение должно быть в одной конфигурации, как решается данный вопрос?
Добавляете в документ реквизит "Склад" и используете его только при формировании движений по оперативному учету. В чем проблема то?
Такая ситуация не единичная далеко.
В 6 билете, например, в документе "Приходная накладная" склад в задаче оперативного учета добавляется в шапку документа, а в задаче бухгалтерского учета указывается в табличной части. Добавляете и туда и туда, но при написании кода обработки проведения опираетесь в каждом разделе на "свой" склад.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: LEX_CH от Февраль 04, 2020, 11:25:21 am
Здравствуйте. Если у кого будет время посмотрите пожалуйста

Пробежал глазами по решению.


Большое спасибо за замечания) Все исправлю. БП первый раз делал, так что понакосячил


Я посмотрел вашу задачу по ОУ.
Я сам только готовлюсь. Но разбор чужих решений полезен. Может и меня кто поправит)
Я не увидел решения списания ФИФО ЛИФО. Есть проверка да. Но где упорядочивание в запросе? По идее задача не решена.
Из того что еще увидел вы блокируете услуги. Не исключаете их в приходе. (как я понял когда решали считали что мы их будем подсчитывать). Но в расходе вы их убираете. И вообще с услугами в я не понял ваше решение. Где то есть они где то нет.
Группируете все по номенклатуре в приходе. То есть пользователь не может оприходовать ручку за 20 и ручку  за 30. Не знаю правильно ли это.
Нет проверки на пустоту после запроса по себестоимости. Остатков на складе может и не быть. Выборка довольно сложная операция. Если запрос пустой зачем выбирать?
Нет форм для документов. Лучше было бы создать (для проверки вывести туда ссылки на регистры думаю вам экзаменатор спасибо скажет).
И в формах можно будет избавиться от 0 и пустоты при вводе пользователем. 

В общем по ОУ все что заметил. С отчетом могу ошибаться но почему не надо ресурс рассчитывать по складу не понял.









Название: Re: Билет 1. Спец по платформе V8
Отправлено: Shaker84 от Февраль 06, 2020, 06:20:26 pm
Друзья, посмотрите, пожалуйста мое решение билета. Жду критики, спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: LEX_CH от Февраль 07, 2020, 04:15:43 pm
Друзья, посмотрите, пожалуйста мое решение билета. Жду критики, спасибо.

Вопрос 1. Зачем вы делаете лишний пакет в первом запросе?. В вашем решении можно было бы обойтись одним.
Вопрос 2. Зачем индекс по номенклатуре в первом запросе? Вы нигде не вяжете по ней ничего.
Вопрос 3. А не лучше ли параметры задать во втором пакете чтобы не тащить их ?
Вопрос 4. Перед вторым запросом зачем дважды устанавливать маркер записи?
Вопрос 5. В блокировку попадают услуги?.
Вопрос 6. Вы забыли отобрать конкретный документ для себестоимости и будете читать со всех документов.
Вопрос 7 Если товара не хватает вы не прерываете работу и считаете себестоимость. По идее вы проверяете достаточность выше. Не знаю насколько это грубая ошибка. Одни говорят надо проверять все регистры. Другие нет.

Вот все что увидел. Сам тоже готовлюсь


Название: Re: Билет 1. Спец по платформе V8
Отправлено: Shaker84 от Февраль 07, 2020, 06:23:35 pm
Вопрос 1. Зачем вы делаете лишний пакет в первом запросе?. В вашем решении можно было бы обойтись одним.
Вопрос 2. Зачем индекс по номенклатуре в первом запросе? Вы нигде не вяжете по ней ничего.
Вопрос 3. А не лучше ли параметры задать во втором пакете чтобы не тащить их ?
Вопрос 4. Перед вторым запросом зачем дважды устанавливать маркер записи?
Вопрос 5. В блокировку попадают услуги?.
Вопрос 6. Вы забыли отобрать конкретный документ для себестоимости и будете читать со всех документов.
Вопрос 7 Если товара не хватает вы не прерываете работу и считаете себестоимость. По идее вы проверяете достаточность выше. Не знаю насколько это грубая ошибка. Одни говорят надо проверять все регистры. Другие нет.

Вот все что увидел. Сам тоже готовлюсь

  1. Первый пакет первого запроса делается в ОбработкеПроведения для получения временной таблицы ТЧСписокНоменклатуры, которая потом используется в запросе(отбор в условии виртуальной таблицы регистра по номенклатуре) на получение данных из РН ОстаткиНоменклатуры.
  2. Индексация, потому что во втором запросе идет левое соединение по номенклатуре, где был отбор виртуальной таблицы по номенклатуре из ТЧСписокНоменклатуры.
  3. Точно не знаю, но я думаю, что лучше подготовить поля ВТ перед помещением в хранилище, а потом просто выбрать. Но не знаю как было бы правильнее.
  4. При запросе к РН Себестоимость? Потому что при перепроведении(со сдвигом даты вперед) будут учитываться старые движения документа, а так очищаем старые движения таким методом. Старая методика.
  5. Да, блокировку по ВидуНоменклатуры не установил. А если ее не ставить, будет ли это ошибкой(не только для экзамена, но и в практике), ведь никакого учета по данному виду товара в РН Себестоимость не ведётся? Было бы интересно.
  6. Да, ошибка. Забыл сделать отбор по регистратору ТЧ документа. Спасибо)
  7. Точно, забыл установить "Отказ = Истина" в условии и "Продолжить". Вообще везде говорят, что нужно во всех регистрах проверять на отрицательные остатки. Вроде даже сам Белоусов такое говорил.
  Спасибо за оценку. Надо быть внимательнее.  :)
Название: Re: Билет 1. Спец по платформе V8
Отправлено: LEX_CH от Февраль 10, 2020, 12:11:52 pm
Вопрос 1. Зачем вы делаете лишний пакет в первом запросе?. В вашем решении можно было бы обойтись одним.
Вопрос 2. Зачем индекс по номенклатуре в первом запросе? Вы нигде не вяжете по ней ничего.
Вопрос 3. А не лучше ли параметры задать во втором пакете чтобы не тащить их ?
Вопрос 4. Перед вторым запросом зачем дважды устанавливать маркер записи?
Вопрос 5. В блокировку попадают услуги?.
Вопрос 6. Вы забыли отобрать конкретный документ для себестоимости и будете читать со всех документов.
Вопрос 7 Если товара не хватает вы не прерываете работу и считаете себестоимость. По идее вы проверяете достаточность выше. Не знаю насколько это грубая ошибка. Одни говорят надо проверять все регистры. Другие нет.

Вот все что увидел. Сам тоже готовлюсь

  1. Первый пакет первого запроса делается в ОбработкеПроведения для получения временной таблицы ТЧСписокНоменклатуры, которая потом используется в запросе(отбор в условии виртуальной таблицы регистра по номенклатуре) на получение данных из РН ОстаткиНоменклатуры.
  2. Индексация, потому что во втором запросе идет левое соединение по номенклатуре, где был отбор виртуальной таблицы по номенклатуре из ТЧСписокНоменклатуры.
  3. Точно не знаю, но я думаю, что лучше подготовить поля ВТ перед помещением в хранилище, а потом просто выбрать. Но не знаю как было бы правильнее.
  4. При запросе к РН Себестоимость? Потому что при перепроведении(со сдвигом даты вперед) будут учитываться старые движения документа, а так очищаем старые движения таким методом. Старая методика.
  5. Да, блокировку по ВидуНоменклатуры не установил. А если ее не ставить, будет ли это ошибкой(не только для экзамена, но и в практике), ведь никакого учета по данному виду товара в РН Себестоимость не ведётся? Было бы интересно.
  6. Да, ошибка. Забыл сделать отбор по регистратору ТЧ документа. Спасибо)
  7. Точно, забыл установить "Отказ = Истина" в условии и "Продолжить". Вообще везде говорят, что нужно во всех регистрах проверять на отрицательные остатки. Вроде даже сам Белоусов такое говорил.
  Спасибо за оценку. Надо быть внимательнее.  :)

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

3. Я не знаю как правильно. Но если можно не помещать в ВТ лишние поля то зачем это делать. Вы же ее дальше используете это же не разовая операция и везде будут эти поля. Опять же я не говорю что так делать нельзя. Это то что я бы сделал иначе

7. Я не знаю как правильно. Я бы проверял все. Тем более если Белоусов говорит.

Опять же все что я заметил это мои личные вопросы. Если у вас есть правильные ответы на них то тогда хорошо.  Может вам никто их и не задаст.
У меня к Вам вопрос, зачем не проверенное решение выкладывать на форум? Если бы вы хоть раз запустили предприятие создали пару документов вы бы увидели что неправильно работает ваш код. И нашли бы сами эти ошибки по невнимательности. Такие ошибки находятся сразу.



Название: Re: Билет 1. Спец по платформе V8
Отправлено: Shaker84 от Февраль 10, 2020, 06:11:40 pm
1. Я вижу что вы делаете. Вопрос в том насколько это рационально. Почему вы не сделали пакет один и не использовали ВыполнитьПакет(). А сделали именно два пакета, вопрос задаст экзаменатор? Я конечно не знаю, может и не задаст хз, но у меня в голове первый вопрос...если я пишу лишний пакет то зачем он мне нужен. Я в своем решении допустим это делал для того чтобы получить сгруппированную таблицу без услуг которая ушла как источник данных для блокировки. Чтобы не блокировать лишние записи. У вас идет блокировка ТЧ полной. Зачем вам тут второй пакет?

3. Я не знаю как правильно. Но если можно не помещать в ВТ лишние поля то зачем это делать. Вы же ее дальше используете это же не разовая операция и везде будут эти поля. Опять же я не говорю что так делать нельзя. Это то что я бы сделал иначе

7. Я не знаю как правильно. Я бы проверял все. Тем более если Белоусов говорит.

Опять же все что я заметил это мои личные вопросы. Если у вас есть правильные ответы на них то тогда хорошо.  Может вам никто их и не задаст.
У меня к Вам вопрос, зачем не проверенное решение выкладывать на форум? Если бы вы хоть раз запустили предприятие создали пару документов вы бы увидели что неправильно работает ваш код. И нашли бы сами эти ошибки по невнимательности. Такие ошибки находятся сразу.

 1. Первая выборка делается для Временной таблицы, вторая выборка для выборки данных, которые записываем в движения по регистру. Не знаю где вы там увидели всю ТЧ документа, если там тоже отбор стоит на ВидНоменклатуры, перед помещением в хранилище и неявная управляемая блокировка блокирует значение измерений в данном наборе записей.
 То есть, я хочу сказать, что тут два пакета выборки и не нужно делать. Один пакет для ВТ, второй для записи в регистр выборки из той же ВТ.
 7. Я и так по всем регистрам проверял остатки.
     Я свое решение, в режиме 1С Предприятие, конечно же проверял. И если вы запустите мое решение и попробуете вводить тестовые данные, то увидите, что мои ошибки, которые я признал, не влияют на работоспособность моего решения.

 Можете скинуть мне свое решение, чтобы я нагляднее увидел о чем вы говорите, если захотите. Спасибо.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: JohnGalt от Апрель 06, 2020, 04:23:45 am
Начал подготовку к экзамену, удалось решить первый билет,
если есть у кого возможность, оцените решение.
Жду конструктивной критики.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Рамзис от Апрель 14, 2020, 03:59:14 pm
В билете один "актуальных билетов" в задаче БУ появляется срок годности как реквизит приходной. При заведении примеров как быть, дозаполнить в имеющихся накладных срок годности или новые приходные делать?
Название: Re: Билет 1. Спец по платформе V8
Отправлено: turich79 от Апрель 20, 2020, 10:57:19 am
Начал подготовку к экзамену, удалось решить первый билет,
если есть у кого возможность, оцените решение.
Жду конструктивной критики.
сам тоже сижу прорешиваю Расчетные задачи, судя по моей версии Актуальных билетов, в билете 1 вроде как нет необходимости разбивать оклад на части в течении расчетного периода, то бишь оклад надо брать лишь на начало расчетного периода из документа, получается сильно усложнили решение
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ильнур1975 от Май 18, 2020, 06:35:20 pm
по-моему  в этом билете в задаче ОУ неоднозначная постановка задачи. С одной стороны нужно вести складской учет, с другой стороны - себестоимость нужно считать по партиям независимо от того на каком складе есть товар.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Кот16 от Июнь 08, 2020, 03:15:02 pm
по-моему  в этом билете в задаче ОУ неоднозначная постановка задачи. С одной стороны нужно вести складской учет, с другой стороны - себестоимость нужно считать по партиям независимо от того на каком складе есть товар.

И в чём проблема? Себестоимость же считается вне зависимости от склада.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vldeemer от Июнь 25, 2020, 02:46:45 pm
Здравствуйте!
У меня приключилась странная ситуация - в конфигураторе установил признак учета субконто (Суммовой) у одного субконто, а в режиме предприятия он стоит у обоих! Со всеми вытекающими в виде неверного учета себестоимости. Подскажите, какие пляски с бубном нужны для лечения?
Upd: проблема решилась снятием флага учета с нужного субконто + установкой флага на ненужном + снятием с него же + установкой флага на нужном. Между изменениями, разумеется, сохранение конфигурации.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ильнур1975 от Июнь 25, 2020, 02:53:45 pm
Проверьте какие флажки выбраны или сняты в предопределенных счетах. и в конфигураторе , и в 1с.
Скажу по секрету только в нескольких задачах из сборника нужно использовать признак учета субконто "суммовой", многие задачи решаются без него.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vldeemer от Июнь 25, 2020, 03:31:20 pm
Проверьте какие флажки выбраны или сняты в предопределенных счетах. и в конфигураторе , и в 1с.
В конфигураторе на одном субконто, в 1С - на обоих. Это расчет себестоимости по номенклатуре (первое субконто) без учета срока годности (второе), так что признак нужен.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ильнур1975 от Июнь 25, 2020, 06:57:53 pm
В этой задаче просто такая ловушка.
Зачем использовать признак учета субконто "суммовой", для получения каких данных? Просто , что так как бы по теории бух.учета!!!
В этом случае не верно делать решение расчета себестоимости подобно учету по субконто склады.
аналитика по субконто срок годности - никак даже далеко не похожа на аналитику по субконто склады.

склад, например, один - много номенклатуры.
у каждой номенклатуры много сроков годности.
 
А в решении достаточно один раз взять данные из регистра и в запросе рассчитать себестоимость единицы.
Ресурс "Сумма" и "Количество"  так и так будут на субконто номенклатура. А количество по срокам годности получается при обходе выборки номенклатуры, и далее списание по срокам годности.

Зачем еще раз брать данные по количеству по срокам годности из регистра!!! Это лишнее.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vldeemer от Июнь 29, 2020, 11:22:26 am
Утверждать не буду, но на курсе Павла Белоусова вроде звучала такая мысль, что если речь идет о расчете себестоимости номенклатуры без учета какого-то субконто, то необходимо использовать именно признак учета субконто. И связано это было (опять же вроде, надо пересматривать несколько занятий) с тем, что при использовании этого признака не формируются лишние записи. Но вот что точно, так это то, что в решении домашней задачи БУ №3 у меня была ошибка, связанная именно с отсутствием признака учета субконто (себестоимость рассчитывается как средняя по каждому свойству сразу  по всем складам).
Название: Re: Билет 1. Спец по платформе V8
Отправлено: Ильнур1975 от Июнь 29, 2020, 01:28:37 pm
в том то и дело что "суммовой" относится к складам, а не к другим субконто. Себестоимость ведь рассчитывается не у свойства, а у  номенклатуры с таким свойством, а номенклатура находится на складах. На складах свойств нет.
Название: Re: Билет 1. Спец по платформе V8
Отправлено: vldeemer от Июнь 29, 2020, 02:12:52 pm
То, что можно обойтись без признаков учета субконто в решении конкретной задачи, я понимаю. Но на курсе отмечалось, что фразы, относящиеся к расчету себестоимости, введены в том числе и для проверки понимания этого механизма + в решении билета (ссылка на которое есть в телеграм-канале) сделано именно так.