Имя: Пароль:
1C
1С v8
отчет в 1С удалить повторяющиеся строки
0 laska1983
 
18.10.11
13:47
Необходимо из полученнный ТЗ удалить повторяюшиеся строки по Колонке Документ.
Свернуть () не работает.
Помогите, пожалуйста.

Процедура ВыполнитьНажатие(Элемент)
         
   Запрос = Новый Запрос;
   
   Запрос.УстановитьПараметр("ДатаКон",ДатаКон);//Дата
   
   Запрос.УстановитьПараметр("Счет6001",Счет);//План счетов бухгалтерского учета
   
   
   Запрос.Текст="ВЫБРАТЬ
   |    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
   |    ХозрасчетныйОстатки.Субконто3 КАК Документ,
   |    ХозрасчетныйОстатки.СуммаОстатокКт КАК Сумма,
   |    ПоступлениеТоваровУслуг.НомерВходящегоСчетаФактуры КАК Номер,
   |    ПоступлениеТоваровУслуг.ДатаВходящегоСчетаФактуры КАК Дата,
   |    ПоступлениеТоваровУслугУслуги.Содержание КАК Содержание
   |ИЗ
   |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, Счет = &Счет6001, , ) КАК ХозрасчетныйОстатки
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
   |            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
   |            ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
   |        ПО ХозрасчетныйОстатки.Субконто3 = ПоступлениеТоваровУслуг.Ссылка
   |ГДЕ
   |    ХозрасчетныйОстатки.СуммаОстатокКт <> 0";
   
   Результат = Запрос.Выполнить();
   
ТЗ =  Результат.Выгрузить();
   
   ТЗ1 = ТЗ.Скопировать();
1 PR
 
18.10.11
13:48
СГРУППИРОВАТЬ
2 laska1983
 
18.10.11
13:51
Как это написать в коде?
Спасибо!
3 aleks-id
 
18.10.11
13:52
ВЫБРАТЬ РАЗЛИЧНЫЕ
4 aleks-id
 
18.10.11
13:53
+(3)
РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, , , ) КАК ХозрасчетныйОстатки
ГДЕ Счет = &Счет6001
5 aleks-id
 
18.10.11
13:54
..хотя можно без (4)
6 laska1983
 
18.10.11
13:57
aleks-id,
как правильно?
мне нужно, чтобы мои документы ПТУ не дублировались.

я могу с полученной ТЗ1 работать как с таблицей?
или нет???
7 GenV
 
18.10.11
13:57
(3) У неё по другой причине ) v8: запрос по счету 60.01
8 laska1983
 
18.10.11
14:00
угу, я все мучаюсь.
9 GenV
 
18.10.11
14:05
(8) Я уже говорил. Добавь ИТОГИ в конструкторе запросов. В верную таблицу перетащи субконто1, субконто3, в нижнюю СуммаОтстатокКт и выбери МАКСИМУМ.
Потом программно выведешь по группировкам.
10 aleks-id
 
18.10.11
14:12
а если так?
   
   Запрос.Текст="ВЫБРАТЬ
   |    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
   |    ХозрасчетныйОстатки.Субконто3 КАК Документ,
   |    ХозрасчетныйОстатки.СуммаОстатокКт КАК Сумма,
   |    ХозрасчетныйОстатки.Субконто3.НомерВходящегоСчетаФактуры КАК Номер,
   |    ХозрасчетныйОстатки.Субконто3.ДатаВходящегоСчетаФактуры КАК Дата,
   |    ХозрасчетныйОстатки.Субконто3.Содержание КАК Содержание
   |ИЗ
   |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, Счет = &Счет6001, , ) КАК ХозрасчетныйОстатки
   |ГДЕ
   |    ХозрасчетныйОстатки.СуммаОстатокКт <> 0";
11 laska1983
 
18.10.11
14:28
aleks-id, все классно, но не выводит Содержание!
12 aleks-id
 
18.10.11
14:33
содержание это что?
13 ДенисЧ
 
18.10.11
14:34
(12) содержание операции. Или проводки...
И он хочет его увидеть в остатках....
14 ДенисЧ
 
18.10.11
14:34
Точнее, она...
15 laska1983
 
18.10.11
14:36
Да, хочу видеть хоть одну строчку из ПТУ.Услуги.
16 ДенисЧ
 
18.10.11
14:40
(15) в остатках? О_о
17 aleks-id
 
18.10.11
14:45
жесть. а если там 3 строчки?
18 Ювелир
 
18.10.11
14:47
можно вложенным запросом по пту.услуги, в запросе указать только первую строку (top 1), соединить с этим по условию
19 laska1983
 
18.10.11
14:51
Ребята, подскажите, пожалуйста, как программно это реализовать?
голову сломала уже.
20 Axel2009
 
18.10.11
14:51
(18) ну давай наваяй запросик то, если выводится не 1 документик, а 10 и в каждом по 3 строки
21 Axel2009
 
18.10.11
14:52
(19) выводи МАКСИМУМ(Содержание) раз без разницы что выводить.
22 laska1983
 
18.10.11
15:21
Не дает вывести МАКСИМУМ(Содержание),т.к. поле неограниченной длины
23 laska1983
 
18.10.11
15:44
Ювелир,
как указать только первую строку????
24 laska1983
 
18.10.11
16:00
Народ!!!
помогите, пожалуйста!!!
25 laska1983
 
18.10.11
16:00
ВЫБРАТЬ
   ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
   ХозрасчетныйОстатки.Субконто3 КАК Документ,
   ХозрасчетныйОстатки.СуммаОстатокКт КАК Сумма,
   ПоступлениеТоваровУслуг.НомерВходящегоСчетаФактуры КАК Номер,
   ПоступлениеТоваровУслуг.ДатаВходящегоСчетаФактуры КАК Дата,
   ВложенныйЗапрос.Содержание
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, Счет = &Счет6001, , ) КАК ХозрасчетныйОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
               ПоступлениеТоваровУслугУслуги.Ссылка КАК Ссылка,
               ПоступлениеТоваровУслугУслуги.Содержание КАК Содержание
           ИЗ
               Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги) КАК ВложенныйЗапрос
           ПО ПоступлениеТоваровУслуг.Ссылка = ВложенныйЗапрос.Ссылка
       ПО ХозрасчетныйОстатки.Субконто3 = ПоступлениеТоваровУслуг.Ссылка
ГДЕ
   ХозрасчетныйОстатки.СуммаОстатокКт <> 0
26 GenV
 
19.10.11
00:05
(25) Покажи хоть такой, если все равно не понимаешь:

ВЫБРАТЬ
   ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
   ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
   ПоступлениеТоваровУслугУслуги.Содержание КАК Содержание,
   ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт,
   ПоступлениеТоваровУслуг.НомерВходящегоСчетаФактуры,
   ПоступлениеТоваровУслуг.ДатаВходящегоСчетаФактуры
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, Счет = &Счет6001, , ) КАК ХозрасчетныйОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
       ПО ХозрасчетныйОстатки.Субконто3 = ПоступлениеТоваровУслугУслуги.Ссылка
           И (ПоступлениеТоваровУслугУслуги.НомерСтроки = 1)
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
       ПО ХозрасчетныйОстатки.Субконто3 = ПоступлениеТоваровУслуг.Ссылка
ГДЕ
   ХозрасчетныйОстатки.СуммаОстатокКт <> 0
27 Axel2009
 
19.10.11
09:14
МАКСИМУМ(ВЫРАЗИТЬ(Содержание КАК Строка(254))