Имя: Пароль:
1C
1С v8
Как удалить первую строку в табличной части документа??
,
0 Рауф
 
03.01.13
13:47
Как из несколько повторяющихся значений, удалить все кроме последнего?
1 Noroving
 
03.01.13
13:49
тебе нужно удаление дублирующихся строк?
2 Галахад
 
гуру
03.01.13
13:50
Товары[0].Удалить не?
3 Noroving
 
03.01.13
13:51
(2) Удалить, это метод...
4 Рауф
 
03.01.13
13:51
да  только дубликаты
5 Рауф
 
03.01.13
13:53
(1) мне надо удалить в табличной части документа только дублирующие строки и оставить только последнею
6 Noroving
 
03.01.13
13:54
(4) была уже такая ветка... подробно разжеваная
7 sapphire
 
03.01.13
13:55
(2) Если так сделать то по-удаляешь совсем не то :)
8 sapphire
 
03.01.13
13:56
(0) Что проще запросом получить ТЧ без дублей и загрузиьт её или бегать по таблице и искать дубли?
9 rphosts
 
03.01.13
13:59
(0) 1.найти запросом все дубли кроме последних.
2.обходя выборку удалять соответсвующие строки
10 Галахад
 
гуру
03.01.13
14:02
(7) Не первую, что-ли? ;-)
11 sapphire
 
03.01.13
14:03
В общем вариантов, масса, старый вариант - скопировать ТЧ, добавить колонку счетчика уникальности, свернуть по полям и просуммировать счетчик. Отсортировать по счетчику в порядке убывания.

Перебираешь строки полученной таблицы пока счетчик уникальности больше 1.
Инициализируешь счетчик удаляемых строк=значение счетчика уникальности
Находишь строки в табличной части.
Для каждой строки если найденные в ТЧ
если 1<счетчик удаляемых строк тогда удаляешь строку.
12 Азат
 
03.01.13
14:03
(10) ты первую удалишь и тут же все остальные съедут...
13 sapphire
 
03.01.13
14:03
(10) Первую, но сели изначально надо удалить 1, потом, 7, и с 20 по 50-ю, будет весело :)
14 Азат
 
03.01.13
14:03
имхо канеш - запросом выбрать Максимум(НомерСтроки) и оставить только их
15 sapphire
 
03.01.13
14:04
(14) Запросом получить уникальные и загрузить, Да?
16 sapphire
 
03.01.13
14:05
+(11) Само собой что счетчик удаляемых строк декрементируется если строка удалена.
17 rphosts
 
03.01.13
14:07
(12) при обходе запроса не так сложно кол-во похереных строк...
18 rphosts
 
03.01.13
14:08
(14) обработка удет сложнее, трафик между коиентом и сервером будет на порядки больше...
19 sapphire
 
03.01.13
14:09
(18)ИМХО, фактически все уйдет на сервант в серверном режиме, как ни крути.
20 sapphire
 
03.01.13
14:09
(18) Если не корежить данные формы.
21 rphosts
 
03.01.13
14:10
+ (18) кста и запрос не намного сложнее: сначао как в (14) а потом те которые не попали в этот список.
22 sapphire
 
03.01.13
14:11
(21) Зачем? Проще перезаполнить ТЧ в таком разе.
23 Галахад
 
гуру
03.01.13
14:12
Хех. Теоретики, а автор сидит и ждет листинга...
24 sapphire
 
03.01.13
14:13
(23) Пусть ждет :)
25 Азат
 
03.01.13
14:15
(23) я тоже жду 5000 на киви или ЯД, чтобы начать печатать листинг...
26 sapphire
 
03.01.13
14:16
(25) Экий ты жадный
27 sapphire
 
03.01.13
14:17
(23) Ваще, ИМХО, (11) вполне одинесно-кодово выглядит :)
28 Азат
 
03.01.13
14:20
(27) он на семерочный оч сильно смахивает)))
29 rphosts
 
03.01.13
14:20
(22) кстати, да
30 sapphire
 
03.01.13
14:22
(28) Зависит от потребностей и способностей ТС
31 ILM
 
гуру
03.01.13
14:23
(0)  
Первый вопрос: зачем удалять дубли в ТЧ?
Второй вопрос: зачем вводить дубли в ТЧ?
Третий вопрос: Если заполняется автоматом, то можно ли в механизме заполнения избежать дублей?
32 Рауф
 
03.01.13
14:25
(12) мне надо удалять все дубле кроме последнего
33 Рауф
 
03.01.13
14:29
вы мне можете привести пример
34 Галахад
 
гуру
03.01.13
14:30
Я ж говорил. :-)
35 ILM
 
гуру
03.01.13
14:31
Если строк в ТЧ мало, то
ТЗ = ТЧ.Выгрузить();
ТЗ.Свернуть(...);
ТЧ.Загрузить(ТЗ);

Если строк сильно много, то:
Запрос=Новый Запрос("Выбрать РАЗЛИЧНЫЕ * ИЗ ТЧ ГДЕ ТЧ.Ссылка =&CсылкаДокумент");
Запрос.УстановитьПараметр("CсылкаДокумент",CсылкаДокумент);
ТЧ.Загрузить(Запрос.Выполнить().Выгрузить());
36 Infsams654
 
03.01.13
16:00
(31) на счет, зачем вводить дубли в ТЧ, в типовых 1С нопределенность какая-то: БП 3 есть Функция ПроверитьОтсутствиеДублейВТабличнойЧасти(Объект, ИмяТабличнойЧасти, ПоляПроверки, Отказ) Экспорт, при чем в ОМ УправлениеВнеоборотнымиАктивами, почему то; БГУ 2 Функция ЭтоСтрокаДубль(ТабЧасть, СтрокаТабЧасти, СтруктураРеквизитов) Экспорт - в ОбщегоНазначенияБГУ
37 ILM
 
гуру
03.01.13
16:06
(36) Все зависит от бизнес-логики.
Где-то нужно удалять дубли например, в заказах поставщикам.
Где-то, в заказах на производство, нет.
Про это и был вопрос к ТС в (31).
38 Miss1C
 
03.01.13
16:14
(11) Много мороки) Я бы посоветовала создать такую же ТЗ и при переборе строк с основной методом найти строки записывать только уникальные данные)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.