![]() |
|
Найти в ТаблицеЗначений дубли строк | ☑ | ||
---|---|---|---|---|
0
Popkorm
01.11.11
✎
15:29
|
Цель задачи:Создать для каждого ИсполЕксель(Контрагент)свой Документ.
С Екселя выгрузил в ТЗ : ТаблЕксель = Новый ТаблицаЗначений; ТаблЕксель.Колонки.Добавить("НомЕксель"); ТаблЕксель.Колонки.Добавить("ISBNЕксель"); ТаблЕксель.Колонки.Добавить("РаботаЕксель"); ТаблЕксель.Колонки.Добавить("КолЕксель"); ТаблЕксель.Колонки.Добавить("СтоимЕксель"); ТаблЕксель.Колонки.Добавить("СуммаЕксель"); ТаблЕксель.Колонки.Добавить("ИсполЕксель"); ТаблЕксель.Колонки.Добавить("РедакЕксель"); НомерПервойСтроки = 2; Для Row = НомерПервойСтроки По RowCount Цикл НС = ТаблЕксель.Добавить(); НС.НомЕксель = СокрЛП(ExcelЛист.Cells(Row,1).Text); НС.ISBNЕксель = СтрЗаменить((ExcelЛист.Cells(Row,2).Text)," ",""); НС.РаботаЕксель = СтрЗаменить((ExcelЛист.Cells(Row,3).Text)," ",""); НС.КолЕксель = СтрЗаменить((ExcelЛист.Cells(Row,4).Text)," ",""); НС.СтоимЕксель = СтрЗаменить((ExcelЛист.Cells(Row,5).Text)," ",""); НС.СуммаЕксель = СтрЗаменить((ExcelЛист.Cells(Row,6).Text)," ",""); НС.ИсполЕксель = СокрЛП(ExcelЛист.Cells(Row,7).Text); НС.РедакЕксель = СтрЗаменить((ExcelЛист.Cells(Row,10).Text)," ",""); КонецЦикла; в строках есть повторяющий ИсполЕксель(Контрагент)с разными значениями.Если по одному ИсполЕкселю в ТаблЕксель несколько строк,то это будит отдельный док по этому ИсполЕксель(Контрагент). Пробывал делать так, но чушь: Для Каждого СтрЕксель Из ТаблЕксель Цикл НоваяСтр = ТабНовый.Добавить(); Поиск = ТабНовый.Найти(СтрЕксель.ИсполЕксель,"ИсполЕксель"); Если Поиск = Неопределено Тогда ЗаполнитьЗначенияСвойств(НоваяСтр,СтрЕксель); Иначе НСДубли = ТабДубли.Добавить(); ЗаполнитьЗначенияСвойств(НСДубли,СтрЕксель); КонецЕсли; КонецЦикла; |
|||
1
Нуф-Нуф
01.11.11
✎
15:30
|
заполни таблицу и выполни к ней запрос
|
|||
2
Maxus43
01.11.11
✎
15:31
|
я бы в запрос эту таблицу запихнул, сделал бы итоги по контрагенту, и в итоге на каждую группировку получилс бы свой док
|
|||
3
Рэйв
01.11.11
✎
15:33
|
(0)Долбавь колонку типа Число, заполни ее 1 и сверни.
Там где >1 - дубли |
|||
4
Popkorm
01.11.11
✎
15:40
|
(2)а получать из запроса по ДеревоЗначений Группировки?!
|
|||
5
Maxus43
01.11.11
✎
15:49
|
(4) типа да, ну где ОбходРезуьтатаЗапроса по Группировкам... как обычно с деревом работаем после запроса
|
|||
6
zbv
01.11.11
✎
15:55
|
можно сразу из экселя в дерево прихать
|
|||
7
Popkorm
01.11.11
✎
16:56
|
(6)просто там тогда условие придется мудрить
|
|||
8
Popkorm
01.11.11
✎
17:13
|
почему Выборка ТипЗначения =Неопределено,блин на днях делал по МВТ,обработку найти не могу
ТабНовый = Новый ТаблицаЗначений; ТабНовый.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТабНовый.Колонки.Добавить("ISBN",Новый ОписаниеТипов("Строка")); ТабНовый.Колонки.Добавить("НУслуга",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТабНовый.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число")); ТабНовый.Колонки.Добавить("Стоимость",Новый ОписаниеТипов("Число")); ТабНовый.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число")); ТабНовый.Колонки.Добавить("Контрагент",Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ТабНовый.Номенклатура, | ТабНовый.ISBN, | ТабНовый.НУслуга, | ТабНовый.Количество, | ТабНовый.Стоимость, | ТабНовый.Сумма, | ТабНовый.Контрагент |ПОМЕСТИТЬ ВТ |ИЗ | &ТабНовый КАК ТабНовый |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТабНовый.Номенклатура, | ТабНовый.ISBN, | ТабНовый.НУслуга, | ТабНовый.Количество, | ТабНовый.Стоимость, | ТабНовый.Сумма, | ТабНовый.Контрагент КАК Контрагент |ИЗ | ВТ КАК ТабНовый" ; Запрос.УстановитьПараметр("ТабНовый",ТабНовый); Выборка = Запрос.Выполнить().Выбрать(); |
|||
9
Popkorm
01.11.11
✎
17:29
|
так тоже не получается:
ТабНовый = Новый ТаблицаЗначений; ТабНовый.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТабНовый.Колонки.Добавить("ISBN",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(15))); ТабНовый.Колонки.Добавить("НУслуга",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТабНовый.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(15,0))); ТабНовый.Колонки.Добавить("Стоимость",Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(15,0))); ТабНовый.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(15,2))); ТабНовый.Колонки.Добавить("Контрагент",Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); |
|||
10
FIXXXL
01.11.11
✎
17:33
|
(0) НайтиСтроки пробовал?
|
|||
11
FIXXXL
01.11.11
✎
17:35
|
+(10) т.е. копируешь свою таблицу, сворачиваешь по ИсполЕксель, а там цикл по поиску строк, где итератор (значение отбора) - ИсполЕксель из свернутой таблицы
|
|||
12
izekia
01.11.11
✎
17:38
|
а вот скажите, когда я таблицу пихаю в запрос и выполняю его относительно только этой таблицы, она ведь все равно сохраняется и выполняется на сиквеле?
|
|||
13
Popkorm
01.11.11
✎
17:41
|
(11)а примерик покажи,а то уже во Врменных плаваю
|
|||
14
Popkorm
01.11.11
✎
17:49
|
(12)Свернуть не получится,т.к. Номенклатура разные у Дубли(ИсполЕксель)
|
|||
15
Popkorm
01.11.11
✎
17:51
|
(12) ВременТабл помоему все на сиквеле висят
|
|||
16
Snorkler
01.11.11
✎
17:58
|
(0) Копируешь из ТаблЕксель колонку ИсполЕксель, сворачиваешь и в цикле по контрагенту ищешь нужные строки в ТаблЕксель…
|
|||
17
Popkorm
01.11.11
✎
18:11
|
(16)покажи примерик по Скопировать и Свернуть
|
|||
18
Reset
01.11.11
✎
18:13
|
(17)
(с) СП Пример: НовТаблицаЦен = ТаблицаЦен.Скопировать(); Пример: ТаблицаЦен.Свернуть("Товар, Валюта", "Цена"); Не стыдно? Примерчик как к два прибавить три не надо? |
|||
19
Popkorm
01.11.11
✎
18:22
|
(18)смысел Свернуть?!Если Товар разный,чего сварачивать?!
|
|||
20
Reset
01.11.11
✎
18:26
|
(19) Тебе виднее. Ты просил примеры, я тебе их скопировал. В твою задачу я не врубался (и не хочу)
|
|||
21
FIXXXL
02.11.11
✎
07:10
|
(19) если копию таблицы свернешь по одному полю, получишь в результате таблицу с одним полем
поэтому сначала копируй исходную таблицу |
|||
22
izekia
02.11.11
✎
13:47
|
ну и зачем тащить таблицу на сервер и там ее обрабатывать, вместо того чтобы обработать локально?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |