Страница 1 из 1

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

Добавлено: 13 ноя 2010, 18:48
sildae
Можно ли как-нибудь сформировать поле "примечание" Katsopr.name при редактировании накладной на сбыт, как katsopr.NVAGON+Katsopr.NKVIT ? Конфигуратором не получилось. Или только докомпилировать интерфейс.

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

Добавлено: 13 ноя 2010, 19:14
Den
Попробал - вроде получается.
Только вначале, когда поле на форму добавляется, не визуализируется значение вычисленное, но после переоткрытия окна редактирования накладной кажется значение которые ввел в качестве вычисляемого.

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

Добавлено: 15 ноя 2010, 10:53
sildae
Как у Вас получилось? Мне нужно katsopr.name=katsopr.katsopr.NVAGON+katsopr.NKVIT+katsopr.name
редактирую поле katsopr.name. Правой кнопкой "задать значения по умолчанию?" Не суммируется.

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

Добавлено: 15 ноя 2010, 11:06
Den
В окне редактирования накладной иннициализируете конфигуратор ,а потом жмете в шапке "добавить поле"..и переходите на закладку "вычисляемое поле"....Потом просто появившееся поле ввода перетащите на место примечания.

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

Добавлено: 15 ноя 2010, 11:16
sildae
я же не простое поле хочу вставить в интерфейс, а апдейтить katsopr.name
KATsopr.NAME=katsopr.NVAGON+katsopr.NKVIT если в "вычисляемом поле " такая конструкция, то она не срабатывает.

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

Добавлено: 15 ноя 2010, 11:33
Den
Извините, не совсем понял сначало значит.
Т.е. вы хотите в накладной физически поменять значение поля katsopr.name, а не просто отображать текстовое вычисляемое поле ?
Конфигуратор, все же, не предназначен для действий, связанных с изменением информации в БД.

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

Добавлено: 15 ноя 2010, 11:35
edward_K
Для того, чтобы изменить нужно либо перехватить табличное событие cmUpdateRecord через докомпиляцию интрефейса или написать программный тригер на Katsopr (или на сервере поменять что не желательно).

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

Добавлено: 15 ноя 2010, 11:40
sildae
Про докомпиляцию интерфейса не имею никакого представления. Подскажите, пожалуйста, где прочитать!

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

Добавлено: 15 ноя 2010, 11:55
Seybukan
Можно сделать JS и выполнить его например по настройке:
"Настройки Галактики \ Логистика \ Документы \ Управление сбытом \ Накладная на отпуск \ Запуск алгоритмов \ Перед списанием выполнить алгоритм"

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

Добавлено: 15 ноя 2010, 12:01
Den
Самое надежное тут тогда все же триггер на модификацию - тогда не надо будет ломать голову как отловить изменение значения поля katsopr.name

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

Добавлено: 15 ноя 2010, 12:04
sildae
Да, с явой попроще было бы. Можно пример. А то у меня получилось только мессадж добавить, а на обновление строки в katsopr 'е требуются библиотеки какие-то подключать.

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

Добавлено: 15 ноя 2010, 15:13
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>

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

Добавлено: 15 ноя 2010, 17:25
sildae
Огромное спасибо, Seybukan! Я теперь имею понятие о Java. Получилось то,что хотелось благодаря Вам!

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

Добавлено: 16 ноя 2010, 05:12
ahv
Я теперь имею понятие о Java
явно нет.