Как из структуры(на клиенте) добавить в Таблицу значений на сервере?
Здравствуйте, подскажите пожалуйста у меня есть структура(которая будет заполняться в помощью реквизита), как мне с неё добавлять данные на сервер в ТЗ? понимаю, что можно использовать Добавить() , пытаюсь добавить с параметры Сервера название структуры, выходит ошибка "Переменная не определена"
Прикрепленные файлы:
По теме из базы знаний
- Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы
- Добавление таблицы значения с помощью дополнительных реквизитов и расширения конфигурации. На примере Документооборот 2.1.6.8
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"
- Несколько альтернативных универсальных способов подбора ссылок при переносах данных
Найденные решения
&НаСервере
Функция ПреобразоватьМассивВТаблицуЗначений(МассивСтруктур) Экспорт
Таблица = Новый ТаблицаЗначений;
// Создадим колонки по первой структуре массива
Если ТипЗнч(МассивСтруктур) = Тип("Массив")
И МассивСтруктур.Количество() <> 0 Тогда
ПерваяСтруктура = МассивСтруктур[0];
Для Каждого Свойство Из ПерваяСтруктура Цикл
Таблица.Колонки.Добавить(Свойство.Ключ, ОписаниеТиповПоТипу(ТипЗнч(Свойство.Значение)));
КонецЦикла;
Для Каждого Структура Из МассивСтруктур Цикл
НоваяСтрока = Таблица.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Структура);
КонецЦикла;
КонецЕсли;
Возврат Таблица;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не очень понял, что вы хотите. Поэтому просто перечислю несколько фактов.
1. Процедура ДобавитьВТаблицуНаСервере() "видит" только то, что "пришло" ей через параметры.
2. Локальная переменная ТЗИнформация уничтожится как только процедура ДобавитьВТаблицуНаСервере() закончит свою работу.
3. Если хотите передать структуру в ДобавитьВТаблицуНаСервере(), необходимо:
а) изменить сигнатуру этой функции, добавив параметр для передачи этой структуры
б) сначала заполнить структуру и только потом вызывать ДобавитьВТаблицуНаСервере(), передав эту структуру через параметры.
1. Процедура ДобавитьВТаблицуНаСервере() "видит" только то, что "пришло" ей через параметры.
2. Локальная переменная ТЗИнформация уничтожится как только процедура ДобавитьВТаблицуНаСервере() закончит свою работу.
3. Если хотите передать структуру в ДобавитьВТаблицуНаСервере(), необходимо:
а) изменить сигнатуру этой функции, добавив параметр для передачи этой структуры
б) сначала заполнить структуру и только потом вызывать ДобавитьВТаблицуНаСервере(), передав эту структуру через параметры.
(2)Значения в структуре, это наименование реквизитов, после ввода данных в реквизиты, нажимается кнопка и введённые данные проверяются, если таких данных нет, то производится добавление на сервер в ТЗ, данные хранятся в тз, после добавления нужного нам количества данных, мы можем проверить их выводом в таблицу значений которая у нас будет на форме, как реквизит
(1) на какой параметр ругается не определен, фио / день / частота / прием - это реквизиты формы или объекта ?
И что дальше с этой таблицой планируете делать ?
зы: у вас "на клиенте" сперва вызывается создание ТЗ , а потом уже структура, порядок не тот, да и в ту процедуру не передаётся структура
И что дальше с этой таблицой планируете делать ?
зы: у вас "на клиенте" сперва вызывается создание ТЗ , а потом уже структура, порядок не тот, да и в ту процедуру не передаётся структура
(3)у меня проблема в том, что передавая в параметры процедуры сервера наименование структуры, у меня выдаётся ошибка, что переменная не определена, и тем самым я не могу произвести добавление на сервере, вот и хотела уточнить, как возможно в клиента добавить данные в созданную ТЗ на сервере
&НаСервере
Функция ПреобразоватьМассивВТаблицуЗначений(МассивСтруктур) Экспорт
Таблица = Новый ТаблицаЗначений;
// Создадим колонки по первой структуре массива
Если ТипЗнч(МассивСтруктур) = Тип("Массив")
И МассивСтруктур.Количество() <> 0 Тогда
ПерваяСтруктура = МассивСтруктур[0];
Для Каждого Свойство Из ПерваяСтруктура Цикл
Таблица.Колонки.Добавить(Свойство.Ключ, ОписаниеТиповПоТипу(ТипЗнч(Свойство.Значение)));
КонецЦикла;
Для Каждого Структура Из МассивСтруктур Цикл
НоваяСтрока = Таблица.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Структура);
КонецЦикла;
КонецЕсли;
Возврат Таблица;
КонецФункции
Показать
(6)То-есть, я не могу сделать так, ввести в реквизиты формы данные, после кнопкой добавить их, допустим человек 10 и не закрывая программы вывести эти данные другой кнопкой, мне нужна программа данная не на длительное использование, а на запуск, внесение данных, проверка и выход
(11)добавить их в таблицу значений на сервер, послед добавления определённого количества людей с данными, я в реквизит ввожу ФИО любого из занесённых людей и нажимаю кнопку вывести, и данные о нужном мне человеке выводятся на реквизит таблицу значений которая была создана на форме
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот