Имя: Пароль:
1C
 
Удаление дублей из документа
,
0 geniusbsd
 
30.11.15
11:15
Добрый день
Заполняю документ Ввод остатков товара из Excel идет поиск номенклатуры по штрихкодам  
Т.к. у одного товара может быть несколько штрихкодов
то в документ несколько строк одинаковые
Пытаюсь удалить дубли таким образом

1 Вариант

ТЗ=СоздатьОбъект("ТаблицаЗначений");
Док.ВыгрузитьТабличнуюЧасть(ТЗ);
ТЗ.Свернуть("Товар,Количество,Еденица,Коэффициент,ЦенаБезНДС,ЦенаСНДС,СуммаБезНДС,СуммаСНДС,ЦенаБезНДСРеал,ЦенаСНДСРеал,СуммаБезНДСРеал,СуммаСНДСРеал",);
Док.ЗагрузитьТабличнуюЧасть(ТЗ);

Мне нужно свернуть тошлько по наименованию, а сворачивается даже если одинаковая цена и количество

2 Вариант

ТЗ=СоздатьОбъект("ИндексированнаяТаблица");
Док.ВыгрузитьТабличнуюЧасть(ТЗ);
ТЗ.Группировать("Товар:Товар",0);
Док.ЗагрузитьТабличнуюЧасть(ТЗ);

Ошибка Поле агрегатного объекта не обнаружено (Группировать)
1 Горогуля
 
30.11.15
11:17
а ну и чо?
2 Господин ПЖ
 
30.11.15
11:17
>Мне нужно свернуть тошлько по наименованию, а сворачивается даже если одинаковая цена и количество

стандартный диагноз - рукож.пие
3 geniusbsd
 
30.11.15
11:19
(2) Хорошо а ка правильно удалить дубли из табличной части документа?
4 Лефмихалыч
 
30.11.15
11:20
ТЗ.Свернуть("Товар,Еденица,Коэффициент,ЦенаБезНДС,ЦенаСНДС,СуммаБезНДС,СуммаСНДС,ЦенаБезНДСРеал,ЦенаСНДСРеал,СуммаБезНДСРеал,СуммаСНДСРеал","Количество");
5 aka AMIGO
 
30.11.15
11:21
Вместо ТЗ.Группировать("Товар:Товар",0);
примени
ТЗ.НоваяКолонка("Кол");
ТЗ.Заполнить(1,,,"Кол");
ТЗтмп = СоздатьОбъект("ТаблицаЗначений");
ТЗ.Выгрузить(ТЗТмп);
ТЗТмп.Свернуть("Товар","Кол");

И проверь в цикле, если Кол>1 - у тебя дубль
6 aka AMIGO
 
30.11.15
11:24
А лучше - так:
ТЗтмп = СоздатьОбъект("ТаблицаЗначений");
ТЗ.Выгрузить(ТЗТмп);
ТЗтмп.НоваяКолонка("Кол");
ТЗтмп.Заполнить(1,,,"Кол");
ТЗТмп.Свернуть("Товар","Кол");

ЗЫ. поспешил я немного..
7 geniusbsd
 
30.11.15
11:24
(4) Мне не надо складывать количество
8 Лефмихалыч
 
30.11.15
11:26
(7) тогда у тебя уже всё правильно работает
9 aleks_default
 
30.11.15
11:33
"Т.к. у одного товара может быть несколько штрихкодов "
Это как?
10 geniusbsd
 
30.11.15
11:35
(8)
Вот Файл
Товар  штрихкод  цена Кол
Товар1;Штрихкод1;3,89;15
Товар2;Штрихкод2;10,13;4
Товар3;Штрихкод3;10,13;4

Сворачивается Товар2 и Товар3 Котя это разные товары
11 geniusbsd
 
30.11.15
11:36
(9) Производитель сменил штрихкод а товар со старым штрихкодом еще есть на остатках
12 АдинС
 
30.11.15
11:37
(9) Отключен контроль уникальности штриходов
13 АдинС
 
30.11.15
11:37
(12) Не то написал я чето..))
14 Godofsin
 
30.11.15
11:40
(10) Врешь.
15 aleks_default
 
30.11.15
11:41
(11) Т. е. вы завели новый товар с таким же наименованием и новым штрихкодом?
16 geniusbsd
 
30.11.15
11:41
(14) Вот мне скучно стало и я в форум полез :)
17 aka AMIGO
 
30.11.15
11:42
(11) штрихкод есть в ТЧ?

И что это за оператор
ТЗ=СоздатьОбъект("ИндексированнаяТаблица"); ??
У тебя 7-ка или 8-ка?

(15) С новым наименованием и старым (имеющимся) штрихкодом :)
18 geniusbsd
 
30.11.15
11:43
(15) В тис В УТ можно одному товару присваивать несколько штрихкодов
19 geniusbsd
 
30.11.15
11:44
(17) в ТЧ документа нет штрихкода
ТЗ=СоздатьОбъект("ИндексированнаяТаблица");
библиотека 1Cpp
20 aka AMIGO
 
30.11.15
11:46
(19) Угу, понятно.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан