Только начинаю подготовку к экзамену, посмотрите оперативный учет, у кого время есть, чтоб хоть определиться в том ли направлении двигаюсь. Заранее спасибо большое!
В РН установить индексацию по измерениям.
Думаю, вы в курсе, что такое
Тз = РезультатЗапроса.Выгрузить();
не следует оставлять в коде при сдаче экзамена.
При расчете с/с списания в расх накладной я бы посоветовал писать, например, так:
Движение.Себестоимость = ? (ВыборкаНоменклатураТЧ.КоличествоОстаток = ВыборкаНоменклатураТЧ.КоличествоТЧ, ВыборкаНоменклатураТЧ.СебестоимостьОстаток, ВыборкаНоменклатураТЧ.СебестоимостьОстаток / ВыборкаНоменклатураТЧ.КоличествоОстаток * ВыборкаНоменклатураТЧ.КоличествоТЧ);
Вот здесь только что это обсуждали
http://forum.chistov.pro/index.php?topic=3705.msg42184#msg42184Тем не менее, судя по практике сдачи, лучше всё же использовать такую конструкцию.
В расх накладной вот эту строку
Пока Выборка.Следующий() Цикл,
думаю, надо дополнить
Пока Выборка.Следующий() И НужноСписать > 0 Цикл,
иначе у вас может списаться больше нужного (вообще, в целях избежания таких ситуаций, полезно хотя бы в первое время проверять вводом большего количества данных в польз режиме).
Снова в расх накладной: нет необходимости писать отдельный код для ситуации Если Метод = Перечисления.УчетнаяПолитика.ПоСредней, т.к. вторая часть отработает в этой ситуации точно так же.
Когда последний момент смотрел, что-то непонятное в запросе увидел. Что там за итоги по партиям? По партиям уже детальные записи идут, плюс странное двойное упорядочивание по моменту времени (хотя последнее, скорее всего - очепятка).
В документе изменения учетной политики вы делаете расход по старым партиям и приход по новым. Думаю, это не корректно, ведь никакого расхода на самом деле нет. Я делал по старым партиям приход с минусом.
В изменении учетной политики в запросе группировки не нужны, в вирт таблице вся инфа уже готова к использованию.
Технический момент, опять же в изменении учетной политики, думаю, код
Движение = Движения.УчетнаяПолитика.Добавить();
Движение.Период = Дата;
Движение.УчетнаяПолитика = УчетнаяПолитика;
следует писать до условия, он же у вас просто дублируется и отрабатывает, не зависимо от соблюдения условия.
Код в начале каждого модуля, аналогичный вот этому
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.Записать();
комментировать не буду. Скажу лишь, что я делал как рекомендуется тут
http://1c.chistov.pro/2013/07/blog-post_25.htmlвопросов не было.
Но в связи с этим еще нюанс. Вы разрешаете оперативное проведение, однако, не обрабатываете эту ситуацию. Думаю, лучше всё же запретить оперативное проведение (тогда по ссылке соответствующие проверки не делать).
ПС. Нет проверки на услуги (хотел посмотреть, не будет ли она в виде неявного запроса в цикле ) ).