Как из структуры(на клиенте) добавить в Таблицу значений на сервере?

1. Devilion 23.09.20 12:53 Сейчас в теме
Здравствуйте, подскажите пожалуйста у меня есть структура(которая будет заполняться в помощью реквизита), как мне с неё добавлять данные на сервер в ТЗ? понимаю, что можно использовать Добавить() , пытаюсь добавить с параметры Сервера название структуры, выходит ошибка "Переменная не определена"
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. PowerBoy 3364 23.09.20 13:08 Сейчас в теме
&НаСервере
Функция ПреобразоватьМассивВТаблицуЗначений(МассивСтруктур) Экспорт
	
	Таблица = Новый ТаблицаЗначений;
	// Создадим колонки по первой структуре массива
	Если ТипЗнч(МассивСтруктур) = Тип("Массив")
		И МассивСтруктур.Количество() <> 0 Тогда
		ПерваяСтруктура = МассивСтруктур[0];
		Для Каждого Свойство Из ПерваяСтруктура Цикл 
			Таблица.Колонки.Добавить(Свойство.Ключ, ОписаниеТиповПоТипу(ТипЗнч(Свойство.Значение)));
		КонецЦикла;
		
		Для Каждого Структура Из МассивСтруктур Цикл 
			НоваяСтрока = Таблица.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, Структура);
		КонецЦикла;
	КонецЕсли;
	
	Возврат Таблица;
	
КонецФункции 
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. herfis 498 23.09.20 13:02 Сейчас в теме
Не очень понял, что вы хотите. Поэтому просто перечислю несколько фактов.
1. Процедура ДобавитьВТаблицуНаСервере() "видит" только то, что "пришло" ей через параметры.
2. Локальная переменная ТЗИнформация уничтожится как только процедура ДобавитьВТаблицуНаСервере() закончит свою работу.
3. Если хотите передать структуру в ДобавитьВТаблицуНаСервере(), необходимо:
а) изменить сигнатуру этой функции, добавив параметр для передачи этой структуры
б) сначала заполнить структуру и только потом вызывать ДобавитьВТаблицуНаСервере(), передав эту структуру через параметры.
5. Devilion 23.09.20 13:09 Сейчас в теме
(2)Значения в структуре, это наименование реквизитов, после ввода данных в реквизиты, нажимается кнопка и введённые данные проверяются, если таких данных нет, то производится добавление на сервер в ТЗ, данные хранятся в тз, после добавления нужного нам количества данных, мы можем проверить их выводом в таблицу значений которая у нас будет на форме, как реквизит
7. FatPanzer 23.09.20 13:11 Сейчас в теме
(5) ТЗ не может ХРАНИТЬСЯ на сервере. Там вообще ничего не хранится в принципе.
А если таблица - это реквизит формы, то вам и сервер не нужен, работайте на клиенте, все данные у вас для этого есть...
3. BackinSoda 23.09.20 13:02 Сейчас в теме
(1) на какой параметр ругается не определен, фио / день / частота / прием - это реквизиты формы или объекта ?
И что дальше с этой таблицой планируете делать ?
зы: у вас "на клиенте" сперва вызывается создание ТЗ , а потом уже структура, порядок не тот, да и в ту процедуру не передаётся структура
8. Devilion 23.09.20 13:12 Сейчас в теме
(3)у меня проблема в том, что передавая в параметры процедуры сервера наименование структуры, у меня выдаётся ошибка, что переменная не определена, и тем самым я не могу произвести добавление на сервере, вот и хотела уточнить, как возможно в клиента добавить данные в созданную ТЗ на сервере
4. PowerBoy 3364 23.09.20 13:08 Сейчас в теме
&НаСервере
Функция ПреобразоватьМассивВТаблицуЗначений(МассивСтруктур) Экспорт
	
	Таблица = Новый ТаблицаЗначений;
	// Создадим колонки по первой структуре массива
	Если ТипЗнч(МассивСтруктур) = Тип("Массив")
		И МассивСтруктур.Количество() <> 0 Тогда
		ПерваяСтруктура = МассивСтруктур[0];
		Для Каждого Свойство Из ПерваяСтруктура Цикл 
			Таблица.Колонки.Добавить(Свойство.Ключ, ОписаниеТиповПоТипу(ТипЗнч(Свойство.Значение)));
		КонецЦикла;
		
		Для Каждого Структура Из МассивСтруктур Цикл 
			НоваяСтрока = Таблица.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, Структура);
		КонецЦикла;
	КонецЕсли;
	
	Возврат Таблица;
	
КонецФункции 
Показать
6. FatPanzer 23.09.20 13:09 Сейчас в теме
Ну да, у вас же таблица сформируется в оперативной памяти и тут же сотрется. Вы что с ней хотите делать дальше?
9. Devilion 23.09.20 13:15 Сейчас в теме
(6)То-есть, я не могу сделать так, ввести в реквизиты формы данные, после кнопкой добавить их, допустим человек 10 и не закрывая программы вывести эти данные другой кнопкой, мне нужна программа данная не на длительное использование, а на запуск, внесение данных, проверка и выход
11. FatPanzer 23.09.20 14:03 Сейчас в теме
(9)
после кнопкой добавить их

Куда?
вывести эти данные другой кнопкой

Куда?
12. Devilion 23.09.20 14:10 Сейчас в теме
(11)добавить их в таблицу значений на сервер, послед добавления определённого количества людей с данными, я в реквизит ввожу ФИО любого из занесённых людей и нажимаю кнопку вывести, и данные о нужном мне человеке выводятся на реквизит таблицу значений которая была создана на форме
14. FatPanzer 23.09.20 14:22 Сейчас в теме
(12) Ну так и создавайте таблицу значений в данных формы, как вам уже говорили. И не надо никакого сервера, и ничего никуда передавать не надо.
10. SlavaKron 23.09.20 13:55 Сейчас в теме
Не проще ли использовать ДанныеФормыКоллекция, – объект, специально созданный чтобы гонять таблицы с клиента на сервер и обратно?
13. Devilion 23.09.20 14:12 Сейчас в теме
почему у меня 1с выдаёт ошибку на подчеркнутом месте? переменная не определена
Прикрепленные файлы:
15. FatPanzer 23.09.20 14:23 Сейчас в теме
(13) Потому что у вас нет такой переменной... Она появляется ниже по тексту программы. А в момент исполнения этой строки - такой переменной еще не существует.
Devilion; +1 Ответить
16. Devilion 23.09.20 14:53 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот