• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

ввод данных в таблицу значений

  • Автор темы ALEXAND
  • Дата начала
A

ALEXAND

Подскажите пожалуйста начинающему как обеспечить ввод данные пользователем в таблицу значений, созданную в обработке? Тут как то через текущую строку и колонке надо..Как?))
 
P

puh14

Повесить процедуру на таблицу, в процедуре

НомСтроки = Тз.текущаяСтрока();
Если Тз.ТекущаяКолонка() = 1 ТОгда
ВВестиЧисло()
Тз.УстановитьЗначение(НомСтроки,1,Переменная);
ИначеЕСли Тз.ТекущаяКолонка() = 2 ТОгда
ВВестиБлаБлаБла2
Тз.УстановитьЗначение(НомСтроки,2,Переменная);
КонецЕсли;
 
A

ALEXAND

Подскажите пожалуйста что тут не правильно??? в таблицу ничего не вводится((

Перем Цена, Количество, Произведение;
Процедура ПриОткрытии()
Табло.НоваяКолонка("Цена", "Число",10,,"Цена")
Табло.НоваяКолонка("Количество", "Число",10,,"Количество")
Табло.НоваяКолонка("Произведение", "Число",10,,"Произведение")
КонецПроцедуры

Процедура Значение()
Перем НомерСтроки;
НомерСтроки=Табло.ТекущаяСтрока();

Если
Табло.ТекущаяКолонка()=1
Тогда ВвестиЧисло(Цена,"Цена", ,,);
Табло.УстановитьЗначение(НомерСтроки,1,Цена);
ИначеЕсли
Табло.ТекущаяКолонка()=2
Тогда ВвестиЧисло(Количество,"Количество", ,,);
Табло.УстановитьЗначение(НомерСтроки,1,Количество);
КонецЕсли
Табло.Произведение=Табло.Цена*Табло.Количество;
КонецПроцедуры
 
I

Isabela

Точки с запятой точно не хватает :)
КонецЕсли ;
Табло.Произведение=Табло.Цена*Табло.Количество;
 
I

Isabela

А если более серьезно - надо все же перед вызовом процедуры "Значение" создать хотя бы одну строку
Табло.НоваяСтрока();
А то боюсь, что при входе в эту процедуру
Табло.ТекущаяСтрока() = 0 !
 
P

puh14

То есть вообще не спрашивает число???? а процедура на таблице точно повешена???

Табло.Произведение=Табло.Цена*Табло.Количество; - вот тут он не знает куда писать.

тем же установить значение. Типа вместо верхнего

Цена = Табло.ПолучитьЗначение(НомерСтроки,1);
Количество = Табло.ПолучитьЗначение(НомерСтроки,2);
Произведение = Цена*Количество;
Табло.УстановитьЗначение(НомерСтроки,3,Произведение);
 
K

kaa

Процедура КликПоТабло(Строк,Колонка)
Если Строк<>0 Тогда
Если Колонка = "Материал" Тогда
ОткрытьФорму(Табло.ПолучитьЗначение(Строк,Колонка));
ИначеЕсли Колонка = "Количество" Тогда
НовоеЗначение = Табло.ПолучитьЗначение(Строк,Колонка);
Если ВвестиЧисло(НовоеЗначение,"Введите количество",15,2,60)=1 Тогда
Табло.УстановитьЗначение(Строк,Колонка,НовоеЗначение);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры


в талице значений прописываем КликПоТабло(Табло.ТекущаяСтрока(),Табло.ТекущаяКолонка())

это как пример :)
 
P

puh14

ОткрытьФорму(Табло.ПолучитьЗначение(Строк,Колонка)); - круто! а я всегда парился с условиями! Обязательно попробую!
 
A

ALEXAND

Выдаёт ошибку при попытке ввода данных Поле агрегатного объекта ТекущаяКолонка не обнаружено.
 
K

kaa

Процедура ПриОткрытии()
Табло.НоваяКолонка("Цена", "Число",10,,"Цена")
Табло.НоваяКолонка("Количество", "Число",10,,"Количество")
Табло.НоваяКолонка("Произведение", "Число",10,,"Произведение")
НоваяСтрока();
КонецПроцедуры
Это лишнее , дальше как в примере
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!