поле как сумма двух полей. Как получить в интерфейсе?

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

поле как сумма двух полей. Как получить в интерфейсе?

Сообщение sildae »

Можно ли как-нибудь сформировать поле "примечание" Katsopr.name при редактировании накладной на сбыт, как katsopr.NVAGON+Katsopr.NKVIT ? Конфигуратором не получилось. Или только докомпилировать интерфейс.
Последний раз редактировалось sildae 15 авг 2011, 12:14, всего редактировалось 1 раз.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Den »

Попробал - вроде получается.
Только вначале, когда поле на форму добавляется, не визуализируется значение вычисленное, но после переоткрытия окна редактирования накладной кажется значение которые ввел в качестве вычисляемого.
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение sildae »

Как у Вас получилось? Мне нужно katsopr.name=katsopr.katsopr.NVAGON+katsopr.NKVIT+katsopr.name
редактирую поле katsopr.name. Правой кнопкой "задать значения по умолчанию?" Не суммируется.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Den »

В окне редактирования накладной иннициализируете конфигуратор ,а потом жмете в шапке "добавить поле"..и переходите на закладку "вычисляемое поле"....Потом просто появившееся поле ввода перетащите на место примечания.
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение sildae »

я же не простое поле хочу вставить в интерфейс, а апдейтить katsopr.name
KATsopr.NAME=katsopr.NVAGON+katsopr.NKVIT если в "вычисляемом поле " такая конструкция, то она не срабатывает.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Den »

Извините, не совсем понял сначало значит.
Т.е. вы хотите в накладной физически поменять значение поля katsopr.name, а не просто отображать текстовое вычисляемое поле ?
Конфигуратор, все же, не предназначен для действий, связанных с изменением информации в БД.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение edward_K »

Для того, чтобы изменить нужно либо перехватить табличное событие cmUpdateRecord через докомпиляцию интрефейса или написать программный тригер на Katsopr (или на сервере поменять что не желательно).
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение sildae »

Про докомпиляцию интерфейса не имею никакого представления. Подскажите, пожалуйста, где прочитать!
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Seybukan »

Можно сделать JS и выполнить его например по настройке:
"Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Накладная на отпуск \ Запуск алгоритмов \ Перед списанием выполнить алгоритм"
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Den »

Самое надежное тут тогда все же триггер на модификацию - тогда не надо будет ломать голову как отловить изменение значения поля katsopr.name
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение sildae »

Да, с явой попроще было бы. Можно пример. А то у меня получилось только мессадж добавить, а на обновление строки в katsopr 'е требуются библиотеки какие-то подключать.
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение Seybukan »

Данный алгоритм загружается в систему Галактика через Импорт данных
из XML - файлов (Например "Планирование производства\Операции\
Импорт данных из XML - файлов")

Для корректно импорта в настройке импорта должны быть указаны следующий
объект экспорта импорта:
Алгоритм JavaScript

52 алгоритм расчета сами настройте.
Документ - Накладная
Вид накладной - Текущий
Функция накладной - curSopr

Вот текст XML-ки:

Код: Выделить всё

<?xml version="1.0" encoding="windows-1251"?>
<!--Copyright ЗАО "Корпорация Галактика"-->
<Data_Root>
	<Descript ExpSet_Code="003" ExpSet_Name="JS"><![CDATA[]]></Descript>
	<Data>
		<Collection caption="Алгоритмы JavaScript" name="Data.AlgJS" child_tags="Object">
			<Object name="Формирование наименования (10113)" class_id="AlgJS" id="27866022694354997">
				<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
					<prop_value prop_name="LastDateTime" value="15/11/2010 12:35:16"/>
					<prop_value prop_name="Code" value="10113"/>
					<prop_value prop_name="Name" value="Формирование наименования"/>
					<prop_value prop_name="wSysNum" value="65535"/>
					<prop_value prop_name="cGroup" rlt_class="MnfGroup" value="0"/>
					<prop_value prop_name="Comment" value="(MEMO)"/>
					<prop_value prop_name="JS" value="(MEMO)"><![CDATA[Sopr.setPosition(curSopr());
Sopr.Name =Sopr.Podv +' '+ Sopr.Kvit;
Sopr.rewrite();
]]></prop_value>
				</Collection>
				<Collection caption="Используемые библиотеки функций" name="Data.AlgJS_Func" child_tags="Object"/>
				<Collection caption="Объекты JS" name="Data.AlgJS_Obj" child_tags="Object">
					<Object name="Объект № 1:KatSopr" class_id="AlgJS_Obj" id="27866022694355105">
						<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
							<prop_value prop_name="Name" value="KatSopr"/>
							<prop_value prop_name="Npp" value="1"/>
							<prop_value prop_name="TypeObj" value="16"/>
						</Collection>
						<Collection caption="Свойства объекта JS" name="Data.AlgJS_ObjP" child_tags="Object">
							<Object name="Name" class_id="AlgJS_ObjP" id="27866022694355501">
								<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
									<prop_value prop_name="Name" value="Name"/>
									<prop_value prop_name="FldNmb" value="1001"/>
									<prop_value prop_name="FlDirect" value="3"/>
									<prop_value prop_name="TypeVal" value="1"/>
								</Collection>
							</Object>
							<Object name="Podv" class_id="AlgJS_ObjP" id="27866022694355502">
								<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
									<prop_value prop_name="Name" value="Podv"/>
									<prop_value prop_name="FldNmb" value="1005"/>
									<prop_value prop_name="FlDirect" value="3"/>
									<prop_value prop_name="TypeVal" value="1"/>
								</Collection>
							</Object>
							<Object name="Kvit" class_id="AlgJS_ObjP" id="27866022694355503">
								<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
									<prop_value prop_name="Name" value="Kvit"/>
									<prop_value prop_name="FldNmb" value="1006"/>
									<prop_value prop_name="FlDirect" value="3"/>
									<prop_value prop_name="TypeVal" value="1"/>
								</Collection>
							</Object>
						</Collection>
						<Collection caption="Методы объекта JS" name="Data.AlgJS_ObjB" child_tags="Object"/>
						<Collection caption="Экземпляры объекта JS" name="Data.AlgJS_ObjE" child_tags="Object">
							<Object name="Sopr" class_id="AlgJS_ObjE" id="27866022694355504">
								<Collection caption="Свойства" name="Prop_Values" child_tags="prop_value">
									<prop_value prop_name="Name" value="Sopr"/>
									<prop_value prop_name="Npp" value="1"/>
								</Collection>
							</Object>
						</Collection>
					</Object>
				</Collection>
				<Collection caption="Локальные константы JS" name="Data.AlgJS_CnstL" child_tags="Object"/>
				<Collection caption="Глобальные константы JS" name="Data.AlgJS_CnstG" child_tags="Object"/>
				<Collection caption="Аналитики JS" name="Data.AlgJS_An" child_tags="Object"/>
			</Object>
		</Collection>
	</Data>
</Data_Root>
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение sildae »

Огромное спасибо, Seybukan! Я теперь имею понятие о Java. Получилось то,что хотелось благодаря Вам!
ahv
Новичок
Сообщения: 21
Зарегистрирован: 15 дек 2009, 07:52

Re: поле как сумма двух полей. Как получить в итерфейсе?

Сообщение ahv »

Я теперь имею понятие о Java
явно нет.
Ответить