Как в числовое поле объекта проставить по умолчанию значение из другого объекта

Статус
Новые ответы в этой теме размещать нельзя.

Nelli

Посетитель
#1
Здравствуйте. В базе я новичок, возможно задаю заезженный вопрос, но, сама разобраться не смогла.
Создаю в РУНЕ базу себестоимости продукции. В структуре объекта создается некий калькулятор, где я проставляю количество материала при вводе продукции, цену и стоимость высчитывается самостоятельно (поле расчет и в нем формула). Встает вопрос как цену внести из справочника, чтобы в дальнейшем не править громадную базу данных с тысячью позиций, а просто исправить прайс и вся база пересчиталась сама. Чтобы стоимость могла умножить количество и цену оба поля выбираю числовые, т.е. ссылку на другой объект вставить не могу, иначе в поле стоимость формула не работает. Она считает только числовые поля, на другие ругается. Возможно я чего то не учла. Помогите.
 

Vladimir

Администратор
Команда форума
#2
Добрый день.
Для начала Вам надо составить определённую структуру в проекте, состоящую из нескольких объектов, каждый из которых будет выполнять свою функцию:
- Прайс-лист: содержит названия материалов, единицу измерения и цену за единицу;
- Заказ: дата заказа и общая стоимость списка материалов;
- Материалы: объект, в котором будет хранится запись по каждому материалу для заказа - ссылка на материал из прайс-листа, кол-во материала в заказе, цена из прайс-листа (то, что Вам нужно) и рассчитываемая стоимость (Кол-во*Цена).
Для получения цены материала при его выборе из справочника, для свойства "Копия из" поля "Цена" в объекте "Материалы" указывается: [Прайс-лист.Цена]. Это означает, что при выборе записи, из поля "Цена" будет копироваться установленное значение для данной записи.
Копирование значения поля из выбираемого объекта.png

Кроме того, на основе объекта заказов создаётся форма связи: Заказы. В этой форме добавляется дочерний объект "Материалы" (с типом связи "подчиненная"). А для поля "Сумма" задаётся свойство "Сумма по", в котором указывается источники данных: добавленный объект "Материалы" и поле, откуда получаются данные для суммирования "Стоимость".
Суммирование данных из дочернего объекта.png
Объекты "Заказ" и "Материалы" можно скрыть.

Работа с проектом:
- в объекте "Прайс-лист" набиваются данные по материалом;
- в форме "Заказы" создаётся запись по заказу (указывается только дата), а затем в дочернем списке формируется список требуемых материалов.

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

Вложения

Последнее редактирование:

Vladimir

Администратор
Команда форума
#3
Также можно исправить данные для множества записей и пересчитать базу данных.

Данные из объекта можно экспортировать в файл .csv, открыть его в OO/LO Calc или MS Excel и изменить значения цены для нужных записей. Менять можно вручную, а можно сделать расчёт с применением формул, например на 10%.
После этого данные сохранить в файл .csv (с кодировкой UTF-8) и произвести импорт в объекте из файла с применением замены записей с повторяющимся первым полем:
Импорт с заменой данных  при повторяющемся первом поле.png

Для перерасчёта всех расчётных полей и полей периода в объекте служит кнопка "Перерасчёт" в меню "Ещё".
Перерасчёт расчётных полей в объекте.png
Но применять эту функцию рекомендуется очень осторожно! Она приводит к перерасчёту всех данных в базе, что может безвозвратно нарушить историю прошлых операций.
Если не уверены в безопасности выполняемых действий - обязательно создайте архив проекта для возможности восстановления данных.
 

Nelli

Посетитель
#4
Структуру создала, все работает. все норм. Вопрос все тот же. При замене цены в прайсе, цены в материалах, в связанной форме ЗАКАЗ и в самом заказе не меняются. Т.е. главная задача не решена. Кнопка перерасчет не работает тоже. Проблема.... У меня как раз тот самый вариант, когда лучше ставить ссылку на поле, чем копию.... Ушла пробовать ставить ссылки, что получится отпишусь....
 

Nelli

Посетитель
#5
ну вот, если использовать строчку ссылка на поле - строчка не числовая и поле расчет сразу ругается и не высчитывает формулу
 

Nelli

Посетитель
#6
Я так поняла вариант только такой, чтобы весь список материалов пересчитывать вместе с прайсом, а во всех остальных полях где возможно использовать ссылку на поле.... но это жаль(((( к концу работы список материалов будет огромным.... сидеть и править его неудобно. Что посоветуете?
 

Vladimir

Администратор
Команда форума
#7
При замене цены в прайсе, цены в материалах, в связанной форме ЗАКАЗ и в самом заказе не меняются.
Конечно, при замене цены в прайсе - уже созданные записи в заказах на базе товаров с теми ценами, когда создавались записи, меняться не будут и не должны.
Вы выписываете счёт, отпускаете товар по установленным ценам, получаете деньги. Если после этого цена на товар меняется - стоимость заказа измениться не должна, иначе образуется несоответствие по финансам.

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

Я так поняла вариант только такой, чтобы весь список материалов пересчитывать вместе с прайсом
Что подразумевается под списком материалов? Список, который добавляется в заказ? Он формируется на базе тех цен, которые указаны в прайсе. Почему он должен меняться при изменении цен на товары в прайсе?

к концу работы список материалов будет огромным.
В один заказ добавляется "огромный" список материалов?
 

Nelli

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

Nelli

Посетитель
#9
а вот еще один вопрос. В связанной форме могут суммироваться только значения какого то одного подчиненного объекта. А если мне надо суммировать два? Ну например, если в одной связанной форме мне надо суммировать стоимость заказа состоящего из двух дочерних объектов, как вариант материалы (один объект) и стоимость работ (второй объект) ???
 

Nelli

Посетитель
#10
а еще хочу поблагодарить за оперативные и очень подробные ответы и помощь. Мало кто так относится к своим клиентам!!!
 

Vladimir

Администратор
Команда форума
#11
Владимир, я создаю базу себестоимости. Мне не нужна история, как в операциях с продажами или услугами. мне необходимо просчитать себестоимость единицы продукции
Возможно Вам для подобных задач больше подойдёт Excel, так как в нём поддерживается автоматический пересчёт при изменениях ячеек. Конструктор Руна больше предназначен для ведения учёта и формирования документов. Это инструмент для создания баз данных, удобного способа наполнения их информацией, осуществление поиска по любым полям и, одна из самых главных задач - ведение истории операций. Причём ведение с таким расчётом, чтобы внесённая ранее информация не повредилась и/или не было возможности её не санкционированно измененить - при многопользовательской работе с единой базой данных.
А вот Excel решает именно эту задачу - пересчёт итоговой стоимости у наборов данных при изменении исходных параметров.

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

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

Nelli

Посетитель
#12
Программа крутая. Уже куча планов для систематизации в других направлениях. Пригодится в любом случае))))
 

Nelli

Посетитель
#13
Здравствуйте, Владимир. С программой я разобралась, сейчас вывожу шаблон для печати. Вопрос такой. Шаблон работает, все отлично. Но мне необходимо, чтобы часть данных находилась слева страницы, часть справа. При изменении шаблона и копировании ссылок на правую часть, ссылка работает некорректно, а точнее не отображают наименования и числовые значения копируют со столбиков слева, а не из объекта, который выводится на печать. Сможете подсказать?
 

Vladimir

Администратор
Команда форума
#15
Если можно - приложите упрощённый вариант проекта с шаблоном документа. И - образец документа, который должен быть получен в результате.
 

Vladimir

Администратор
Команда форума
#17
Таким образом разместить формируемые списки нельзя.
Несколько таблиц в разных позициях.png
Дело в том, что при вставке данных списка, происходит вставка полной строки на странице Excel. Тэги определяют верхнюю и нижнюю части дублируемого блока, но не левую и правую. Даже если сделать вставку с учётом левой и правой границ и вставлять со сдвигом только группы ячеек - при формировании документа произойдёт нарушение структуры в нижней части документа, под самим списком. Что в результате получится - сказать сложно.
 
Статус
Новые ответы в этой теме размещать нельзя.