Последняя версия DataExpress 3 beta от 2 ноября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Копировать в регистр

Расширение функционала и существующих возможностей программы с помощью модулей выражений и плагинов от сторонних разработчиков.
Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Копировать в регистр

Сообщение admin » Чт сен 20, 2018 11:31 pm

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

Для того, чтобы легче было разобраться с настройками действия сделал такой сводный рисунок на примере демо-базы.
REGISTERDEMO.png
REGISTERDEMO.png (94.08 КБ) 340 просмотров


dxdb_icon Еще демо.
Вложения
Registers.zip
(6.96 КБ) 31 скачивание
REGISTERDEMO.zip
(83.08 КБ) 28 скачиваний

Vofka18
Интересующийся
Сообщения: 140
Зарегистрирован: Вс мар 04, 2018 4:54 pm

Re: Копировать в регистр

Сообщение Vofka18 » Пн окт 15, 2018 10:05 am

Добрый день, очень не хватало подобного функционала, наконец добрался, чтоб позаниматься своей БД и внедрить данное расширение, но есть пару вопросов, подскажите.
Решил использовать данное расширение, для очень ответственной задачи в моей БД, это учет остатков по партиям(по моему, это самое правильное решение). Создать два регистра по приходам и расходам, и остатки вычислять уже из регистров а не из документов прихода\расхода.
Так вот собственно вопросы:
1) По назначению ли я буду использовать данное расширение? Будут ли какие подводные камни, чтоб по максимуму смог их предусмотреть. (в плане, может кто уже реализовал подобное, были ли какие проблемы)
2) В вычисляемых полях регистров, можно ли прописать какую нить функцию для запрета проведения по условию? Тоесть если у меня не достаточно остатков, чтобы программа выдала сообщение и не провела документ? Если нет такой возможности, подскажите где прописать подобное условие, чтобы не сломать логику всего расширения.
Заранее благодарен!

Аватара пользователя
Гocть
Эксперт
Сообщения: 1248
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Копировать в регистр

Сообщение Гocть » Пн окт 15, 2018 11:01 am

Vofka18 писал(а):остатки вычислять уже из регистров а не из документов прихода\расхода
Vofka18 писал(а):По назначению ли я буду использовать данное расширение?

Скорее всего нет, т.к. этот регистр больше напоминает "регистр сведений", а вам для учета приход/расход нужен "регистр накопления" (остатков). Это уже другой вид регистра с иной логикой.

Вот к примеру я dxdb_icon добавил 2 отдельных меню (нужно посчитать сколько ушло яиц куриных):
Изображение
По регистру мы видим то что внесли, но подсчет данных будет почти равносилен прямому пересчету документов. Нам же нужна готовая цифра 6 в "сколько всего яиц мы потратили".

Vofka18 писал(а):2) В вычисляемых полях регистров, можно ли прописать какую нить функцию для запрета проведения по условию?

Если это "регистр накопления", то без проблем можно его оперативно опросить перед проведением в "проверке значения".
Фрилансер. Разработка на заказ. Консультирование.

Vofka18
Интересующийся
Сообщения: 140
Зарегистрирован: Вс мар 04, 2018 4:54 pm

Re: Копировать в регистр

Сообщение Vofka18 » Пн окт 15, 2018 11:32 am

Гocть писал(а):а вам для учета приход/расход нужен "регистр накопления" (остатков). Это уже другой вид регистра с иной логикой.

А случайно нет ли у вас никакой наработки в данном направлении? Изначально думал, что все эти регистры, примочки 1С-ки, и они не пригодятся при разработке своей базы. Плюс отсутствие опыта в построении архитектуры БД. А сейчас когда база уже работает, постоянно вылазят всякие проблемы и приходится аккуратненько менять все, не потеряв данных(ну в плане чтоб остатки остались правильными...), и постепенно вникая во все эти вопросы, понимаю что "проведение" это не просто галочка в документе :D, и данные по проводкам следует хранить отдельно...
А до конца не понимаю что именно нужно сделать... тут по сути вопрос не по Dataexpress, а по архитектуре БД :(

Аватара пользователя
Гocть
Эксперт
Сообщения: 1248
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Копировать в регистр

Сообщение Гocть » Пн окт 15, 2018 12:03 pm

Готовой наработки нет, есть только общее представление о процессах учета. Даже отдельно взятые разработчики типовых конфиг 1С иногда не имеют полного представления о той архитектуре, которую они создают, ну а чтобы такое нечто похожее реализовать в DataExpress нужно много времени, больше опыта и мозги не одного умника.
Регистры придумали внедрять в 1С, но наверное они не открыли этим америку а просто внедрили как способ оптимизации работы с бд и расширили под частые задачи и законодательство РФ (регистр бухгалтерии, например) и других стран потребителей.
Фрилансер. Разработка на заказ. Консультирование.

Vofka18
Интересующийся
Сообщения: 140
Зарегистрирован: Вс мар 04, 2018 4:54 pm

Re: Копировать в регистр

Сообщение Vofka18 » Пн окт 15, 2018 12:12 pm

Гocть писал(а):Готовой наработки нет, есть только общее представление о процессах учета. Даже отдельно взятые разработчики типовых конфиг 1С иногда не имеют полного представления о той архитектуре, которую они создают, ну а чтобы такое нечто похожее реализовать в DataExpress нужно много времени, больше опыта и мозги не одного умника.
Регистры придумали внедрять в 1С, но наверное они не открыли этим америку а просто внедрили как способ оптимизации работы с бд и расширили под частые задачи и законодательство РФ (регистр бухгалтерии, например) и других стран потребителей.

Спасибо за ответ. А не подскажите где можно почитать именно о алгоритме поведения регистра накопления? А то везде натыкаюсь только на пример реализации в 1с , а что он из себя представляет "в нутри", так сказать, не могу нигде найти...

Аватара пользователя
Гocть
Эксперт
Сообщения: 1248
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Копировать в регистр

Сообщение Гocть » Пн окт 15, 2018 12:20 pm

Vofka18 писал(а):А то везде натыкаюсь только на пример реализации в 1с

Ну значит DataExpress вторая после 1С, где такая фича требуется :lol: .
Для понимания общих принципов работы могу лишь подтолкнуть к прочтению документации на официальном сайте 1с, а попробовать что-то можно в "версии для обучения программированию" (качается там же).
Фрилансер. Разработка на заказ. Консультирование.

cordek
Опытный
Сообщения: 251
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: Копировать в регистр

Сообщение cordek » Пн окт 15, 2018 7:06 pm

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

Аватара пользователя
Гocть
Эксперт
Сообщения: 1248
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Копировать в регистр

Сообщение Гocть » Пн окт 15, 2018 7:40 pm

cordek писал(а):отдельный по выводу остатков

Проводим документ, он разносится в регистр сведений, который в свою очередь вызывает процедуру пересчета товара в регистре остатков и в случае расхождений запрещает проведение документа и откатывает обе операции в обратном порядке? :shock:
Или я неправильно понял.
Фрилансер. Разработка на заказ. Консультирование.


Вернуться в «Расширения и плагины»