powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Добавление новой записи в таблицу
12 сообщений из 12, страница 1 из 1
Добавление новой записи в таблицу
    #39463829
Rishat1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, меньше месяца изучаю Cache, и уже успел состряпать маленькую форму CSP.

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

Имеется класс Client (где хранятся Name, Object, Amount и Price)

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
			    <csp:OBJECT NAME="obj" CLASSNAME="Data.Client"> 
				<form name=client cspbind=obj>
				Наименование организации: <input type="text" name="Name" cspbind=Name> <br> 
				Объект: <input type="text" name="Object" cspbind=Object><br> 
				Количество: <input type="text" name="Amount" cspbind=Amount ><br> 
				Цена:  <input type="text" name="Price" cspbind=Price><br>
				<input name="New" type="Button" value="Добавить" onClick='client_new();'> 
				</form>



Код: javascript
1.
2.
3.
4.
<script language=SQL name="client">
SELECT ID,Name,Object,Amount,Price
FROM Data.Client
</script>



При нажатии кнопки добавить, почему в таблице ничего не происходит :-(
очень надеюсь на понимание и на Вашу помощь :-)
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39463861
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1c , уже не помню адрес примеров нативных функций для работы с объектами в csp...

Вот нашел одну из старинных страниц на эту тему.

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<html>
<title>Контактное лицо у абонента</title>
<head>
<link rel="stylesheet" type="text/css" href="/css/standart.css">
<script language="javascript">
// Добавить контакт для абонента
function AddCont(IdA) {
  var id=#server(..cAddCont(IdA))#
  window.navigate("telabcont.csp?ida="+IdA+"&id="+id)
}
// Удалить контактное лицо
function DelCont(Id,IdA) {
  #server(..cDelCont(Id))#
  window.navigate("telabedit.csp?id="+IdA)
}
</script>

<csp:method name='cDelCont' arguments='Id:%String'>
  n o
  s o=##class(Tel.AbContact).%OpenId(Id)
  d ##class(Tel.AbContact).%Delete(o.%Oid())
  d o.%Close()
  q
</csp:method>
<csp:method name='cAddCont' arguments='Id:%String' returntype='%String'>
  n oab,o,id
  s oab=##class(Tel.Abonent).%OpenId(Id)
  s o=##class(Tel.AbContact).%New()
  s o.Abonent=oab
  d o.%Save()
  s id=o.%Id()
  d oab.%Close()
  d o.%Close()
  q id
</csp:method>
</head>
<body>

<csp:object name='abcont' classname='Tel.AbContact' objid='#(%request.Data("id",1))#'>

<form name='fabcont' cspbind='abcont'>
<table width='100%' border='0'>
<tr>
<th align='left' valign='top' width='90%'>Контактное лицо абонента
<th align='left' valign='top' rowspan='2'>
  <table>
  <tr>
  <td><input type='button' value='Выход' onclick='window.navigate("telabedit.csp?id=#(%request.Data("ida",1))#")'>
  <tr>
  <td><input type='button' value='Записать' onclick='fabcont_save()'>
  <tr>
  <td><input type='button' value='Добавить' onclick='AddCont(#(%request.Data("ida",1))#)'>
  <tr>
  <td><input type='button' value='Удалить' onclick='DelCont(#(%request.Data("id",1)_","_%request.Data("ida",1))#)'>
  </table>
<tr>
<td valign='top'>
  <table border='0'>
  <tr>
  <td>Имя
  <td><input type='text' name='tname' cspbind='Name' size='50'>
  <tr>
  <td>Должность
  <td><input type='text' name='tpost' cspbind='Post'>
  </table>
</table>
</form>
</body>
</html>
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39463864
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1c
Код: html
1.
			    <csp:OBJECT NAME="obj" CLASSNAME="Data.Client"> 



У тебя нет привязки к ИДишнику экземпляра...

Да и вообще в твоем примере есть большое количество атрибутов объявленных без всяких кавычек, а это плохо.
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39463872
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaуже не помню адрес примеров нативных функций для работы с объектами в csp...
И в документации кроме записи ничего не показали.
http://docs.intersystems.com/cache20162/csp/docbook/DocBook.UI.Page.cls?KEY=GCSP_dbapps

Нативное добавление не учитывает связи с родительскими элементами. Т.ч. пользоваться им можно только в частном случае.
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39464025
Rishat1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 <csp:method name='cAddCont' arguments='Id:%String' returntype='%String'>
  n oab,o,id
  s oab=##class(Tel.Abonent).%OpenId(Id)
  s o=##class(Tel.AbContact).%New()
  s o.Abonent=oab
  d o.%Save()
  s id=o.%Id()
  d oab.%Close()
  d o.%Close()
  q id
</csp:method>



Не очень понятен этот метод. Переплетаются две таблицы ( Сложно для меня это ещё

Вот такую конструкцию состряпал, с использованием ангуляра
<
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
csp:object name='abcont' classname='Data.Client' objid='#(%request.Data("id",1))#'>
				<form name='fabcont' cspbind='abcont'>
  				<input type='button' value='Записать' onclick='fabcont_save()'>
  				<input type='button' value='Добавить' onclick='AddCont(#(%request.Data("ida",1))#)'>	
				<br>
				
				<table class="table table-bordered">
    				<tr><th>Имя</th><th>Объект</th><th>Количество</th><th>Цена</th><th>Удалить</th></tr>
    				<tr ng-repeat="client in clients">
    					<td>{{client.Name}}</td>
    					<td>{{client.Object}}</td>
    					<td>{{client.Amount}}</td>
    					<td>{{client.Price}}</td>
    					<td><center><input type="button" class="btn btn-danger" value="X" ng-click="delete(client);"/></center></td>
    				</tr>
    			</table>
    			</form>



Все равно не хочет работать
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39464144
Rishat1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно сделать просто,имеется 4 инпата, и по нажатию добавлялся новая строчка в таблице с данными с этих инпатов
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39464243
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1cНе очень понятен этот метод. Переплетаются две таблицы
Там добавляется связь с материнской таблицей. У тебя такого нет.
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39464245
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1cВот такую конструкцию состряпал, с использованием ангуляра
Если хочешь использовать Ангуляр - тебе привязка вообще не нужна.
Пусть сервер делает все кащейские дела, а на клиента просто передает жосн-данные. Ангуляр их покажет, заредактирует и отправит обратно.
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39464247
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1cМне нужно сделать просто,имеется 4 инпата, и по нажатию добавлялся новая строчка в таблице с данными с этих инпатов
Мой пример без таблицы... Там только форма.
Но если делать все с перерисовкой всей страницы, добавить на страницу еще и табличку - не проблема.

С таблицами другая проблема... Они могут содержать много записей. Тогда "простого" показа будет не достаточно.
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39465444
Rishat1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня все нормально отображается)
Просто вывод через JSON с ангуляром у меня работает довольно таки плачевно, т.к. КИРИ́ЛЛИЦУ не поддерживает :-(
Поэтому через ангуляр реализовал только Вывод данных в таблицу и удаление записей.

Осталось только реализовать добавление, поэтому и обратился сюда)
Как я понял, твой пример работает только с переходом на новую страницу и там уже привязка идет к IDшнику, где по нему можно изменять и удалять данные :-(

Хотел бы просто на текущей странице где находиться таблицу сделать добавление :-)
Поэтому и обратился сюда, думал может у кого нибудь есть пример) Заранее спасибо)
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39465471
Rishat1c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Добавление новой записи в таблицу
    #39465671
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rishat1cПросто вывод через JSON с ангуляром у меня работает довольно таки плачевно, т.к. КИРИ́ЛЛИЦУ не поддерживает :-(
Поэтому через ангуляр реализовал только Вывод данных в таблицу и удаление записей.
Мы работаем в DOS кодировке с русскими буквами, но не имеем проблем с передачей данных. Наверняка у тебя просто кодировки не совпадают...
Rishat1cКак я понял, твой пример работает только с переходом на новую страницу и там уже привязка идет к IDшнику, где по нему можно изменять и удалять данные :-(
Так ты первый начал!
Я тебе показал старинный пример с привязкой объекта к форме, т.к. ты про такой и спрашивал...
Rishat1cХотел бы просто на текущей странице где находиться таблицу сделать добавление :-)
Так отправь ajax-запрос на сервер с данными нового экземпляра, а на сервере почитаешь данные и создашь новый экземпляр...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Добавление новой записи в таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]