Базовый курс. Решение ДЗ №9
Представляем решение 9-го задания, состоящее из 25 видео-уроков.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.
Здравствуйте, Евгений
Здесь тоже битые ссылки на видео. (см. конечные)
Добрый день!
Ссылки исправлены.
Добрый день. Я так понял U13 имеет ввиду что нет смысла от табличной части Набор, так как при проведении эта табличная часть заного перезопоняется. я считаю что она нужна ровно так же как нужен рекизит в документе курса валют, другое дело что данный вариант не доделан, но мы на этом и не заостряли внимания я так понял. Помню в УТ тоже есть невидимая ТЧ набора, которая тоже глючит при определенных действиях ))) А теперь хотел бы задать вопрос. когда вы пишите <code> (номерклатура, качество) в (Выбрать … )</code> если я правильно понимаю это лишь для того чтобы ускорить выборку из таблицы остатков – так? следовательно будет работать и без этого куска кода но медленее – так?
>другое дело что данный вариант не доделан, но мы на этом и не заостряли внимания я так понял.
То что табличная часть нужна, я думаю очевидно.
А вот что не доделано? Разумеется нужно обеспечить просмотр комплектующих (например, как это сделано в типовых), этого действительно не планировалось делать.
Что-то еще?
Собвственно вопрос был вот: А теперь хотел бы задать вопрос. когда вы пишите <code> (номерклатура, качество) в (Выбрать … )</code> если я правильно понимаю это лишь для того чтобы ускорить выборку из таблицы остатков – так? следовательно будет работать и без этого куска кода но медленее – так?
>следовательно будет работать и без этого куска кода но медленее – так
Да так. Если быть более точным – менее производительно.
Дело в том, что скорость доступа к данным зависит от многих факторов.
И иногда можно увидеть, что запрос без условия в параметрах ВТ выполняется быстрее, чем с условием.
Однако в общем случае скорость запросов с условием в параметрах ВТ выше.
Задание выполнила, все более и более разбираюсь, как пользоваться конструктором запросов. Также, никогда не обращала внимание на устойчивость документа. Не совсем до конца осмыслила планы видов характеристик, но надеюсь, при пересмотре осмысления добавится.
Появилось время – пересматривал… у меня вот так одним запросом и в регистр – даже в голову не приходило!
Большая просьба, нельзя ли вместе с видео решением ДЗ выкладывать и выгрузку базы, т.к. охото “пощупать” код решения руками, поскольку он обычно гораздо изящнее чем свой )) да и в качестве примера для дальнейшего изучения пригодится. Не охото набивать руками с видео материалов ))
Но ведь в каждом решении есть выгрузка ИБ.
См. в конце записи – “Выгрузка информационной базы доступна по ссылке.”
Мда… конец года сказывается, туплю на “ровном” месте ))) извиняюсь, если достал со совими глупостями
Я конечно не крупный специалист, но учет наборов меня поразил, класс!!! Сразу все стало на свои мета, почему в типовых есть куча табличных частей которые пользователю не видны. И опять же отличная демонстрация принципа – при проведении вся информацию должна храниться в документе.
Возник вопрос:
При выборе остатков по конкретной номенклатуре и качества Вы использовали конструкцию
<code> (номерклатура, качество) в (Выбрать … )</code>
А имеет ли значение порядок следования полей?
:)
Да, порядок имеет значение.
Система будет проверять совпадение кортежей.
То есть, если поменять местами: (качество, номенклатура) в (запрос остается без изменений). То будет пустой результат.
Проблема не правильности запроса, а в правильности подхода…
Ваше решение плохо применимо на практике, в связи с тем что с ним возникает масса проблем. Возникает необходимость поддерживать массу механизмов связанных со второй ТЧ писать дополнительный код для копирования-ввода на основании и т.д., кроме того потом придется очень долго объяснять менеджеру почему в двух документах одна и та же номенклатура-набор списывает разные комплектующие. Поэтому при реализации данной задачи крайне необходимо знать состав набора на ЛЮБУЮ дату, а не только “на сейчас”.
Пример: документ вводиться задним числом, совершенно очевидно что состав набора мог быть изменен, а документ должен списать именно тот состав набора который был на момент времени данного документа. Как это реализуется с помощью Вашего механизма ?
Поэтому исходя из практики я считаю представленный Вами механизм худшим из этих 3-х…
Состав комплектующих – скорее справочная информация, которая не изменяется во времени.
Если говорить о процессах производства (где спецификации могут меняться), то разумеется для их поддержки нужны другие объекты.
То есть в каждом внедрении нужно понимать, что требуется заказчику.
Поэтому спорить о методологии оторванной от потребностей пользователя большого смысла нет.
Представленное решение демонстрирует один из нестандартных подходов.
>писать дополнительный код для копирования-ввода на основании
Можно не писать и оставить как есть.
>кроме того потом придется очень долго объяснять менеджеру
В командной панели делается кнопка “Набор”, показывающая информацию.
>а документ должен списать именно тот состав набора который был на момент времени данного документа
Этот момент не является очевидным.
На этом тему можем считать закрытой.
Ваше решение содержит грубейшую ошибку. Попробуйте изменить количество комплектующих в наборе и провести реализацию. К примеру в составе набора гаек измените количество Гайка М8 с 10 на 10000 и попробуйте провести реализацию. Система откажется проводить реализацию, которая до этого превосходно проводилась!!! И вполне закономерно скажет что гает М8 не хватает. Вопрос – а для чего в таком случае Вы городили весь этот огород с дополнительной ТЧ, в которой храните состав наборов? Ваше решение худшее из всех возможных.
Представляется 2 корретных решения данной задачи:
1). Простое – запретить редактирование состава набора если по нему есть движения.
2). Регистр состав наборов сделать периодическим, либо подчиненным регистратору например документу “КомплектацияНаборов”, общий смысл – в КАЖДЫЙ МОМЕНТ ВРЕМЕНИ мы должны однозначно знать состав набора. Тогда при проведении на момент времени документа мы сможем однозначно определить состав набора, в том числе и при проведении задним числом.
>Ваше решение худшее из всех возможных.
Вы всерьез так считаете?
Зная ваш уровень, полагаю, вы шутите.
Вы, наверняка, увидели, что проблема кроется в неуниверсальности запроса, который обращается к таблице документа Поступление товаров. В то время как имя таблицы должно подставляться динамически.
Приведенные варианты в принципе допустимы.