Имя: Пароль:
1C
1C 7.7
v7: Не корректный вывод в таблицу
0 abbas
 
24.10.12
11:09
http://pixs.ru/showimage/SnimokPNG_7097010_6141796.png
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка|Контрагент");

Если ТабЗнач.ДатаДок<>ДатаДок Тогда
Таб.ПрисоединитьСекцию("Строка|Столбец");
ДатаДок = ТабЗнач.ДатаДок;
Иначе
Таб.ПрисоединитьСекцию("Строка|Столбец");
КонецЕсли;

КонецЦикла;

Выводит все, но почему то в одну колонку, если дата другая документа то должен выводить рядом, но поему все в одну, подскажите в чем может быть дело?
1 1Сергей
 
24.10.12
11:10
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка|Контрагент"); /// ---- вот это как бы перевод строки

Если ТабЗнач.ДатаДок<>ДатаДок Тогда
Таб.ПрисоединитьСекцию("Строка|Столбец");
ДатаДок = ТабЗнач.ДатаДок;
Иначе
Таб.ПрисоединитьСекцию("Строка|Столбец");
КонецЕсли;

КонецЦикла;
2 Mikeware
 
24.10.12
11:12
Это потому, что проблема тебя не покидает....
3 НЕА123
 
24.10.12
11:13
(0)
ускорю процесс

Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка|Контрагент");

Таб.ПрисоединитьСекцию("Строка|Столбец");
ДатаДок = ТабЗнач.ДатаДок;

КонецЦикла;
4 НЕА123
 
24.10.12
11:15
+(3)
неа.
вот так.
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл

Таб.ВывестиСекцию("Строка|Контрагент");

Таб.ПрисоединитьСекцию("Строка|Столбец");

КонецЦикла;
5 НЕА123
 
24.10.12
11:15
и вообще проще
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл

Таб.ВывестиСекцию("Строка");

КонецЦикла;
6 1Сергей
 
24.10.12
11:18
как-то так:

ПредКонтрагент = "";
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
   Если ПредКонтрагент <> ТабЗнач.Контрегент Тогда
       Таб.ВывестиСекцию("Строка|Контрагент"); /// ---- вот это как бы перевод строки
       ПредКонтрагент = ТабЗнач.Контрегент;
   КонецЕсли;
   Таб.ПрисоединитьСекцию("Строка|Столбец");
КонецЦикла;

Подправь под то, что тебе нужно
7 pofigos
 
24.10.12
11:24
ДатаДок = "";
Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
Если ТабЗнач.ДатаДок<>ДатаДок Тогда
 Таб.ВывестиСекцию("Строка|Контрагент");
КонецЕсли
Таб.ПрисоединитьСекцию("Строка|Столбец");
ДатаДок = ТабЗнач.ДатаДок; //
КонецЦикла;

Я бы описал так
8 pofigos
 
24.10.12
11:25
+(7)
Если ТабЗнач.ДатаДок<>ДатаДок Тогда
 Таб.ВывестиСекцию("Строка|Контрагент");
иначе
Таб.ВывестиСекцию("Пустая|Контрагент");
КонецЕсли
9 abbas
 
24.10.12
11:27
(2) ДА, теперь проблема но схожая, да не как не могу разобраться, понял как делать одно, а второе не могу понять и возникает такое что я вообще ничего не понял....

(5) ШютНик

(6) нет, я подставил, получил бардак...
(7) нет, также нет
10 Надсмотрщик
 
24.10.12
11:31
(9) А спеца пригласить религия не позволяет?
11 abbas
 
24.10.12
11:34
(10)религия тут не причем...
Хочу сам понять что да как...
12 Mikeware
 
24.10.12
11:36
(10) судя по более-менее идентифицированному ИПу - у них спецы - редкость.
А судя по последнему прокси - Амстердам - еще и в "своеобразном состоянии"
Хотя, может они и поставляют _это_ в амстердам...
13 Mikeware
 
24.10.12
11:45
(11) тогда все очень просто:
1)берешь бумажку и карандаш
2)Берешь свой код....
3) берешь ЖКК или СП
4) представляешь себя компутером, и "исполняешь код вручную", рисуя на бумажке...
14 abbas
 
24.10.12
11:49
(13) Чувство остроумия у тебя развито...Люди предлагают и советуют, т.к. они через это прошли, если смотреть на это то из тебя хороший принтер получится...пойдешь ко мне за 2000$ в месяц, подработаешь принтером...соглашайся
15 chief accountant
 
24.10.12
11:58
(14) плохо помню как это я постигал азы программирования на клюшках при отсутствии форумов и джедаев рядом, ума не приложу. Наверно говорил руководству: это сделать невозможно - точка.
16 Надсмотрщик
 
24.10.12
12:02
(14) в 96 году форумов не было! Зато ночи зимой ох какие длинные, и то их не хватало. А днем компьютер занят.    ;-)
17 Ёпрст
 
24.10.12
12:07
структура ТЗ какая ?
Откуда взял ?

Кусок предполагаемого отчета готового покажи.
18 abbas
 
24.10.12
13:21
(17)Это ТЗ я сам составляю, как и цели для себя...
Кручу верчю и вывожу отчет разных видов... ну это для себя...почему бы и нет
вот такой вывод отчета...
http://pixs.ru/showimage/SnimokPNG_8674113_6142759.png
19 Ёпрст
 
24.10.12
13:32
(18) ии.. где там дата ?

Покажи шапку и правильные строки готового отчета.
20 Ёпрст
 
24.10.12
13:32
и структуру тз своей.
21 Ёпрст
 
24.10.12
13:33
Нужна "простыня" с разворотом вправо по датам, так что ли ?
22 abbas
 
24.10.12
13:34
ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
   ТабЗнач.НоваяКолонка("ДатаДок");
   ТабЗнач.НоваяКолонка("Контрагент");                                              
   ТабЗнач.НоваяКолонка("Адрес");
   ТабЗнач.НоваяКолонка("Сектор");
   ТабЗнач.НоваяКолонка("ГП");
   ТабЗнач.НоваяКолонка("МЧ");
   ТабЗнач.НоваяКолонка("ТЗ");
   ТабЗнач.НоваяКолонка("КоличествоГП","Число");
   ТабЗнач.НоваяКолонка("КоличествоМЧ","Число");
   ТабЗнач.НоваяКолонка("КоличествоТЗ","Число");
   ТабЗнач.НоваяКолонка("СуммаГП","Число");
   ТабЗнач.НоваяКолонка("СуммаМЧ","Число");
   ТабЗнач.НоваяКолонка("СуммаТЗ","Число");

   ДокументРеализации = СоздатьОбъект("Документ.Реализация");
   ДокументРеализации.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
   Пока ДокументРеализации.ПолучитьДокумент() = 1 Цикл
       ДокументРеализации.ВыбратьСтроки();
       Пока ДокументРеализации.ПолучитьСтроку() = 1 Цикл
           ТабЗнач.НоваяСтрока();
           ТабЗнач.ДатаДок            = ДокументРеализации.ДатаДок;
           ТабЗнач.Контрагент      = ДокументРеализации.Контрагент;
           ТабЗнач.Адрес          = ДокументРеализации.Контрагент.Адрес;
           ТабЗнач.Сектор            = ДокументРеализации.Контрагент.Район;
           Если Лев(Строка(ДокументРеализации.Субконто2),5) = "Готов" Тогда
               ТабЗнач.ГП    = ДокументРеализации.Субконто2;
               ТабЗнач.КоличествоГП   = 1;
               ТабЗнач.СуммаГП         = ДокументРеализации.Сумма;
           ИначеЕсли (Лев(Строка(ДокументРеализации.Субконто2),5) = "Макси") ИЛИ (Лев(Строка(ДокументРеализации.Субконто2),4) = "Maxi") Тогда
               ТабЗнач.МЧ    = ДокументРеализации.Субконто2;
               ТабЗнач.КоличествоМЧ   = 1;
               ТабЗнач.СуммаМЧ         = ДокументРеализации.Сумма;
           ИначеЕсли Лев(Строка(ДокументРеализации.Субконто2),5) = "Трапе" Тогда
               ТабЗнач.ТЗ    = ДокументРеализации.Субконто2;
               ТабЗнач.КоличествоТЗ   = 1;
               ТабЗнач.СуммаТЗ         = ДокументРеализации.Сумма;
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
   
   
   
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   Таб.ВывестиСекцию("Заголовок|Контрагент");
   ДнейВсего = ВыбКонПериода - ВыбНачПериода;
   Если ДнейВсего = 0 Тогда
       Таб.ПрисоединитьСекцию("Заголовок|Столбец ");
   Иначе
       Для Стр = 0 По ДнейВсего Цикл
           ДокДата = ВыбНачПериода + Стр;
           Таб.ПрисоединитьСекцию("Заголовок|Столбец ");
       КонецЦикла;
   КонецЕсли;
   
   ТабЗнач.Свернуть("ДатаДок,Контрагент,Адрес,Сектор","КоличествоГП,КоличествоМЧ,КоличествоТЗ,СуммаГП,СуммаМЧ,СуммаТЗ");
   ТабЗнач.Сортировать("Контрагент +");
   ТабЗнач.ВыбратьСтроки();
   Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
       Если (ТабЗнач.СуммаГП<>0) ИЛИ (ТабЗнач.СуммаМЧ<>0) ИЛИ (ТабЗнач.СуммаТЗ<>0) Тогда
           Если ТабЗнач.СуммаГП > 0 Тогда
               СуммаГП = СуммаГП + 1;
           КонецЕсли;
           Если ТабЗнач.СуммаМЧ > 0 Тогда
               СуммаМЧ = СуммаМЧ + 1;
           КонецЕсли;
           Если ТабЗнач.СуммаТЗ > 0 Тогда
               СуммаТЗ = СуммаТЗ + 1;
           КонецЕсли;
           Таб.ВывестиСекцию("Строка|Контрагент");
           Если ТабЗнач.ДатаДок<>ДатаДок Тогда
               Таб.ПрисоединитьСекцию("Строка|Столбец");
               ДатаДок = ТабЗнач.ДатаДок;
           Иначе
               Таб.ПрисоединитьСекцию("Строка|Столбец");
           КонецЕсли;
           СуммаГП = 0;СуммаМЧ = 0;СуммаТЗ = 0;  
       КонецЕсли;                                    
   КонецЦикла;
   
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
КонецПроцедуры
23 abbas
 
24.10.12
13:35
24 Mikeware
 
24.10.12
13:39
(14) Это нормальный совет.
Не поверишь - я через это прошел. Просто потому, что компутеров "в наличии" просто не было.
-------
а насчет подработки принтером за 2000 баксов в месяц - я согласен. 500 баксов на принтер, 100 в месяц на расходку - итого от 1400 до 1900 баксов бонусом за месяц... :-)
Только деньги вперед!
25 Mikeware
 
24.10.12
13:40
(21) естественно. стандартная задачка. скучная...
26 abbas
 
24.10.12
13:43
(24) Метро Павелецкая, ул. Летучая 62...
Приходи будешь работать вместо принтера...
27 Mikeware
 
24.10.12
13:44
(26) Деньги вперед!
А принтер будет работать вместо меня.
28 abbas
 
24.10.12
13:46
(27) Ну приходи по адресу, и деньги будут и принтер дадим, и задачу не СКУЧНУЮ предоставим...все что захочешь...мы ждем...
Если есть что по задаче то прошу писать, а остальное при встрече =)
29 Mikeware
 
24.10.12
13:51
(28) имхается мне, что нет в москве такой улицы, а в других городах такого метро...
Забанить за вранье? :-)
30 Ёпрст
 
24.10.12
13:51
Лев(Строка(ДокументРеализации.Субконто2... это конечно зачет
31 Ёпрст
 
24.10.12
13:52
удаленные и не проведенные доки в выборке - тоже
32 Mikeware
 
24.10.12
13:53
(30)(31) Киргизия. чуйская долина, все дела...
33 Ёпрст
 
24.10.12
13:55
а так, запросом проще всего слепить, даже по документам + ключевое слово - Все ВошедшиеВЗапрос для группировки по дате документа.

Или в ТЗ придётся отсортировать по клиентосу и дате.

в начале, свернуть ТЗ по дате, - вывести шапку таблички вправо (по количеству дат в ней)
Затем цикл по ТЗ + вложенный цикл по табличке с датами, если есть такая дата - вывод циферек, ежели нет - вывод пустышки с датой..
34 Ёпрст
 
24.10.12
13:56
можно и в ИТЗ сделать.. можно и в классе ИтогиПоГруппировкам.
35 Ёпрст
 
24.10.12
13:57
мможно и в кристалл-репортс :)
36 abbas
 
24.10.12
13:59
(29) видимо мало гуляешь по Москве...есть такие улицы где зайдешь и не выйдешь от туда =)
(32) это места где меня встречали и где осталось часть меня и где я вообще хочу жить...Да и вообще тебе делать нечего...
(30) да главное не это, главное понять как строить отчет и все...
Ошибка? Это не ошибка, это системная функция.