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

Тема в разделе "1C и всё что с ней связано", создана пользователем ALEXAND, 24 сен 2008.

  1. ALEXAND

    ALEXAND Гость

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Повесить процедуру на таблицу, в процедуре

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

    ALEXAND Гость

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

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

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

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

    Isabela Гость

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

    Isabela Гость

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

    kaa Гость

    Может просто проверить количество строк или номер текущей строки :)
     
  7. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    То есть вообще не спрашивает число???? а процедура на таблице точно повешена???

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

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

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

    kaa Гость

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


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

    это как пример :)
     
  9. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    ОткрытьФорму(Табло.ПолучитьЗначение(Строк,Колонка)); - круто! а я всегда парился с условиями! Обязательно попробую!
     
  10. ALEXAND

    ALEXAND Гость

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

    kaa Гость

    Это лишнее , дальше как в примере
     
  12. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    текущий код в студию
     
Загрузка...

Поделиться этой страницей