Имя: Пароль:
1C
1С v8
Работа с табличной частью
,
0 KonstantinK90
 
16.10.15
06:07
Всем доброе утро! У меня вопрос не знаю как реализовать подскажите как начать с чего? Есть обработка в не есть 2 табличные части "А" и "В". как сделать что бы при нажатии на кнопку из табличной части открывался список с данными табличной части "А" и выбирать от туда данные и что бы они подставлялись выбранные данные в табличную часть "В". Вот пример кода с формами справочника
Форма = Справочники.ДоговорыКонтрагентов.ПолучитьФорму("ФормаСписка");
    Форма.РежимВыбора = Истина;
    Форма.Отбор.Владелец.Установить(Контрагент);
    ВыбранноеЗначение = Форма.ОткрытьМодально();
    ДоговорКонтрагента = ВыбранноеЗначение;
нужно что то подобное!
1 KonstantinK90
 
16.10.15
06:08
не знаю с чего начать?
2 patria0muerte
 
16.10.15
06:10
А как связаны таблички? Какие то ключевые поля есть? Так то по идее:
- две формы в обработке. В одной - ТЧ А, в другой ТЧ B.
- По кнопке открываешь форму с ТЧ B, в нее передаешь строку из ТЧ А.
- В форме заполняешь, по кнопке возвращаешь измененную строку в ТЧ А
3 Горогуля
 
16.10.15
06:10
(1) вероятно, да
4 patria0muerte
 
16.10.15
06:11
А в целом - не очень понятно, что ты именно хочешь. в (0) тарабарщина какая-то
5 Горогуля
 
16.10.15
06:11
на хрена это всё? не можешь по кнопке добавить в Б текущую строку из А?
6 KonstantinK90
 
16.10.15
06:16
нужно вибирать строки из тч "А" и подставлять значение в тч "В" и что бы постояно которую строку ты брал она удалялась из таб части "А"
7 Горогуля
 
16.10.15
06:17
я больше не буду задавать идиотских вопросов
вперёд!
8 patria0muerte
 
16.10.15
06:18
т.е. ты хочешь строку из таблицы в таблицу перекидывать?
9 Горогуля
 
16.10.15
06:19
(8) он явно хочет что-то другое. но придумал перекидывать строки
10 Дарлок
 
16.10.15
06:20
(6) а зачем формочка модальная?
такие интерфейсы обычно делают по другому
два таблички рядом, между ними плашка с кнопочками: перенести влево, перенести вправо, перенести влево все, перенести вправо все...
11 KonstantinK90
 
16.10.15
06:28
вот что я сделал сейчас // Вставить содержимое обработчика.
    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("ГосНомер");
    ТЗ.Колонки.Добавить("Вин_Номер");
    ТЗ.Колонки.Добавить("Модель");
    ТЗ.Колонки.Добавить("НомерШасси");
    
Для Каждого стр из Автомобили_ Цикл     
    НоваяСтока = ТЗ.Добавить();
    НоваяСтока.ГосНомер   = Стр.ГосНомер ;
    НоваяСтока.Вин_Номер  = Стр.Вин_Номер;
    НоваяСтока.Модель     = стр.Модель;
    НоваяСтока.НомерШасси = Стр.НомерШасси;
КонецЦикла;
   ВыбраннаяСтрока = ТЗ.ВыбратьСтроку();
  
       Строка = ЭлементыФормы.ТабличноеПоле3.ТекущаяСтрока;    
       МенеджерЗаписи = РегистрыСведений.уатПервоначальныеСведенияТС.СоздатьНаборЗаписей();
       МенеджерЗаписи.Отбор.ГосударственныйНомер_.Установить(Строка.ГосНомер);
       МенеджерЗаписи.Прочитать();
        Для Каждого Запись ИЗ МенеджерЗаписи Цикл
                  Запись.VIN = ВыбраннаяСтрока.Вин_Номер;
        КонецЦикла;
      Строка.Вин_Номер = ВыбраннаяСтрока.Вин_Номер;          
       МенеджерЗаписи.Записать();
//Удаляем строку из таб части
12 KonstantinK90
 
16.10.15
06:29
все работает вот только как удалить "Выбранную строку" из табЧ "А"
13 Горогуля
 
16.10.15
06:32
>ВыбраннаяСтрока = ТЗ.ВыбратьСтроку();
нажми в этом месте ескейп
14 patria0muerte
 
16.10.15
06:33
"две табличные части" - говорили они... "нужно вибирать строки" - говорили они...
15 Горогуля
 
16.10.15
06:33
напихать в регистр данных из твоей ТЗ несколько отличается от (0)
16 KonstantinK90
 
16.10.15
06:35
ну я вам скинул полностью все решение а изнчально вопрос стоял как я вам его описал
17 KonstantinK90
 
16.10.15
06:36
а как удалить выбранную строку из табличной части
18 Горогуля
 
16.10.15
06:39
(16) спасибо за решение, добавлю в закладки
19 patria0muerte
 
16.10.15
06:42
(17) В общем случае вот так:

ТабличнаяЧасть.Удалить(СтрокаТЧ);
20 KonstantinK90
 
16.10.15
06:44
да да спасибо только что разобрался
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс