Печатная форма

1. THEBESTolo4b 10 03.10.13 05:21 Сейчас в теме
Всем привет, самописная конфа, создал документ, все работает отлично добрался до печатной формы (с ней я не очень дружу)при нажатии на на печать выдает ошибку:


{Документ.РасчетЗпДояркам.МодульМенеджера(36)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(2, 18)}: Поле не найдено "РасчетЗпДояркам.Доярка"
РасчетЗпДояркам.<<?>>Доярка,

Процедура печати выглядит так:

Процедура ПечатьДоярочки(ТабДок, Ссылка) Экспорт
Макет = Документы.РасчетЗпДояркам.ПолучитьМакет("ПечатьДоярочки");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасчетЗпДояркам.Доярка,
| РасчетЗпДояркам.Доярка.Классность КАК Классность,
| РасчетЗпДояркам.Доярка.Отделение КАК Отделение,
| РасчетЗпДояркам.Дата,
| РасчетЗпДояркам.Номер,
| РасчетЗпДояркам.Выработка.(
| Ссылка,
| НомерСтроки,
| Доярка,
| Классность,
| ОтработаноДней,
| Праздники,
| ОтработаноЧасов,
| ВаловыйНадой,
| НадоеноЦ,
| УходЗаТелками,
| Приплод,
| ЗаНадой,
| ЗаУход,
| ЗаПриплод,
| ЗаКлассность,
| Итого
| )
|ИЗ
| Документ.РасчетЗпДояркам КАК РасчетЗпДояркам
|ГДЕ
| РасчетЗпДояркам.Ссылка В(&Ссылка)";

Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();

Шапка = Макет.ПолучитьОбласть("Шапка");
Строка = Макет.ПолучитьОбласть("Строка");

//Шапка.Параметры.ДатаМес = Месяц(Выборка.Дата);
//Шапка.Параметры.ДатаГод = Формат(Год(Выборка.Дата), "ЧЦ=4; ЧГ=0");
////Заполним строки
ТабДок.Вывести(Шапка);
ВыборкаВыработка = Выборка.Выработка.Выбрать();
Пока ВыборкаВыработка.Следующий() Цикл

Строка.Параметры.Доярка = ВыборкаВыработка.Доярка;
//Строка.Параметры.Классность = ВыборкаВыработка.Классность;
Строка.Параметры.ОтработаноДней = ВыборкаВыработка.ОтработаноДней;
Строка.Параметры.Праздники = ВыборкаВыработка.Праздники;
Строка.Параметры.ОтработаноЧасов = ВыборкаВыработка.ОтработаноЧасов;
Строка.Параметры.ВаловыйНадой = ВыборкаВыработка.ВаловыйНадой;
Строка.Параметры.НадоеноЦ = ВыборкаВыработка.НадоеноЦ;
Строка.Параметры.УходаЗаТелками = ВыборкаВыработка.УходЗаТелками;
Строка.Параметры.Приплод = ВыборкаВыработка.Приплод;
Строка.Параметры.ЗаНадой = ВыборкаВыработка.ЗаНадой;
Строка.Параметры.ЗаУход = ВыборкаВыработка.ЗаУход;
Строка.Параметры.ЗаПриплод = ВыборкаВыработка.ЗаПриплод;
Строка.Параметры.ЗаКлассность = ВыборкаВыработка.ЗаКлассность;
Строка.Параметры.Итого = ВыборкаВыработка.Итого;
КонецЦикла;

ТабДок.Вывести(Строка);
КонецПроцедуры



подскажите как правильно написать, чтоб не наступить на те же грабли.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. M.Flint 03.10.13 05:51 Сейчас в теме
(1) THEBESTolo4b, Я , конечно, не знаю вашу конфигурацию, но подозреваю, что запрос надо делать не по документу, а по табличной части документа, в которой хранится расчет ЗП. Доярка - это реквизит документа или ТЧ?
3. THEBESTolo4b 10 03.10.13 06:01 Сейчас в теме
"РасчетЗпДояркам.Доярка" вообще наименование документа.
4. M.Flint 03.10.13 06:18 Сейчас в теме
(3) THEBESTolo4b, Судя по ошибке, выдаваемой программой
{Документ.РасчетЗпДояркам.МодульМенеджера(36)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(2, 18)}: Поле не найдено "РасчетЗпДояркам.Доярка"
РасчетЗпДояркам.<<?>>Доярка,


Документ у вас называется все-таки РасчетЗпДояркам. Разберитесь поле "Доярка" относится к документу или к табличной части.
5. THEBESTolo4b 10 03.10.13 07:07 Сейчас в теме
(4) M.Flint, Да правильно Документ у вас называется все-таки РасчетЗпДояркам,
поле "Доярка" относится к табличной части,
тоесть он ругается на строку Строка.Параметры.Доярка = ВыборкаВыработка.Доярка;
но что в ней не правильно?
6. M.Flint 03.10.13 08:13 Сейчас в теме
(5) THEBESTolo4b, Он ругается на строку запроса, в которой Поле Доярка вы пытаетесь выбрать из реквизитов документа, а не из реквизитов табличной части.
7. THEBESTolo4b 10 03.10.13 08:33 Сейчас в теме
ага понял свою ошибку. спасибо правильное направление
| РасчетЗпДояркам.Выработка.Доярка,
| РасчетЗпДояркам.Выработка.Доярка.Классность КАК Классность,
| РасчетЗпДояркам.Выработка.Доярка.Отделение КАК Отделение,
| РасчетЗпДояркам.Дата,
| РасчетЗпДояркам.Номер,
| РасчетЗпДояркам.Выработка.(
....
и все прошло на ура,
вот только что теперь сделать с этой ошибкой:

{Документ.РасчетЗпДояркам.МодульМенеджера(45)}: Значение не является значением объектного типа (Выбрать)
ВыборкаВыработка = Выборка.Выработка.Выбрать();
8. M.Flint 03.10.13 08:35 Сейчас в теме
(7) THEBESTolo4b, вам надо переделать запрос. что-то типа вот этого

Запрос.Текст = 
	"ВЫБРАТЬ 
        | РасчетЗпДояркамВЫработка.Доярка, 
	| РасчетЗпДояркамВЫработка.Доярка.Классность КАК Классность, 
	| РасчетЗпДояркамВЫработка.Доярка.Отделение КАК Отделение, 
	| РасчетЗпДояркамВЫработка.ССылка.Дата, 
	| РасчетЗпДояркамВЫработка.ССылка.Номер, 
	| РасчетЗпДояркамВЫработка.НомерСтроки, 
	| РасчетЗпДояркамВЫработка.ОтработаноДней, 
	| РасчетЗпДояркамВЫработка.Праздники, 
	| РасчетЗпДояркамВЫработка.ОтработаноЧасов, 
	| РасчетЗпДояркамВЫработка.ВаловыйНадой, 
	| РасчетЗпДояркамВЫработка.НадоеноЦ, 
	| РасчетЗпДояркамВЫработка.УходЗаТелками, 
	| РасчетЗпДояркамВЫработка.Приплод, 
	| РасчетЗпДояркамВЫработка.ЗаНадой, 
	| РасчетЗпДояркамВЫработка.ЗаУход, 
	| РасчетЗпДояркамВЫработка.ЗаПриплод, 
	| РасчетЗпДояркамВЫработка.ЗаКлассность, 
	| РасчетЗпДояркамВЫработка.Итого 
	|ИЗ 
| Документ.РасчетЗпДояркам.ВЫработка КАК РасчетЗпДояркамВЫработка 
|ГДЕ 
| РасчетЗпДояркамвыработка.Ссылка В(&Ссылка)";
Показать


У вас не будет вложенной выборки.
9. bobm78 03.10.13 08:39 Сейчас в теме
| РасчетЗпДояркам.Доярка,
| РасчетЗпДояркам.Доярка.Классность КАК Классность,
| РасчетЗпДояркам.Доярка.Отделение КАК Отделение,
уберите с запроса.. оно вам не нужно это все есть в табличной части документа.
10. THEBESTolo4b 10 03.10.13 08:43 Сейчас в теме
О а так действительно и проще и короче и правильнее.
макет мой вывелся на печать, правда параметры в таблице почему то не заполнены
11. THEBESTolo4b 10 03.10.13 08:57 Сейчас в теме
Сейчас у меня модуль выглядит так:
Процедура ПечатьДоярочки(ТабДок, Ссылка) Экспорт
	Макет = Документы.РасчетЗпДояркам.ПолучитьМакет("ПечатьДоярочки");	
	Запрос = Новый Запрос;
	
	Запрос.Текст = 
"ВЫБРАТЬ 
| РасчетЗпДояркам.Выработка.Доярка, 
| РасчетЗпДояркам.Выработка.Доярка.Классность КАК Классность, 
| РасчетЗпДояркам.Выработка.Доярка.Отделение КАК Отделение, 
| РасчетЗпДояркам.Дата, 
| РасчетЗпДояркам.Номер, 
| РасчетЗпДояркам.Выработка.( 
| Ссылка, 
| НомерСтроки, 
| Доярка, 
| Классность, 
| ОтработаноДней, 
| Праздники, 
//| ОтработаноЧасов, 
| ВаловыйНадой, 
| НадоеноЦ, 
| УходЗаТелками, 
| Приплод, 
| ЗаНадой, 
| ЗаУход, 
| ЗаПриплод, 
| ЗаКлассность, 
| Итого 
| ) 
|ИЗ 
| Документ.РасчетЗпДояркам КАК РасчетЗпДояркам 
|ГДЕ 
| РасчетЗпДояркам.Ссылка В(&Ссылка)";
	
		Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();
	
	Шапка = Макет.ПолучитьОбласть("Шапка"); 	
	Строка = Макет.ПолучитьОбласть("Строка");
	
		ТабДок.Вывести(Шапка);
	

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

Показать

ТабДок.Вывести(Шапка); выводит шапку на печать
ТабДок.Вывести(Строка); выводит строку;
а как заполнить строку?
12. M.Flint 03.10.13 08:59 Сейчас в теме
(11) THEBESTolo4b,
у вас нет обработки выборки
вот примерный код

ПОка выборка.следующий() цикл
Строка.ПАраметры.заполнить(ВЫборка);
Табдок.Вывести(СТрока);
Конеццикла;
13. THEBESTolo4b 10 03.10.13 09:00 Сейчас в теме
ща поправим минуточку
14. SPID 03.10.13 09:03 Сейчас в теме
После вывода шапки:
Пока Выборка.Следующий() Цикл
  Строка.Параметры.<ИмяПараметра> = Выборка.<ИмяПоля>;
  ТабДок.Вывести(Строка);
КонецЦикла;


Или если имена параметров совпадают с именами полей в выборке, то заменить первую строку в цикла на
Строка.Параметры.Заполнить(Выборка);
15. THEBESTolo4b 10 03.10.13 09:22 Сейчас в теме
(14) SPID, сейчас попробовал с
| РасчетЗпДояркам.Выработка.Доярка.
не получилось ошибку выдает, сейчас попробую 1 способом
16. THEBESTolo4b 10 03.10.13 09:25 Сейчас в теме
и здесь такая же ситуация ошибка
{Документ.РасчетЗпДояркам.МодульМенеджера(51)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(16, 2)}: Синтаксическая ошибка "РасчетЗпДояркам.Выработка.("
<<?>>РасчетЗпДояркам.Выработка.(
((
17. THEBESTolo4b 10 03.10.13 09:28 Сейчас в теме
18. SPID 03.10.13 09:30 Сейчас в теме
Так это ошибка в запросе, которая обсуждалась выше, а не при выводе в табличный документ.
20. THEBESTolo4b 10 03.10.13 09:32 Сейчас в теме
(18) SPID, ага я потом посмотрел и увидел её
19. THEBESTolo4b 10 03.10.13 09:32 Сейчас в теме
блин добился вывода печтного варианта(макета) но опять без данных
21. THEBESTolo4b 10 03.10.13 10:01 Сейчас в теме
попробовал и первый вариант и второй
Процедура ПечатьДоярочки(ТабДок, Ссылка) Экспорт
	Макет = Документы.РасчетЗпДояркам.ПолучитьМакет("ПечатьДоярочки");	
	Запрос = Новый Запрос;
	
	Запрос.Текст = 
"ВЫБРАТЬ 
| РасчетЗпДояркам.Выработка.Доярка КАК Доярка, 
| РасчетЗпДояркам.Выработка.Доярка.Классность КАК Классность, 
| РасчетЗпДояркам.Выработка.Доярка.Отделение КАК Отделение,
////
| РасчетЗпДояркам.Выработка.ОтработаноДней КАК ОтработаноДней, 
| РасчетЗпДояркам.Выработка.Праздники КАК Праздники, 
//| ОтработаноЧасов, 
| РасчетЗпДояркам.Выработка.ВаловыйНадой КАК ВаловыйНадой, 
| РасчетЗпДояркам.Выработка.НадоеноЦ КАК НадоеноЦ, 
| РасчетЗпДояркам.Выработка.УходЗаТелками КАК УходЗаТелками, 
| РасчетЗпДояркам.Выработка.Приплод КАК Приплод, 
| РасчетЗпДояркам.Выработка.ЗаНадой КАК ЗаНадой, 
| РасчетЗпДояркам.Выработка.ЗаУход КАК ЗаУход, 
| РасчетЗпДояркам.Выработка.ЗаПриплод КАК ЗаПриплод, 
| РасчетЗпДояркам.Выработка.ЗаКлассность КАК ЗаКлассность, 
| РасчетЗпДояркам.Выработка.Итого КАК Итого
|ИЗ 
| Документ.РасчетЗпДояркам КАК РасчетЗпДояркам 
|ГДЕ 
| РасчетЗпДояркам.Ссылка В(&Ссылка)";
	
	Запрос.Параметры.Вставить("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();
	
	Шапка = Макет.ПолучитьОбласть("Шапка"); 	
	Строка = Макет.ПолучитьОбласть("Строка");
	
	ТабДок.Вывести(Шапка);	
	 Пока Выборка.Следующий() Цикл
 
			Строка.Параметры.Доярка 		  = Выборка.Доярка;	
			Строка.Параметры.Классность	      = Выборка.Классность; 
			Строка.Параметры.ОтработаноДней   = Выборка.ОтработаноДней;
			Строка.Параметры.Праздники 		  = Выборка.Праздники;
		//	Строка.Параметры.ОтработаноЧасов  = Выборка.ОтработаноЧасов;
			Строка.Параметры.ВаловыйНадой 	  = Выборка.ВаловыйНадой;
			Строка.Параметры.НадоеноЦ 		  = Выборка.НадоеноЦ;
			Строка.Параметры.УходЗаТелками   = Выборка.УходЗаТелками;
			Строка.Параметры.Приплод		  = Выборка.Приплод;
			Строка.Параметры.ЗаНадой		  = Выборка.ЗаНадой; 
			Строка.Параметры.ЗаУход		 	  = Выборка.ЗаУход;
			Строка.Параметры.ЗаПриплод		  = Выборка.ЗаПриплод;
			Строка.Параметры.ЗаКлассность	  = Выборка.ЗаКлассность;
			Строка.Параметры.Итого 			  = Выборка.Итого;
 
			  ТабДок.Вывести(Строка);
КонецЦикла;

	КонецПроцедуры
Показать

выводит макет но параметры не вставляет
22. THEBESTolo4b 10 03.10.13 10:01 Сейчас в теме
23. SPID 03.10.13 10:32 Сейчас в теме
(22) THEBESTolo4b,
Так, а в макете то указаны параметры?
24. THEBESTolo4b 10 03.10.13 10:33 Сейчас в теме
25. THEBESTolo4b 10 03.10.13 10:37 Сейчас в теме
проверил через отладчик вроде все норм
26. THEBESTolo4b 10 03.10.13 10:49 Сейчас в теме
хотя отладчиком 1 раз прогонял если честно
27. M.Flint 03.10.13 10:54 Сейчас в теме
Попробуйте такой вариант

Процедура ПечатьДоярочки(ТабДок, Ссылка) Экспорт
    Макет = Документы.РасчетЗпДояркам.ПолучитьМакет("ПечатьДоярочки");    
    Запрос = Новый Запрос;
    
    Запрос.Текст = 
"ВЫБРАТЬ 
| РасчетЗпДояркамВыработка.Доярка КАК Доярка, 
| РасчетЗпДояркамВыработка.Доярка.Классность КАК Классность, 
| РасчетЗпДояркамВыработка.Доярка.Отделение КАК Отделение,
////
| РасчетЗпДояркамВыработка.ОтработаноДней КАК ОтработаноДней, 
| РасчетЗпДояркамВыработка.Праздники КАК Праздники, 
//| ОтработаноЧасов, 
| РасчетЗпДояркамВыработка.ВаловыйНадой КАК ВаловыйНадой, 
| РасчетЗпДояркамВыработка.НадоеноЦ КАК НадоеноЦ, 
| РасчетЗпДояркамВыработка.УходЗаТелками КАК УходЗаТелками, 
| РасчетЗпДояркамВыработка.Приплод КАК Приплод, 
| РасчетЗпДояркамВыработка.ЗаНадой КАК ЗаНадой, 
| РасчетЗпДояркамВыработка.ЗаУход КАК ЗаУход, 
| РасчетЗпДояркамВыработка.ЗаПриплод КАК ЗаПриплод, 
| РасчетЗпДояркамВыработка.ЗаКлассность КАК ЗаКлассность, 
| РасчетЗпДояркамВыработка.Итого КАК Итого
|ИЗ 
| Документ.РасчетЗпДояркам.выработка КАК РасчетЗпДояркамвыработка 
|ГДЕ 
| РасчетЗпДояркамвыработка.Ссылка В(&Ссылка)";
    
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Шапка = Макет.ПолучитьОбласть("Шапка");     
    Строка = Макет.ПолучитьОбласть("Строка");
    
    ТабДок.Вывести(Шапка);    
     Пока Выборка.Следующий() Цикл
 
            Строка.Параметры.Доярка           = Выборка.Доярка;    
            Строка.Параметры.Классность          = Выборка.Классность; 
            Строка.Параметры.ОтработаноДней   = Выборка.ОтработаноДней;
            Строка.Параметры.Праздники           = Выборка.Праздники;
        //    Строка.Параметры.ОтработаноЧасов  = Выборка.ОтработаноЧасов;
            Строка.Параметры.ВаловыйНадой       = Выборка.ВаловыйНадой;
            Строка.Параметры.НадоеноЦ           = Выборка.НадоеноЦ;
            Строка.Параметры.УходЗаТелками   = Выборка.УходЗаТелками;
            Строка.Параметры.Приплод          = Выборка.Приплод;
            Строка.Параметры.ЗаНадой          = Выборка.ЗаНадой; 
            Строка.Параметры.ЗаУход               = Выборка.ЗаУход;
            Строка.Параметры.ЗаПриплод          = Выборка.ЗаПриплод;
            Строка.Параметры.ЗаКлассность      = Выборка.ЗаКлассность;
            Строка.Параметры.Итого               = Выборка.Итого;
 
              ТабДок.Вывести(Строка);
КонецЦикла;
Табдок.Показать("Печать ЗП");
    КонецПроцедуры
Показать
THEBESTolo4b; +1 Ответить
28. THEBESTolo4b 10 03.10.13 10:56 Сейчас в теме
29. THEBESTolo4b 10 03.10.13 10:57 Сейчас в теме
Умничка все получилось, спасибо тебе большое, а вчем была ошибка?
30. THEBESTolo4b 10 03.10.13 10:58 Сейчас в теме
и что такое
Табдок.Показать("Печать ЗП"
);?
31. M.Flint 03.10.13 11:08 Сейчас в теме
(30) THEBESTolo4b, Это оператора показа того, что получилось в табличном документе.
32. THEBESTolo4b 10 03.10.13 11:14 Сейчас в теме
(31) M.Flint, Надо взять на заметочку,и поситать мат часть спасибо тебе еще раз большое)))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот