Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Заполнение колонки в таблице по умолчанию

Заполнение колонки в таблице по умолчанию
Я
   bebibo
 
28.10.19 - 10:25
Здравствуйте! Есть таблица.Колонки например: колонка1, колонка2 ,колонка3. Например заполняю первую строку. То есть колонка1 ,колонка2, колонка3 заполнены. Дальше при добавлении второй строки, мне нужно, чтобы автоматически в колонку1 добавлялось то ,что есть в первой строке в колонке1. И так далее: в третьей строке опять в колонке1 значение из первой строки в колонке1. Как сделать? Запустить отладку нет возможности, поэтому сложно.
 
 
   Ёпрст
 
1 - 28.10.19 - 10:31
(0)
Если нечто.Количество()>0 Тогда
   васяИзВторойКолонки = нечто[0].Васяизпервойстроки$
   bebibo
 
2 - 28.10.19 - 10:36
(1) В макете это работает. Но мне нужно еще чтобы при заполнении на форме это происходило автоматом
   bebibo
 
3 - 28.10.19 - 10:36
в событии передНачаломДобавления как это сделать можно?
   Ёпрст
 
4 - 28.10.19 - 10:39
(2) При чем тут макет ?
   Ёпрст
 
5 - 28.10.19 - 10:39
(3) как в (1)
   Ёпрст
 
6 - 28.10.19 - 10:40
проверить, что в коллекции что-то есть и обратиться к первой строке через [0].ИдентификаторКолонки
   bebibo
 
7 - 28.10.19 - 10:48
(6) обращаюсь к нужной колонке1, он пишет поле объекта не обнаружено
   bebibo
 
8 - 28.10.19 - 10:50
(7) исправила ошибку, но колонка1 всё равно не заполняется у второй строки
   DrWatson
 
9 - 28.10.19 - 10:50
(8) Приведи свой код.
   bebibo
 
10 - 28.10.19 - 10:52
Код такой:
&НаКлиенте
Процедура ТаблицаПередНачаломДобавления(Элемент,НоваяСтрока, Копирование)
     Если Таблица.Количество()>0 тогда
                Таблица[0].Колонка1= ТекущаяДата();
            КонецЕсли;
        
КонецПроцедуры

Нужно чтобы введеная дата в первой строке далее выводилась во всех добавляемых строках
   bebibo
 
11 - 28.10.19 - 10:53
(10) чтобы самой не выбирать каждый раз нужное число. В первой строке добавила, а дальше при добавлении на форме чтобы автоматом вставала
   DrWatson
 
12 - 28.10.19 - 10:59
(11) Я так понял здесь нет кода, который заполняет Колонка1 во второй строке?
   bebibo
 
13 - 28.10.19 - 11:03
Помогла процедура:
&НаКлиенте
Процедура ТаблицаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

    
    Если НоваяСтрока  Тогда
        Таблица[0].Дата = ТекущаяДата();
    КонецЕсли;

КонецПроцедуры

Потому что в событии: ПередНачаломДобавления - еще нет новой строки.

Но теперь так, что у меня автоматом текущей датой заполняется ТОЛЬКО первая строка. Как мне сделать, чтобы все последующие тоже заполнялись?
   bebibo
 
14 - 28.10.19 - 11:04
(12) ну я думала это поможет: Таблица[0].Колонка1= ТекущаяДата();
   bebibo
 
15 - 28.10.19 - 11:05
(13) Как то счетчиком? а то получается он у меня только первую строку заполняет всегда, а их то может быть много
   DrWatson
 
16 - 28.10.19 - 11:07
(13) Всё правильно про ПередНачаломДобавления и про ПриНачалеРедактирования.
(14) Наверное, ты не понимаешь, что Таблица[0] - это первая строка и только первая.
К текущей строке следует обращаться так: Элемент.ТекущиеДанные или Элементы.Таблица.ТекущиеДанные.
   hhhh
 
17 - 28.10.19 - 11:08
(15) Для Каждого Стр Из Таблица Цикл
           Стр.Дата = Таблица[0].Дата;
     КонецЦикла;
   Ёпрст
 
18 - 28.10.19 - 11:09
(13)

Элемент.ТекущиеДанные.Дата = Таблица[0].дата;
   DrWatson
 
19 - 28.10.19 - 11:11
Блин, весь образовательный процесс испортили
   bebibo
 
20 - 28.10.19 - 11:18
(17) Вот этот вариант помог)) Спасибо!))
   bebibo
 
21 - 28.10.19 - 11:18
(16) СПАСИБО!!))
   bebibo
 
22 - 28.10.19 - 11:21
Всем спасибо, кто пытался помочь)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.