Базовый курс. Решение ДЗ №11
Решение второго задания по бухгалтерскому учету.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте
— залогиньтесь.
— залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись —
напишите нам на e-mail поддержки.
Аргумент по периодичности Регистратор прочел с опозданием
Спасибо за «грабли» по виртуальной таблице «ДвиженияССубконто», сам то я проскочил, движения запросил у вирт. Таблицы «Обороты», запрос к ней совсем простой
<code> Запрос.Текст =
“ВЫБРАТЬ
| РегистрУправленческийОбороты.Период КАК Дата,
| РегистрУправленческийОбороты.Регистратор КАК Документ,
| СУММА(РегистрУправленческийОбороты.СуммаОборотДт) КАК Дебет,
| СУММА(РегистрУправленческийОбороты.СуммаОборотКт) КАК Кредит
|ИЗ
| РегистрБухгалтерии.РегистрУправленческий.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, , ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.Контрагенты), Субконто1 = &Контрагент, , ) КАК РегистрУправленческийОбороты
|
|СГРУППИРОВАТЬ ПО
| РегистрУправленческийОбороты.Регистратор,
| РегистрУправленческийОбороты.Период
|
|УПОРЯДОЧИТЬ ПО
| Дата”;</code>
При просмотре решения (1CdevBase-HWSolution11-part17, ввод на основании документа Выписка), возник вопрос, как поведёт себя Ваш алгоритм, предположим, при кредитовом остатке на 62 счёте (от оптового покупателя поступил аванс, для резервирования партии)? Аналогично – наш аванс Поставщику. Смотря на запрос – мне кажется, что система будет формировать Выписку с возвратом этих сумм?…
Да, система поведет себя именно так как Вы предполагаете.
Будем считать это задуманным поведением.
Спасибо за решение!
В запросе к ВТ “ДвиженияССубконто” не нужно указывать ограничение на обрабатываемые счета? Ведь в плане счетов могут оказаться и другие счета с первым субконто типа “Контрагенты”, и движения по ним тоже попадут в результат запроса. Или я чего-то недопонял?
Все зависит от логики плана счетов. Если предполагать, что все счета с субконто Контрагенты влияют на взаморасчеты (я именно так и предполагал), то достаточно отбора по субконто. Если в плане счетов есть иные счета (комиссия и т.д.), то необходимо делать ограничение по списку счетов.
Вопрос: Все движения по количеству в БУ идут без умножения на коэффициент K, т.е не приводятся к базовым ЕИ, мне кажется, тут ошибка.
Да, спасибо, этот момент не учтен.
Еще вопрос: в в.таб. “ДвиженияССубконто” поля “Субконто1” нет в полях выборки, а только в полях условий. Я так понимаю, что т.к. аналитика “Субконто1” разворачивается для каждого счета? Равно как и “КорСубконто1”. Поясните, если можно.
Да, еще в ДЗ по-моему не наложено условие на активность записей. Пересмотрел урок по этой таблице, вспомнил, что туда попадают и не активные движения.
Да, условие в этом случае будет накладываться и на дебет и на кредит.
Про активность записей верно замечено, спасибо.
1.Неужели так плохо с “Остатки и обороты”? Есть ли реальные проблемы производительности данной таблицы?
2.При указании границ периодов более правильно использовать “Границу”, значит стоит себя к этому приучать?
3.Не применял конструкцию языка запросоы “В(Зн1, Зн2, …)”, теперь буду!
1. Таблица действительно тяжелая, особенно при периодичности Регистратор. Однако проблемы производительности наиболее остро будут стоять при использовании этой таблицы в транзакции, либо на очень большом объеме данных.
2. Да, стоит приучить, но следует помнить, что граница актуальна для ВТ Остатки.
Здравствуйте, Евгений.
При заполнении табличной части акта сверки я обращался к виртуальной таблице оборотов регистра бухгалтерии. У Вас же в этом случае работает запрос к таблице движений с субконто. Если я ошибся, то хотелось бы знать, в чем именно. При тестировании ошибок я не обнаружил.
С уважением, Юрий.
У многих задач существует несколько вариантов решения, которые приводят к правильному результату.
Правильно я понимаю, что в виртуальной таблице Обороты Вы использовали периодичность Регистратор?
В таком случае смысла от использования этой таблицы нет, ведь ВТ обороты предполагает, что будет получен итог оборота за некоторый период.
И система для получения данных по регистратору будет обращаться к таблицам детальных записей.
Я сейчас не могу однозначно сказать, что Вас способ будет работать медленнее приведенного в решении, но он не быстрее это 100%. Чтобы получить достоверный ответ нужно анализировать запросы, которые выполняет СУБД в зависимости от обращения к той или иной виртуальной таблице.
Тем не менее, если и будет разница, то речь идет о милисекундах, что для решаемой задачи роли не играет.
Спасибо большое за Ваш ответ, Евгений. Я действительно использовал периодичность Регистратор, и мне следовало бы представить, как в этом случае поведет себя система. Вы сделали это за меня. Только вот Вы говорили, что таблица движений с субконто – это единственная виртуальная таблица, в которой могут содержаться неактивные записи. Я думаю, что надо было их отфильтровать в запросе. Также мне кажется, что в документе реализации не надо дважды формировать движения по регистрам управленческого учета, что происходит в случае удачного завершения транзакции проведения.
Да, на активность проверять записи нужно в этом случае обязательно, спасибо.
>в документе реализации не надо дважды формировать движения по регистрам управленческого учета
Уточните, если документ Реализация успешно проводится, то по каким регистрам задваиваются движения?
Прошу прощения, это я ошибся насчет реализации. Просто там есть вызов функции ДвиженияПоОстаткамУпр() и процедуры ДвиженияПоРегистрамУпр(), вот они мне и показались одинаковыми. Впредь буду внимательнее.
Ничего страшного.
С нумерацией что-то не то :) После пункта 25 идет пункт 25, а затем 24.
Спасибо, исправлено!