Имя: Пароль:
1C
1С v8
Печатная форма обычная
0 Default
 
13.12.11
13:49
Есть отчет. Как сделать обычную печатную форму? На ПолучитьМакет() ругается...
1 Starhan
 
13.12.11
13:53
Код в студию.
2 Default
 
13.12.11
13:54
&НаКлиенте
Процедура ВыполнитьКоманду(Команда)
   Если СтрДлина(ВидДокумента) = 0 Тогда
       Возврат;
   КонецЕсли;    
   Сообщение = ""+Филиал +" / "+ВидДокумента+" "+ДатаНачала+" - "+КонецДня(ДатаКонца)+" = ";
   ПосчитатьДокументы(ВидДокумента, ДатаНачала, ДатаКонца, Филиал, Сообщение);
   Сообщить(Сообщение);
КонецПроцедуры

&НаСервере
Процедура ПосчитатьДокументы(ВидДокумента, ДатаНачала, ДатаКонца, Филиал, Сообщение)
   
   Запрос = Новый Запрос;
   ТекстЗапроса = "ВЫБРАТЬ
                  |    Док.Ссылка
                  |ИЗ
                  |    Документ."+ВидДокумента+" КАК Док
                  |ГДЕ
                  |    Док.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
                  |    И Док.Филиал = &Филиал";
                 
   Запрос.Текст = ТекстЗапроса;              
   Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
   Запрос.УстановитьПараметр("ДатаКонца", КонецДня(ДатаКонца));
   Запрос.УстановитьПараметр("Филиал", Филиал);
   
   ТЗ = Запрос.Выполнить().Выгрузить();
   
   Таб = Новый ТабличныйДокумент;
   //Макет = ПолучитьМакет("Макет");
   
   Сообщение = Сообщение+ ТЗ.Количество();
КонецПроцедуры
3 dva1c
 
13.12.11
13:56
(0) а макет с именем "Макет" - есть?
4 Default
 
13.12.11
13:59
(3) есть
5 Wobland
 
13.12.11
14:01
а как ругается?
6 dva1c
 
13.12.11
14:03
(4) как-то так

// запоминаем области макета
Макет = ПолучитьМакет("Т12");
7 Default
 
13.12.11
14:03
{Форма.ФормаОтчета.Форма(32,10)}: Процедура или функция с указанным именем не определена (ПолучитьМакет)
   Макет = <<?>>ПолучитьМакет("Макет"); (Проверка: Сервер)
8 Starhan
 
13.12.11
14:03
(4) А макет "макет" точно у документа или так и остался в отчете?
9 Wobland
 
13.12.11
14:04
ЭтотОбъект?
10 dka80
 
13.12.11
14:06
11 Default
 
13.12.11
14:06
Макет = ЭтотОбъект.ПолучитьМакет("Макет");

{Форма.ФормаОтчета.Форма(32,10)}: Переменная не определена (ЭтотОбъект)
   Макет = <<?>>ЭтотОбъект.ПолучитьМакет("Макет"); (Проверка: Сервер)
12 shuhard
 
13.12.11
14:07
(11) а в каком контексте работает
&НаСервере
Процедура ПосчитатьДокументы(ВидДокумента, ДатаНачала, ДатаКонца, Филиал, Сообщение)
13 Buster007
 
13.12.11
14:09
в модуле формы пишешь?
14 Default
 
13.12.11
14:09
(13) да
15 Buster007
 
13.12.11
14:17
&НаСервере
Процедура ПосчитатьДокументы(ВидДокумента, ДатаНачала, ДатаКонца, Филиал, Сообщение)
   
   Запрос = Новый Запрос;
   ТекстЗапроса = "ВЫБРАТЬ
                  |    Док.Ссылка
                  |ИЗ
                  |    Документ."+ВидДокумента+" КАК Док
                  |ГДЕ
                  |    Док.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
                  |    И Док.Филиал = &Филиал";
                 
   Запрос.Текст = ТекстЗапроса;              
   Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
   Запрос.УстановитьПараметр("ДатаКонца", КонецДня(ДатаКонца));
   Запрос.УстановитьПараметр("Филиал", Филиал);
   
   ТЗ = Запрос.Выполнить().Выгрузить();
   
   Таб = Новый ТабличныйДокумент;
ОбъектСервер = РеквизитФормыВЗначение("Объект");
   Макет = ОбъектСервер.ПолучитьМакет("Макет");

   
   Сообщение = Сообщение+ ТЗ.Количество();
КонецПроцедуры
16 Default
 
13.12.11
14:18
спс
17 Buster007
 
13.12.11
14:18
+(15) либо делай через команду у объекта в метаданных, и вызывай там процедуру модуля менеджера
18 dva1c
 
13.12.11
14:22
(17)+1
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан