Имя: Пароль:
1C
1С v8
Помогите еще одному чайнику с отчетами
,
0 LenOk_86
 
13.12.11
12:11
Поставили задачу перекинуть отчет с 7-ки на 8-ку. С кодом разобралась, вот с группировкой застряла и с созданием объекта, не могу найти как перевести семерочный код

"Спр = СоздатьОбъект("Справочник.Контрагенты");  и
        Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл"

Помогите, пожалуйста!!!!
13 LenOk_86
 
13.12.11
13:16
Вы ж без фотки не принимаете! :)
14 Mans
 
13.12.11
13:29
странно, что топик о выборке, сам запрос видимо рулит
15 LenOk_86
 
13.12.11
13:42
Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб, стр;
   Перем Контр;
   
   ИтПрих =0;
   ИтПрихБезНДС = 0;
   ИтРасх = 0;
   ИтРасхБезНДС = 0;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |БанковскаяВыписка = Документ.БанковскаяВыписка.ТекущийДокумент;
   |Контрагент = Документ.БанковскаяВыписка.Контрагент;  
   |Договор = Документ.БанковскаяВыписка.Договор;
   |Сумма = Документ.БанковскаяВыписка.Сумма;
   |СуммаНДС = Документ.БанковскаяВыписка.СуммаНДС;
   |ВидДвижения = Документ.БанковскаяВыписка.ВидДвижения;
   |Функция СуммаСумма = Сумма(Сумма);
   |Функция СуммаНДССумма = Сумма(СуммаНДС);
   |Группировка Договор;
   |Группировка БанковскаяВыписка;  
   |Условие (ВидДвижения = Перечисление.ВидыДвиженийПоРасчетномуСчету.Приход);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   
   ТЗ.Очистить();
   ТЗ.НоваяКолонка("Контрагент");  
   ТЗ.НоваяКолонка("Договор");
   ТЗ.НоваяКолонка("СуммаСумма");
   ТЗ.НоваяКолонка("СуммаНДССумма");
   Спр = СоздатьОбъект("Справочник.Контрагенты");
   
   Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл
           Спр.НайтиПонаименованию(СокрЛП(Запрос.Контрагент),0);
           Если Спр.Выбран()=1 Тогда
               Если Спр.КорпССуб = 1 Тогда  
                   ТЗ.НоваяСтрока();
                   ТЗ.Контрагент=Запрос.Контрагент;  
                   ТЗ.Договор=Запрос.Договор;  
                   ТЗ.СуммаСумма=Запрос.СуммаСумма;  
                   ТЗ.СуммаНДССумма=Запрос.СуммаНДССумма;  
               КонецЕсли;    
           КонецЕсли;
       КонецЦикла;  
   КонецЦикла;  
   
   ТЗ.Свернуть("1,2","3,4");  
   ТЗ.НоваяКолонка("Подрядчик");  
   ТЗ.НоваяКолонка("БВ");
   ТЗ.НоваяКолонка("СуммаСНДС");
   ТЗ.НоваяКолонка("СуммаНДС");  
   
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |БанковскаяВыписка = Документ.БанковскаяВыписка.ТекущийДокумент;
   |Контрагент = Документ.БанковскаяВыписка.Контрагент;  
   |Договор = Документ.БанковскаяВыписка.Договор.ДоговорЗаказчик;
   |Сумма = Документ.БанковскаяВыписка.Сумма;
   |СуммаНДС = Документ.БанковскаяВыписка.СуммаНДС;
   |ВидДвижения = Документ.БанковскаяВыписка.ВидДвижения;
   |Функция СуммаСумма = Сумма(Сумма);
   |Функция СуммаНДССумма = Сумма(СуммаНДС);  
   |Группировка Договор;
   |Группировка Контрагент;
   |Группировка БанковскаяВыписка;  
   |Условие (ВидДвижения = Перечисление.ВидыДвиженийПоРасчетномуСчету.Расход);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;    
   
   Спр = СоздатьОбъект("Справочник.Контрагенты");    
   Дог = СоздатьОбъект("Справочник.Договора");  
   
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   
   Пока Запрос.Группировка(1) = 1 Цикл  
       Если СокрЛП(Запрос.Договор)<>"" Тогда
           стр = 0;
           Если ТЗ.НайтиЗначение(Запрос.Договор,стр,"Договор")=1 Тогда
               ТЗ.УстановитьЗначение(стр,"СуммаСНДС",Запрос.СуммаСумма);  
               ТЗ.УстановитьЗначение(стр,"СуммаНДС",Запрос.СуммаНДССумма);      
           Иначе  
               ТЗ.НоваяСтрока();  
               Если Дог.НайтиЭлемент(Запрос.Договор)=1 Тогда    
                   Спр.НайтиЭлемент(Дог.Владелец);
                   ТЗ.Контрагент = Спр.ТекущийЭлемент();
                   ТЗ.Договор = Запрос.Договор;
                   ТЗ.СуммаСНДС=Запрос.СуммаСумма;  
                   ТЗ.СуммаНДС=Запрос.СуммаНДССумма;  
               КонецЕсли;
           КонецЕсли;  
           Пока Запрос.Группировка(2) = 1 Цикл  
               Если Стр<>0 Тогда  
                   стр = стр+1;
                   ТЗ.НоваяСтрока(стр);
               Иначе
                   ТЗ.НоваяСтрока();
               КонецЕсли;                ;  
               ТЗ.Подрядчик=Запрос.Контрагент;  
               ТЗ.СуммаСНДС=Запрос.СуммаСумма;  
               ТЗ.СуммаНДС=Запрос.СуммаНДССумма;
               Пока Запрос.Группировка(3) = 1 Цикл  
                   Если Стр<>0 Тогда    
                       стр = стр+1;
                       ТЗ.НоваяСтрока(стр);
                   Иначе
                       ТЗ.НоваяСтрока();
                   КонецЕсли;
                   ТЗ.Подрядчик=Запрос.Контрагент;
                   ТЗ.БВ=Запрос.БанковскаяВыписка;
                   ТЗ.СуммаСНДС=Запрос.СуммаСумма;  
                   ТЗ.СуммаНДС=Запрос.СуммаНДССумма;    
               КонецЦикла;  
           КонецЦикла;
       КонецЕсли;
   КонецЦикла;  
   
   ТЗ.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1 Цикл
       Если ((СокрЛП(ТЗ.Подрядчик)="") и (СокрЛП(ТЗ.БВ)="")) Тогда  
           ИтПрих = ИтПрих + Тз.СуммаСумма;  
           ИтПрихБезНДС = ИтПрихБезНДС + (Тз.СуммаСумма-ТЗ.СуммаНДССумма);
           ИтРасх = ИтРасх + Тз.СуммаСНДС;  
           ИтРасхБезНДС = ИтРасхБезНДС + (Тз.СуммаСНДС-ТЗ.СуммаНДС);
           Таб.ВывестиСекцию("Контрагент");
       ИначеЕсли ((СокрЛП(ТЗ.Подрядчик)<>"") и (СокрЛП(ТЗ.БВ)="")) Тогда
           Таб.ВывестиСекцию("Подрядчик");  
       ИначеЕсли (СокрЛП(ТЗ.БВ)<>"") Тогда
           Таб.ВывестиСекцию("БанковскаяВыписка");
       КонецЕсли;
   КонецЦикла;
   // Вывод заполненной формы  
   Таб.ВывестиСекцию("Итого");
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
КонецПроцедуры;
Перевести с 7-ки на 8-ку кто-то может?
16 dva1c
 
13.12.11
13:49
(15) эвон, оно как! надо не ответить на вопрос, а "Перевести с 7-ки на 8-ку..."
да-а... дела...
17 Mans
 
13.12.11
13:49
БанковскаяВыписка это видимо ПоступлениеНаРасчетныйСчет?
18 Ненавижу 1С
 
гуру
13.12.11
13:50
(15) 30 рублей строка кода за перевод устроит?
19 Explorer1c
 
13.12.11
13:51
(15)Для решения этой задачи требуется фотка топлесс ,когда выложишь?
20 dva1c
 
13.12.11
13:53
(18)+1 )
21 LenOk_86
 
13.12.11
13:56
БанковскаяВыписка это документ в семерке по движению денег, а в 8-ке используеться ПлатежноеПоручениеВходящее и ПлатежноеПоручениеИсходящее.
22 LenOk_86
 
13.12.11
13:56
Explorer1c, выложить, выложу, а где гарантия что правильное решение напишешь? :)
23 dva1c
 
13.12.11
14:11
(22) из (0): "С кодом разобралась..."
приведи в пример 8-ный код. задай вопрос, тогда легче будет помогать.
24 LenOk_86
 
13.12.11
14:19
Борюсь с этим куском.
Спр = СоздатьОбъект("Справочник.Контрагенты");
   
   Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл
           Спр.НайтиПонаименованию(СокрЛП(Запрос.Контрагент),0);
           Если Спр.Выбран()=1 Тогда
               Если Спр.КорпССуб = 1 Тогда  
                   ТЗ.НоваяСтрока();
                   ТЗ.Контрагент=Запрос.Контрагент;  
                   ТЗ.Договор=Запрос.Договор;  
                   ТЗ.СуммаСумма=Запрос.СуммаСумма;  
                   ТЗ.СуммаНДССумма=Запрос.СуммаНДССумма;  
               КонецЕсли;    
           КонецЕсли;
       КонецЦикла;  
   КонецЦикла;  
Запросы объединила в один, получила результат.
Застряла на группировке, ругаеться на Запрос.Группировка - это первое. и второе не знаю какой объект указать при спр = новый .....
25 LenOk_86
 
13.12.11
14:19
Кусок 7-ный
26 Mans
 
13.12.11
14:21
читай (2), "Группировка"="Выборка"
27 zak555
 
13.12.11
14:22
Спр.НайтиПонаименованию(СокрЛП(Запрос.Контрагент),0);

убийца !
28 dva1c
 
13.12.11
14:24
(27)+100500 ))
29 Explorer1c
 
13.12.11
14:26
(22)если выложишь тут не только я тебе правильный ответ напишу по еще полста прогеров постараются,когда ждать то?
30 zak555
 
13.12.11
14:28
автор, фотку надо было вот такую выкладывать : http://s017.radikal.ru/i414/1112/ec/f7753aad4b4b.jpg
31 Explorer1c
 
13.12.11
14:29
(30)Топлесс будет лучше)
32 zak555
 
13.12.11
14:30
(31) другие приватно обещает
33 LenOk_86
 
13.12.11
14:31
Я вам не мешаю??? смотрю вы так мило общаетесь!!! :)
34 Explorer1c
 
13.12.11
14:32
(0)Скидывай фотку мне на мыло(никому не покажу) и я на всю ночь твой ручной 1с прогер
35 zak555
 
13.12.11
14:33
(33) скорее нет, чем да
36 LenOk_86
 
13.12.11
14:34
Mans, спасибо за ответ
37 LenOk_86
 
13.12.11
14:35
zak555тоже спасибо - Спр.НайтиПонаименованию(СокрЛП(Запрос.Контрагент),0);
38 Explorer1c
 
13.12.11
14:36
(37)Я тоже хочу спасибо и фотку(((
39 zak555
 
13.12.11
14:37
(37) проще написать, что нужно в итоге
40 zak555
 
13.12.11
14:37
(38) будешь в Днепропетровске - получишь и то, и то =)
41 LenOk_86
 
13.12.11
14:37
Explorer1c Так я от тебя только условия а не решения вижу
42 Wobland
 
13.12.11
14:40
эх, что фотка животворящая делает! ;)
43 LenOk_86
 
13.12.11
14:41
zak555 Должен получиться отчет за выбранные период с группировкой по контрагентам с номером договора, сумм на начало периода, обслуживающим подрядчиком, документом о движении денежных средств(в данном случае это выписки), и сумм на конец период.
44 zak555
 
13.12.11
14:45
(43) нарисую - проще будет мне объяснить
45 LenOk_86
 
13.12.11
15:07
нарисовать что?
46 LenOk_86
 
13.12.11
15:07
а где ты мою фотку вообща нашел?
47 zak555
 
13.12.11
15:07
себя в образе
48 zak555
 
13.12.11
15:08
(46) мы же тусили в Днепропетровске

всё забыла
49 LenOk_86
 
13.12.11
15:11
Видать хорошо тусили, раз забыла
50 zak555
 
13.12.11
15:12
(49) твоя любимая песня : "вечно молодая, вечно пьяная..."
51 Крепкий
 
13.12.11
15:15
а фотка=то поддельная
52 zak555
 
13.12.11
15:18
(51) см. в (30)
53 Mans
 
13.12.11
15:23
видимо модель, выложенная в профиле, не позирует топлес, так что долго придется ждать,
да и запрос не к спеху
54 zak555
 
13.12.11
15:34
55 Explorer1c
 
13.12.11
15:36
(0)Нехорохо обманывать дядей подставными фотками)
56 LenOk_86
 
13.12.11
15:38
Крепкий, сам ты поддельный
57 LenOk_86
 
13.12.11
15:39
Explorer1c, сам ты подставной
58 rotting
 
13.12.11
15:39
(56) http://www.facebook.com/profile.php?id=100001555364683   год выпуска 1991 вызывает сомнения))))
59 Explorer1c
 
13.12.11
15:40
(57)Тогда вышли мне на почту фотку топлес,в трусиках,а в руке тетрадку держи!)
60 LenOk_86
 
13.12.11
15:41
rotting где ты там видишь год выпуска 1991?
61 zak555
 
13.12.11
15:42
(58) а тут 30 апреля 1986 г.

http://vkontakte.ru/id12338210
62 Explorer1c
 
13.12.11
15:42
(60)От спасибо! Пацаны,это действительно ее фотка!
63 LenOk_86
 
13.12.11
15:44
я чё-то не пойму, это 1С ный форум, или как?
64 Ненавижу 1С
 
гуру
13.12.11
15:45
(63) мы рады Вас приветствовать!
65 rotting
 
13.12.11
15:45
66 LenOk_86
 
13.12.11
15:47
читай внимательно, год выпуска со школы!
67 Конфигуратор1с
 
13.12.11
15:48
(66) в пять лет со школы выпустилась?
68 rotting
 
13.12.11
15:50
(66) с анкетой на фейсбуке не справилась.....  а тут с 77 на 8)))))))))))))
69 Конфигуратор1с
 
13.12.11
15:51
(0) к (15) это все делается одним запросом.
70 Конфигуратор1с
 
13.12.11
15:52
Зачем тебе запрос к документам?
71 Explorer1c
 
13.12.11
15:52
(65)(61)Кстати,а как вы вышли на фотографии  и анкеты,если не секрет?)
72 LenOk_86
 
13.12.11
15:53
если вм больше нечем заняться, кроме как по соцсетям лазить, то не надо к другим цепляться. Я не фанат соцсетей, и не сижу там днями и ночами, и по-этому что там указано правильно, а что нет, я на этом не замарачиваюсь. для меня это не столь важно. а ты прям очень умен, вместо того что б дельный совет дать, он фигней занимаеться, лазя по соцсетям.
73 LenOk_86
 
13.12.11
15:54
Конфигуратор1с, это часть кода, который в 7-ке работал, сейчас я запрос делаю к РН в 8-ке
74 LenOk_86
 
13.12.11
15:55
Explorer1c, а им заняться больше нечем!
75 Mans
 
13.12.11
15:55
(72) да какой те совет, разжевали уж все ... а на фотке держи свежий NewsWeek
76 rotting
 
13.12.11
15:55
(71) у нее аська в профиле написана)))
77 zak555
 
13.12.11
15:55
(71) я давний друг, которого она не помнит
rotting видимо тоже

=)
78 Anita_Rost
 
13.12.11
15:56
Лена, Вам бы получше узнать 8-ку. Это надо делать не в выборке, а в запросе
79 rotting
 
13.12.11
15:57
(73) у тебя подход не правильный, версию конфы напиши, напиши какой отчет нужен. 77 и 8 очень разные, и принципы написания отчетов тоже.
80 Explorer1c
 
13.12.11
15:57
(74)Дамочка,вы уже должны стыдливо попискивать в уголке,надеясь на прощение)))) (76)а че через аську нашли чтоли? Чисто спртивный интерес)
81 LenOk_86
 
13.12.11
15:58
Если б я очень хорошо знала б 8-ку, как вы думаете я б на форумах лазила б?
82 rotting
 
13.12.11
15:58
(81) ну мы же лазим)))))
83 rotting
 
13.12.11
15:59
(80) ну там в профиле имя и фамилия, плюс город, что еще надо то?
84 Explorer1c
 
13.12.11
15:59
(82)+19000)))))
85 LenOk_86
 
13.12.11
15:59
лазите, только не понятно для чего. конфа УТП. отчет нужен Анализ Оплат с разбивкой по контрагентам
86 rotting
 
13.12.11
16:01
(85) делай запрос по регистру ВзаиморасчетыСКонтрагентами, учи СКД
87 Mans
 
13.12.11
16:01
(81) неправильный подход, на форумах часто помогают, но при равенстве полов одих обложат ..., а с других фотку потребуют
88 Explorer1c
 
13.12.11
16:02
(83)А,так это ее фотки чтоли?) Анкеты то на не оформлены)
89 LenOk_86
 
13.12.11
16:02
rotting, я результат запроса через ВзаиморасчетыСКонтрагентами получила
90 rotting
 
13.12.11
16:04
(89) запрос покажи, и скан отчета который в 77 работает
91 rotting
 
13.12.11
16:05
(88) ну вроде ее)))  Начинаешь помогать???))
92 LenOk_86
 
13.12.11
16:08
Запрос = новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
                   |    ВзаиморасчетыСКонтрагентами.Контрагент.Наименование КАК Контрагент,
                   |    ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента.Наименование КАК Договор,
                   |    СУММА(ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетов) КАК Сумма,
                   |    ВзаиморасчетыСКонтрагентами.Период КАК Период
                   |ИЗ
                   |    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
                   |ГДЕ
                   |    ВзаиморасчетыСКонтрагентами.Период МЕЖДУ &НачПериода И &КонПериода
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВзаиморасчетыСКонтрагентами.Контрагент.Наименование,
                   |    ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента.Наименование,
                   |    ВзаиморасчетыСКонтрагентами.Период
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Период,
                   |    Контрагент,
                   |    Договор,
                   |    Сумма
                   |ИТОГИ
                   |    СУММА(Сумма)
                   |ПО
                   |    ОБЩИЕ";
                   
                   
    Результат = Запрос.Выполнить();
93 zak555
 
13.12.11
16:09
где виртуальная таблица ?
94 LenOk_86
 
13.12.11
16:09
отчет могу в эксель выгрузить
95 Конфигуратор1с
 
13.12.11
16:14
(85) оплат чего? в утп если ведется учет взаиморасчетов по заказам или по счетам все и так красиво видно стандартными    отчетами
96 LenOk_86
 
13.12.11
16:27
оплата полученная от Заказчика, и оплата отправленная подрядным организациям
97 LenOk_86
 
13.12.11
16:29
групировка по котрагенту, по полученым от них денег, и в свою очередь сколько оплат провели мы подрядным организациям по этим же договорам
98 Конфигуратор1с
 
13.12.11
16:33
(97) так есть чудненький отчет по взаиморасчетам штатный. и Ваять не надо ничего.
99 Конфигуратор1с
 
13.12.11
16:34
(97) тут вообще делается через заказы покупателям и поставщикам.
100 Конфигуратор1с
 
13.12.11
16:34
100
101 zak555
 
13.12.11
16:34
ещё кипятите ?
102 LenOk_86
 
13.12.11
16:35
заказов нет, деньги полученные за услуги, которые в свою очередь предоставляет субподряд
103 Конфигуратор1с
 
13.12.11
16:43
(102) надо брать не таблицу взаиморасчетов а виртуальную обороты
104 LenOk_86
 
13.12.11
17:01
сейчас как раз пишу запрос с РН ВзаиморасчетыОстаткиИОбороты
105 Конфигуратор1с
 
13.12.11
17:22
(104) тебе только оплаты или сумму задолженности нужна? если сумма задолженности не нужна, тогда таблица остатки и обороты не нужно брать, только обороты
106 Конфигуратор1с
 
13.12.11
17:23
и пора выкладывать уже что там пишешь
107 Mans
 
13.12.11
17:39
вот недолго отсутствовал, а почему 7-шный запрос так сильно разрос?
108 Mans
 
13.12.11
17:41
всю мировую скорбь решили в одну копку "Сформировать" поместить?
109 LenOk_86
 
13.12.11
18:29
Почем разрос?
110 Mans
 
13.12.11
19:10
да запросы то на полтора десятка строк уже 6 часов мусолятся
111 LenOk_86
 
13.12.11
19:21
так это кому минус? чайнику или вам опытным прогерам?
112 Mans
 
13.12.11
19:32
ну стадию обсуждения наличия белья уже прошли, пора на (106) отвечать
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.