Имя: Пароль:
1C
1C 7.7
v7: Шапка в отчете, помогите
0 dianna
 
20.03.13
12:50
Всем привет, ребят помогите пожалуйста
есть отчет в который нужно добавить дату в шапку
кокда я нажимаю сформировать от отчет открывает как надо с датой и с контрагентом
но когда я нажимаю Плановый то там в отчет такого нет.
подскажите как его добавить, пожалуйста
http://s017.radikal.ru/i442/1303/74/23bfb74706ed.png
http://s43.radikal.ru/i100/1303/7d/bec90337fd6c.png
http://www.fayloobmennik.net/2712804


//*******************************************
Процедура Сформировать()
   лтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.НоваяКолонка("Док");
   лтб.НоваяКолонка("Контр");
   лтб.НоваяКолонка("ТМЦ");
   
   лтб.НоваяКолонка("тмцГрп");
   лтб.НоваяКолонка("кво","число");
   лтб.НоваяКолонка("Вес","число");
   лтб.НоваяКолонка("ЦенаБ","число");
   лтб.НоваяКолонка("ЦенаС","число");
   лтб.НоваяКолонка("СуммаБ","число");
   лтб.НоваяКолонка("СуммаС","число");
   нтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.Выгрузить(нТб);
   РасчитатьТБ(лтб);
   таб=СоздатьОбъект("Таблица");
   таб.ИсходнаяТаблица("Таблица");
   таб.ВывестиСекцию("Шапка");
   лФлт="";

   если фТмц.Выбран()=1 тогда
       Если фТмц.ЭтоГруппа()=1 тогда
           лФлт=лФлт+" группе ТМЦ - """+СокрЛп(ФтМЦ.Наименование)+"""";
       иначе
           лФлт=лФлт+" тмц - """+СокрЛп(ФтМЦ.Наименование)+"""";
       Конецесли;
   конецесли;
   если фвИДтМЦ.Выбран()=1 тогда
       Если пУСТАЯСТРОКА(ЛфЛТ)=0 тогда
           лФлт=лфлт+";";
       Конецесли;
       лФлт=лФлт+"виду продукции - """+фВидТмц.Наименование+"""";
   конецесли;
   если фКонтр.Выбран()=1 тогда
       Если пУСТАЯСТРОКА(ЛфЛТ)=0 тогда
           лФлт=лфлт+";";
       Конецесли;
       Если ФКонтр.ЭтоГруппа()=1 тогда
           лФлт=лФлт+" группе Контрагентов - """+СокрЛп(ФКонтр.Наименование)+"""";
       иначе
           лФлт=лФлт+" контрагенту - """+СокрЛп(фКонтр.Наименование)+"""";
           Если фтт.Выбран()=1 тогда
                лФлт=лФлт+" по торговой точке - """+СокрЛп(фТТ.Наименование)+"""";
           Конецесли;
       Конецесли;
   конецесли;
   Если ПустаяСтрока(лфлт)=0 тогда
       лФлт="с ограничениями по " +лФлт;
   Конецесли;
   Если пУСТАЯСТРОКА(ЛфЛТ)=0 тогда
       лФлт=лфлт+";";
   Конецесли;
   Если фГрпКонтр=1 тогда
       лФлт=лфлт+" с группировкой по контрагентам";
   иначе
       лФлт=лфлт+" без группировки по контрагентам";
   Конецесли;
   Если фВидОтчета=1 тогда
       лфлт="полный отчет "+ лфлт;
   иначеЕсли фВидОтчета=2 тогда
       лфлт="верхняя часть "+ лфлт;
   иначеЕсли фВидОтчета=3 тогда
       лфлт="нижняя часть "+ лфлт;
   Конецесли;
   Если фАкция=1 тогда
       лФлт=лФлт+", только акционная продукция";
   Конецесли;
   Если фНетто=1 тогда
       лФлт=лфлт+", количество в кг.";
   Конецесли;
   лфлт=лфлт+".";
   таб.ВывестиСекцию("фильтр");
   Если фБШ=0 тогда
       таб.ПовторятьПриПечатиСтроки(1,таб.ВысотаТаблицы());
   Конецесли;
   таб.Опции(0,0,0,0);
   лтб.сортировать("Контр,док");
   контрТб=СоздатьОбъект("ТаблицаЗначений");
   лтб.Выгрузить(контрТб);
   контрТб.Свернуть("Контр","кво");
   для н=1 по контрТБ.количествоСтрок() цикл
       пКонтр=контрТб.ПолучитьЗначение(н,1);
       нтб.УдалитьСтроки();
       лтб.выбратьСтроки();
       Пока лтб.ПолучитьСтроку()=1 цикл
           Если лтб.контр<>ПКонтр тогда
               продолжить;
           Конецесли;
           нтб.НоваяСтрока();
           нтб.док=лтб.док;
           нтб.Тмц=лтб.тмц;
           нтб.ТмцГрп=лтб.тмцГрп;
           нтб.кво=лтб.кво;
           нтб.Ценаб=лтб.ЦенаБ;
           нтб.Ценас=лтб.ценаС;
           нтб.СуммаС=лтб.СуммаС;
           нтб.СуммаБ=лтб.суммаБ;
       КонецЦикла;
       Если ПКонтр="" тогда
           пКонтр="По всем отобранным"
       Конецесли;
       Если (н>1)и(фРазбивка=1) тогда
           Таб.НоваяСтраница();
       Конецесли;
       таб.ВывестиСекцию("ПКонтр");
       Если  фВидОтчета<3 тогда
           ВывестиНакладные(таб, нтб);    
       Конецесли;
       Если  фВидОтчета <> 2 тогда
           ВывестиТмц(таб, нтб);    
       Конецесли;        
       
   конецЦикла;
   таб.ПараметрыСтраницы(1,100,0,0.5,0.5,0.5,0.5,,,1,1);
   таб.Показать("Реестр отгруженной продукции",,1);
   Если фПСтр=1 тогда
       
   Если фГрпКонтр=1 тогда
       Если фРазбивка=0 тогда
           высотаСтраницы=1080;
           тт=СоздатьОбъект("ТаблицаЗначений");
           тт.НоваяКолонка("Высота","Число");
           тт.НоваяКолонка("Начало","Число");
           тт.НоваяКолонка("Конец","Число");        
           квоСтр=Таб.ВысотаТаблицы();
           н=1;
           тт.НоваяСтрока();
           тт.Начало=н;
           лВыс=0;
           итв=0;
           для н=1 по квоСтр цикл
                обл=таб.Область(н,1,н,1);
                Если обл.Расшифровка()="1" тогда
                   тт.Высота=лВыс;
                   лВыс=0;
                   тт.Конец=н-1;
                   тт.НоваяСтрока();
                   тт.Начало=н;
                Конецесли;
                лВыс=лвыс+обл.ВысотаСтроки();
                //итв=итв+обл.ВысотаСтроки();
                //обл.текст=итв;
           конеццикла;
           тт.Конец=квоСтр;
           тт.Высота=лВыс;
           Если фБШ=1 тогда
               снос=0;
           иначе
               снос=тт.ПолучитьЗначение(1,1);
           Конецесли;
           рТаб=0;
           тт.ВыбратьСтроки();
           кон=0;
           Пока тт.ПолучитьСтроку()=1 цикл
               Если (рТаб+тт.Высота)>ВысотаСтраницы тогда
                   таб.НоваяСтраница(кон);
                   рТаб=0;
                   Если фБШ=0 тогда
                       рТаб=снос;
                   конецесли;
                   Если тт.Высота>ВысотаСтраницы тогда
                       таб.НоваяСтраница(Тт.Конец);
                       кон=тт.конец;
                       продолжить;
                   Конецесли;
               Конецесли;
               РТаб=рТаб+тт.Высота;
               кон=тт.конец;
           КонецЦикла;
       Конецесли;
   Конецесли;
   Конецесли;
   таб.ТолькоПросмотр(1);
КонецПроцедуры
//========================================
Процедура кнПлан()
   фНетто=1;
   лтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.НоваяКолонка("Док");
   лтб.НоваяКолонка("Контр");
   лтб.НоваяКолонка("ТМЦ");
   лтб.НоваяКолонка("тмцГрп");
   лтб.НоваяКолонка("кво","число");
   лтб.НоваяКолонка("Вес","число");
   лтб.НоваяКолонка("ЦенаБ","число");
   лтб.НоваяКолонка("ЦенаС","число");
   лтб.НоваяКолонка("СуммаБ","число");
   лтб.НоваяКолонка("СуммаС","число");
   нтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.Выгрузить(нТб);
   РасчитатьТБ(лтб);
   таб=СоздатьОбъект("Таблица");
   таб.ИсходнаяТаблица("Плановый");
       таб.ВывестиСекцию("Шапка1");
   лФлт="";
   лтб.Свернуть("тмцГрп,тмц","кво,вес,СуммаС,СуммаБ");
   лтб.НоваяКолонка("ЦенаС","число");
   лтб.НоваяКолонка("ЦенаБ","число");
   лтб.Сортировать("тмцГрп,тмц");
   если фТмц.Выбран()=1 тогда
       Если фТмц.ЭтоГруппа()=1 тогда
           лФлт=лФлт+" группе ТМЦ - """+СокрЛп(ФтМЦ.Наименование)+"""";
       иначе
           лФлт=лФлт+" тмц - """+СокрЛп(ФтМЦ.Наименование)+"""";
       Конецесли;
   конецесли;
   если фвИДтМЦ.Выбран()=1 тогда
       Если пУСТАЯСТРОКА(ЛфЛТ)=0 тогда
           лФлт=лфлт+";";
       Конецесли;
       лФлт=лФлт+"виду продукции - """+фВидТмц.Наименование+"""";
   конецесли;
   Если ПустаяСтрока(лфлт)=0 тогда
       лФлт="с ограничениями по " +лФлт;
   Конецесли;
   Если пУСТАЯСТРОКА(ЛфЛТ)=0 тогда
       лФлт=лфлт+";";
   Конецесли;
   Если фАкция=1 тогда
       лФлт=лФлт+", только акционная продукция";
   Конецесли;
   лфлт=лфлт+".";
   таб.ВывестиСекцию("шапка");
   Если фБШ=0 тогда
       таб.ПовторятьПриПечатиСтроки(4,4);
   Конецесли;
   лтб.выбратьСтроки();
   нпп=1;
   грпВес=0;
   грпСуммаМ=0;
   грпСуммаП=0;
   иВес=0;
   иСуммаМ=0;
   иСуммаП=0;
   лгрп="";
   Пока лтб.ПолучитьСтроку()=1 цикл
       Если лтб.кво<>0 тогда
           лтб.ЦенаС=окр(лтб.СуммаС/лтб.кво,2);
           лтб.Ценаб=окр(лтб.Суммаб/лтб.кво,2);
           лтб.СуммаС=окр(лтб.СуммаС,2);
       Конецесли;
       Если лГрп<>лтб.ТмцГрп тогда
           Если ПустоеЗначение(лГрп)=0 тогда
               таб.ВывестиСекцию("иГрп");

               иВес=иВес+грпВес;
               иСуммаМ=иСуммаМ+грпСуммаМ;
               иСуммаП=иСуммаП+грпСуммаП;
               грпВес=0;
               грпСуммаМ=0;
               грпСуммаП=0;
           Конецесли;
           таб.ВывестиСекцию("Грп");
           лГрп=лтб.ТмцГрп;
       Конецесли;
       таб.ВывестиСекцию("стр");
       грпВес=грпВес+лтб.вес;
       грпСуммаМ=грпСуммаМ+лтб.СуммаБ;
       грпСуммаП=грпСуммаП+лтб.СуммаС;
       нпп=нпп+1;
   КонецЦикла;
   таб.ВывестиСекцию("иГрп");
   иВес=иВес+грпВес;
   иСуммаМ=иСуммаМ+грпСуммаМ;
   иСуммаП=иСуммаП+грпСуммаП;
   таб.ВывестиСекцию("итог");
   таб.ТолькоПросмотр(1);
   таб.ПараметрыСтраницы(1,100,0,0,0,0,0,0,0,1);
   таб.Показать("Реестр",,1);
КонецПроцедуры
1 Godofsin
 
20.03.13
12:53
(0) в таблице добавить надо
2 Ёпрст
 
20.03.13
12:54
за целые сутки так и не дотумкала ?
3 dianna
 
20.03.13
12:55
я дабавляла, но у меня пишет
Реестр реализованной продукции с Дата1 по Дата2
4 dianna
 
20.03.13
12:55
(2) это немножко другое, я не правильно тогда поняла, мне нужно было добавить в шапку а не табличную часть)
5 mikecool
 
20.03.13
12:56
(3) тип ячейки Параметр
переменную с именем параметра - объявить в коде
6 mikecool
 
20.03.13
12:57
+5 или посмотреть как сделано в первом отчете
7 Godofsin
 
20.03.13
12:58
+ (5) (6) и традиционно выложить фото
8 dianna
 
20.03.13
12:58
(6) я смотрела, но я не могу найти там как прописана дата для шапки
9 Godofsin
 
20.03.13
12:58
а то работать не будет
10 zak555
 
20.03.13
13:01
фотки нет, отчёт работать не хочет
11 mikecool
 
20.03.13
13:02
фотка была, вот только не факт - что его/ее
12 Конфигуратор1с
 
20.03.13
13:03
Ну так параметры в макете пропишите.
13 dianna
 
20.03.13
13:03
вымагатели, загрузила, подскажите плиз как сделать
14 dianna
 
20.03.13
13:04
(12) вот я и хочу узнать как его прописать
15 zak555
 
20.03.13
13:06
что такое РасчитатьТБ?
16 Godofsin
 
20.03.13
13:07
(13)
Процедура кнПлан()
   фНетто=1;
   лтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.НоваяКолонка("Док");
   лтб.НоваяКолонка("Контр");
   лтб.НоваяКолонка("ТМЦ");
   лтб.НоваяКолонка("тмцГрп");
   лтб.НоваяКолонка("кво","число");
   лтб.НоваяКолонка("Вес","число");
   лтб.НоваяКолонка("ЦенаБ","число");
   лтб.НоваяКолонка("ЦенаС","число");
   лтб.НоваяКолонка("СуммаБ","число");
   лтб.НоваяКолонка("СуммаС","число");
   нтб=СоздатьОбъект("ТаблицаЗначений");
   лтб.Выгрузить(нТб);
   РасчитатьТБ(лтб);
   таб=СоздатьОбъект("Таблица");
   таб.ИсходнаяТаблица("Плановый");
   Дата1 = ТвоеНачалоПериода;
   Дата2 = ТвойКонецПериода;
       таб.ВывестиСекцию("Шапка1");
// не забываем у ячеек поставить тип = параметр
17 Lionee
 
20.03.13
13:09
(13)красота ,давно бы загрузила
18 sapphire
 
20.03.13
13:15
(0) Таки тебе надо что бы в заголовке период показывался, где Реестр реализованной продукции?
В ячейке 2,1 макета "Плановый" Alt-Enter,
вместо "Текст" выбрать "Шаблон" и в вставить:
Реестр реализованной продукции за  [ПериодСтр(дата1,дата2)]
19 dianna
 
20.03.13
13:18
(18) (16) огоромное спасибо за помощь, все работает
всех цёмки))
20 sapphire
 
20.03.13
13:22
(19) А що, в СПб теперь номенклатура на мове?
21 zak555
 
20.03.13
13:23
> всех цёмки


это как ?
22 sapphire
 
20.03.13
13:27
(21) А это так же як и в СПб на Украине :)
23 dianna
 
20.03.13
17:28
ребят не подскажите как сделать так что бы у меня в шапке так же показывало и контрагента?
24 Толич
 
20.03.13
17:39
Шо Опять?... (Про пса)

Ячейку вместо "шаблон" сделай "выражение" и замени формулу на
"Контрагент: "+Контрагент + " ща период: " + ПериодСтр(дата1,дата2)
Как то так...
25 Толич
 
20.03.13
17:42
Только вместо "контрагент" у вас по моему "ПКонтр"
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан