8.1 УТ после обновления перестала печататься внешняя печатная форма ..
ошибка такая
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Ссылка) , печатную форму переподключал после обновления , код посмотрел вроде все нормально , что могло поменяться ?
Функция Печать()Экспорт
Тип = «Счет»;
ПараметрыПечати =ПолучитьПараметрыПечатиСчетаЗаказа(Тип);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ»;
Макет = ПолучитьОбщийМакет(«СчетЗаказ1»);
// Выводим шапку накладной
Если Тип = «Счет» Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ЗаголовокСчета»);
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть(«Заголовок»);
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть(«Поставщик»);
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть(«Покупатель»);
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьНомера = Макет.ПолучитьОбласть(«ШапкаТаблицы|НомерСтроки»);
ОбластьКодов = Макет.ПолучитьОбласть(«ШапкаТаблицы|КолонкаКодов»);
ОбластьДанных = Макет.ПолучитьОбласть(«ШапкаТаблицы|Данные»);
ОбластьСкидок = Макет.ПолучитьОбласть(«ШапкаТаблицы|Скидка»);
ОбластьСуммы = Макет.ПолучитьОбласть(«ШапкаТаблицы|Сумма»);
ОбластьТовар = Макет.ПолучитьОбласть(«ШапкаТаблицы|Товар»);
Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ШапкаТаблицы|ТоварБезКодов»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ШапкаТаблицы|ТоварБезСкидок»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ШапкаТаблицы|ТоварБезКодовИСкидок»);
КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера);
Если ПараметрыПечати.ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = ПараметрыПечати.ИмяКолонкиКодов;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Товар = «Товары (работы, услуги)»;
ТабДокумент.Присоединить(ОбластьТовар);
ТабДокумент.Присоединить(ОбластьДанных);
Если ПараметрыПечати.ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьСуммы);
ОбластьНомера = Макет.ПолучитьОбласть(«Строка|НомерСтроки»);
ОбластьКодов = Макет.ПолучитьОбласть(«Строка|КолонкаКодов»);
ОбластьДанных = Макет.ПолучитьОбласть(«Строка|Данные»);
ОбластьСкидок = Макет.ПолучитьОбласть(«Строка|Скидка»);
ОбластьСуммы = Макет.ПолучитьОбласть(«Строка|Сумма»);
ОбластьТовар = Макет.ПолучитьОбласть(«Строка|Товар»);
Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Строка|ТоварБезКодов»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Строка|ТоварБезСкидок»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Строка|ТоварБезКодовИСкидок»);
КонецЕсли;
Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл
Если не ЗначениеЗаполнено(ПараметрыПозиции.Номенклатура) Тогда
Сообщить(«В одной из строк не заполнено значение номенклатуры — строка при печати пропущена.», СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьНомера.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Вывести(ОбластьНомера);
Если ПараметрыПечати.ВыводитьКоды Тогда
ОбластьКодов.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Присоединить(ОбластьДанных);
Если ПараметрыПечати.ЕстьСкидки Тогда
ОбластьСкидок.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ПараметрыПозиции);
ТабДокумент.Присоединить(ОбластьСуммы);
КонецЦикла;
// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть(«Итого|НомерСтроки»);
ОбластьКодов = Макет.ПолучитьОбласть(«Итого|КолонкаКодов»);
ОбластьДанных = Макет.ПолучитьОбласть(«Итого|Данные»);
ОбластьСкидок = Макет.ПолучитьОбласть(«Итого|Скидка»);
ОбластьСуммы = Макет.ПолучитьОбласть(«Итого|Сумма»);
ОбластьТовар = Макет.ПолучитьОбласть(«Итого|Товар»);
Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Итого|ТоварБезКодов»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Итого|ТоварБезСкидок»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«Итого|ТоварБезКодовИСкидок»);
КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера);
Если ПараметрыПечати.ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьТовар);
ТабДокумент.Присоединить(ОбластьДанных);
Если ПараметрыПечати.ЕстьСкидки Тогда
ОбластьСкидок.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьСуммы);
// Вывести ИтогоНДС
Если ПараметрыПечати.УчитыватьНДС Тогда
ОбластьНомера = Макет.ПолучитьОбласть(«ИтогоНДС|НомерСтроки»);
ОбластьКодов = Макет.ПолучитьОбласть(«ИтогоНДС|КолонкаКодов»);
ОбластьДанных = Макет.ПолучитьОбласть(«ИтогоНДС|Данные»);
ОбластьСкидок = Макет.ПолучитьОбласть(«ИтогоНДС|Скидка»);
ОбластьСуммы = Макет.ПолучитьОбласть(«ИтогоНДС|Сумма»);
ОбластьТовар = Макет.ПолучитьОбласть(«ИтогоНДС|Товар»);
Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ИтогоНДС|ТоварБезКодов»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ИтогоНДС|ТоварБезСкидок»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ИтогоНДС|ТоварБезКодовИСкидок»);
КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера);
Если ПараметрыПечати.ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьДанных);
Если ПараметрыПечати.ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьСуммы);
ОбластьНомера = Макет.ПолучитьОбласть(«ВсегоКОплате|НомерСтроки»);
ОбластьКодов = Макет.ПолучитьОбласть(«ВсегоКОплате|КолонкаКодов»);
ОбластьДанных = Макет.ПолучитьОбласть(«ВсегоКОплате|Данные»);
ОбластьСкидок = Макет.ПолучитьОбласть(«ВсегоКОплате|Скидка»);
ОбластьСуммы = Макет.ПолучитьОбласть(«ВсегоКОплате|Сумма»);
ОбластьТовар = Макет.ПолучитьОбласть(«ВсегоКОплате|Товар»);
Если Не ПараметрыПечати.ВыводитьКоды И ПараметрыПечати.ЕстьСкидки Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ВсегоКОплате|ТоварБезКодов»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ВсегоКОплате|ТоварБезСкидок»);
ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидки И НЕ ПараметрыПечати.ВыводитьКоды Тогда
ОбластьТовар = Макет.ПолучитьОбласть(«ВсегоКОплате|ТоварБезКодовИСкидок»);
КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера);
Если ПараметрыПечати.ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьДанных);
Если ПараметрыПечати.ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Присоединить(ОбластьСуммы);
КонецЕсли;
// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть(«СуммаПрописью»);
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
// Вывести подписи
Если Тип = «Счет» Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ПодвалСчета»);
Иначе
ОбластьМакета = Макет.ПолучитьОбласть(«ПодвалЗаказа»);
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // ПечатьАктаОбОказанииУслуг()
// Функция помещает в структуру все данные, отображаемые при печати документа.
// Вызывается из функции ПечатьСчетаЗаказа и из веб-приложения
//
// Параметры:
// Тип — строка, содержит тип печатаемого документа (счет или заказ)
//
// Возвращаемое значение:
// Структура
//
Функция ПолучитьПараметрыПечатиСчетаЗаказа(Тип)
ПараметрыПечати = Новый Структура;
Позиции = Новый Массив;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«ТекущийДокумент», ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр(«ПустойКонтрагент», Справочники.Контрагенты.ПустаяСсылка());
Запрос.Текст =»
|ВЫБРАТЬ
| Номер,
| Дата,
| ДоговорКонтрагента,
| Организация,
| Контрагент КАК Получатель,
| ДоговорКонтрагента КАК ДоговорКонтрагента,
| ВЫБОР КОГДА Грузоотправитель = &ПустойКонтрагент
| ТОГДА Организация
| ИНАЧЕ Грузоотправитель КОНЕЦ КАК Грузоотправитель,
| ВЫБОР КОГДА Грузополучатель = &ПустойКонтрагент
| ТОГДА Контрагент
| ИНАЧЕ Грузополучатель КОНЕЦ КАК Грузополучатель,
| Организация КАК Руководители,
| Организация КАК Поставщик,
| СуммаДокумента,
| ВалютаДокумента,
| УчитыватьНДС,
| СуммаВключаетНДС
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|
|ГДЕ
| СчетНаОплатуПокупателю.Ссылка = &ТекущийДокумент»;
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания(«СчетНаОплату»);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«ТекущийДокумент», СсылкаНаОбъект);
Запрос.Текст = «ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура,
| ВЫРАЗИТЬ (ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ПроцентСкидкиНаценки
| + ВложенныйЗапрос.ПроцентАвтоматическихСкидок КАК Скидка,
| ВложенныйЗапрос.Цена,
| ВложенныйЗапрос.Сумма,
| ВложенныйЗапрос.СуммаНДС,
| ВложенныйЗапрос.Характеристика,
| NULL КАК Серия,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапрос.Метка КАК Метка
|ИЗ
| (ВЫБРАТЬ
| СчетНаОплату.Номенклатура КАК Номенклатура,
| СчетНаОплату.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СчетНаОплату.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
| СчетНаОплату.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
| СчетНаОплату.Цена КАК Цена,
| СУММА(СчетНаОплату.Количество) КАК Количество,
| СУММА(СчетНаОплату.Сумма) КАК Сумма,
| СУММА(СчетНаОплату.СуммаНДС) КАК СуммаНДС,
| СчетНаОплату.ХарактеристикаНоменклатуры КАК Характеристика,
| МИНИМУМ(СчетНаОплату.НомерСтроки) КАК НомерСтроки,
| 0 КАК Метка
| ИЗ
| Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплату
|
| ГДЕ
| СчетНаОплату.Ссылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
| СчетНаОплату.Номенклатура,
| СчетНаОплату.ЕдиницаИзмерения,
| СчетНаОплату.ПроцентСкидкиНаценки,
| СчетНаОплату.ПроцентАвтоматическихСкидок,
| СчетНаОплату.Цена,
| СчетНаОплату.ХарактеристикаНоменклатуры
| ) КАК ВложенныйЗапрос
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетНаОплату.Номенклатура,
| Минимум(» + СтрокаВыборкиПоляСодержания + «) КАК Товар,
| СчетНаОплату.Номенклатура.Код КАК Код,
| СчетНаОплату.Номенклатура.Артикул КАК Артикул,
| Сумма(СчетНаОплату.Количество),
| СчетНаОплату.Номенклатура.ЕдиницаХраненияОстатков,
| СчетНаОплату.ПроцентСкидкиНаценки + СчетНаОплату.ПроцентАвтоматическихСкидок,
| СчетНаОплату.Цена,
| Сумма(СчетНаОплату.Сумма),
| Сумма(СчетНаОплату.СуммаНДС),
| NULL,
| NULL,
| Минимум(СчетНаОплату.НомерСтроки),
| 1
|ИЗ
| Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплату
|
|ГДЕ
| СчетНаОплату.Ссылка = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| СчетНаОплату.Номенклатура,
| СчетНаОплату.ПроцентСкидкиНаценки,
| СчетНаОплату.ПроцентАвтоматическихСкидок,
| СчетНаОплату.Цена
|
|УПОРЯДОЧИТЬ ПО
| Метка,
| НомерСтроки»;
ЗапросТовары = Запрос.Выполнить().Выгрузить();
// Выводим шапку накладной
ПараметрыПечати.Вставить(«УчитыватьНДС», Шапка.УчитыватьНДС);
ПараметрыПечати.Вставить(«ДоговорКонтрагента», Шапка.ДоговорКонтрагента);
СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата);
Если Тип = «Счет» Тогда
ПараметрыПечати.Вставить(«ИНН», СведенияОПоставщике.ИНН);
ПараметрыПечати.Вставить(«КПП», СведенияОПоставщике.КПП);
ПредставлениеПоставщикаДляПлатПоручения = «»;
Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип(«СправочникСсылка.БанковскиеСчета») Тогда
Банк = ?(не ЗначениеЗаполнено(СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов), СсылкаНаОбъект.СтруктурнаяЕдиница.Банк, СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов);
БИК = Банк.Код;
КоррСчет = Банк.КоррСчет;
ГородБанка = Банк.Город;
НомерСчета = СсылкаНаОбъект.СтруктурнаяЕдиница.НомерСчета;
ПараметрыПечати.Вставить(«БИКБанкаПолучателя», БИК);
ПараметрыПечати.Вставить(«БанкПолучателя», Банк);
ПараметрыПечати.Вставить(«БанкПолучателяПредставление», СокрЛП(Банк) + » » + ГородБанка);
ПараметрыПечати.Вставить(«СчетБанкаПолучателя», КоррСчет);
ПараметрыПечати.Вставить(«СчетБанкаПолучателяПредставление», КоррСчет);
ПараметрыПечати.Вставить(«СчетПолучателяПредставление», НомерСчета);
ПараметрыПечати.Вставить(«СчетПолучателя», НомерСчета);
ПредставлениеПоставщикаДляПлатПоручения = СсылкаНаОбъект.СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
Если ПустаяСтрока(ПредставлениеПоставщикаДляПлатПоручения) Тогда
ПредставлениеПоставщикаДляПлатПоручения = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, «ПолноеНаименование,»);
КонецЕсли;
ПараметрыПечати.Вставить(«ПредставлениеПоставщикаДляПлатПоручения», ПредставлениеПоставщикаДляПлатПоручения);
КонецЕсли;
ПараметрыПечати.Вставить(«ТекстЗаголовка», ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, «Счет на оплату»));
ПараметрыПечати.Вставить(«ТекстПоставщик», ?(Тип = «Счет», «Поставщик:», «Исполнитель:»));
ПараметрыПечати.Вставить(«ПредставлениеПоставщика», ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), «ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,»));
Если Шапка.Организация = Шапка.Грузоотправитель Тогда
ПараметрыПечати.Вставить(«ПредставлениеГрузоотправителя», ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), «ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,»));
Иначе
ПараметрыПечати.Вставить(«ПредставлениеГрузоотправителя», ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузоотправитель, Шапка.Дата), «ПолноеНаименование,ИНН,КПП,ФактическийАдрес,Телефоны,»));
КонецЕсли;
СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
ПараметрыПечати.Вставить(«ТекстПокупатель», ?(Тип = «Счет», «Покупатель:», «Заказчик:»));
ПараметрыПечати.Вставить(«ПредставлениеПолучателя», ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), «ПолноеНаименование,ИНН,КПП,ЮридическийАдрес,Телефоны,»));
ПараметрыПечати.Вставить(«ПредставлениеГрузополучателя», ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.Дата), «ПолноеНаименование,ИНН,КПП,ФактическийАдрес,Телефоны,»));
ПараметрыПечати.Вставить(«ЕстьСкидки», Ложь);
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
Если ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка) Тогда
ПараметрыПечати.ЕстьСкидки = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
ПараметрыПечати.Вставить(«ВыводитьКоды», Ложь);
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
ПараметрыПечати.ВыводитьКоды = Истина;
Колонка = «Артикул»;
ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
ПараметрыПечати.ВыводитьКоды = Истина;
Колонка = «Код»;
КонецЕсли;
Если ПараметрыПечати.ВыводитьКоды Тогда
ПараметрыПечати.Вставить(«ИмяКолонкиКодов», Колонка);
КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
ПараметрыПозиции = Новый Структура;
ПараметрыПозиции.Вставить(«Номенклатура», ВыборкаСтрокТовары.Номенклатура);
ПараметрыПозиции.Вставить(«НомерСтроки», ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1);
Если ПараметрыПечати.ВыводитьКоды Тогда
Если Колонка = «Артикул» Тогда
ПараметрыПозиции.Вставить(«Артикул», ВыборкаСтрокТовары.Артикул);
Иначе
ПараметрыПозиции.Вставить(«Артикул», ВыборкаСтрокТовары.Код);
КонецЕсли;
КонецЕсли;
ПараметрыПозиции.Вставить(«Количество», ВыборкаСтрокТовары.Количество);
ПараметрыПозиции.Вставить(«ЕдиницаИзмерения», ВыборкаСтрокТовары.ЕдиницаИзмерения);
ПараметрыПозиции.Вставить(«Цена», ВыборкаСтрокТовары.Цена);
ПараметрыПозиции.Вставить(«Товар», СокрП(ВыборкаСтрокТовары.НаименованиеПолное)
+ ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары));
Скидка = Ценообразование.ПолучитьСуммуСкидки(ВыборкаСтрокТовары.Сумма, ВыборкаСтрокТовары.Скидка);
Если ПараметрыПечати.ЕстьСкидки Тогда
ПараметрыПозиции.Вставить(«Скидка», Скидка);
ПараметрыПозиции.Вставить(«СуммаБезСкидки», ВыборкаСтрокТовары.Сумма + Скидка);
КонецЕсли;
ПараметрыПозиции.Вставить(«Сумма», ВыборкаСтрокТовары.Сумма);
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;
ВсегоСкидок = ВсегоСкидок + Скидка;
ВсегоБезСкидок = Сумма + ВсегоСкидок;
#Если ВнешнееСоединение Тогда
WEBПриложения.ПодготовитьСтруктуруДляВнешнегоСоединения(ПараметрыПозиции);
#КонецЕсли
Позиции.Добавить(ПараметрыПозиции);
КонецЦикла;
ПараметрыПечати.Вставить(«Позиции», Позиции);
// Вывести Итого
Если ПараметрыПечати.ЕстьСкидки Тогда
ПараметрыПечати.Вставить(«ВсегоСкидок», ВсегоСкидок);
ПараметрыПечати.Вставить(«ВсегоБезСкидок», ВсегоБезСкидок);
КонецЕсли;
ПараметрыПечати.Вставить(«Всего», ОбщегоНазначения.ФорматСумм(Сумма));
// Вывести ИтогоНДС
Если ПараметрыПечати.УчитыватьНДС Тогда
ПараметрыПечати.Вставить(«НДС», ?(Шапка.СуммаВключаетНДС, «В том числе НДС:», «Сумма НДС:»));
ПараметрыПечати.Вставить(«ВсегоНДС», ОбщегоНазначения.ФорматСумм(ЗапросТовары.Итог(«СуммаНДС»)));
ПараметрыПечати.Вставить(«ВсегоКОплате», ОбщегоНазначения.ФорматСумм(Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС)));
КонецЕсли;
// Вывести Сумму прописью
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ПараметрыПечати.Вставить(«ИтоговаяСтрока», «Всего наименований » + ЗапросТовары.Количество()
+ «, на сумму » + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента));
ПараметрыПечати.Вставить(«СуммаПрописью», ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента));
// Вывести подписи
Если Тип = «Счет» Тогда
Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(Шапка.Руководители, Шапка.Дата,);
Руководитель = Руководители.Руководитель;
ДолжностьРуководителя = Руководители.РуководительДолжность;
Бухгалтер = Руководители.ГлавныйБухгалтер;
ПараметрыПечати.Вставить(«ФИОРуководителя», Руководитель);
ПараметрыПечати.Вставить(«ДолжностьРуководителя», ДолжностьРуководителя);
ПараметрыПечати.Вставить(«ФИОБухгалтера», Бухгалтер);
ПараметрыПечати.Вставить(«ФИОИсполнителя», СсылкаНаОбъект.Ответственный);
Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Ответственный.ФизЛицо) Тогда
ФИООтветственный = СокрЛП(СсылкаНаОбъект.Ответственный);
Иначе
ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(СсылкаНаОбъект.Ответственный.ФизЛицо, Шапка.Дата);
ФамилияИмяОтчествоОтветственного = ФамилияИмяОтчествоФизЛица.Фамилия + » » + ФамилияИмяОтчествоФизЛица.Имя + » » + ФамилияИмяОтчествоФизЛица.Отчество;
ФИООтветственный = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтветственного);
КонецЕсли;
ПараметрыПечати.Вставить(«ФИООтветственный», ФИООтветственный);
КонецЕсли;
#Если ВнешнееСоединение Тогда
WEBПриложения.ПодготовитьСтруктуруДляВнешнегоСоединения(ПараметрыПечати);
#КонецЕсли
Возврат ПараметрыПечати;
КонецФункции //ПолучитьПараметрыПечатиСчетаЗаказа()
1C. «Недопустимое значение параметра» при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:
{ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Код, вызывающий ошибку:
Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
&НаСервере
Функция ПолучитьМакетЗаявленияИзРасширения()
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
Возврат Макет;
КонецФункции
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант — перенести макеты в общие и следующей командой вызвать (получить) макет из «Общие макеты»:
Макет = ПолучитьОбщийМакет («Расш1_МакетЗаявлениеПоступающего»);
——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то «заглушки» достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
При нажитии на кнопку в форме документа вылетает ошибка, — {Документ.РасчетПремииМенеджера.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (ПолучитьМакет) Макет = ПолучитьМакет(«Макет»); по причине: Недопустимое значение параметра (параметр номер ‘1’) У документа есть Макет, — «Макет» , почему ругается на него? Процедура РасчетПремииНажатие(Элемент) // Вставить содержимое обработчика.
попробуй полное имя указать «Документы.ТвойДокумент.Макеты.ТвойМакет»
ругается что нет поля объекта «Макет»
только так??? спасибо, сейчас попробую, думал проще….
Скопируй старый макет в новый. Попробуй изменить наименование.
Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
Хотите сказать что так должно работать это глюки?
ну так откуда в обычных формах РеквизитФормыВЗначение??
Понял! Значит это не подойдет!!! Как в обычных формах это работает, получение доступа к макету документа.
Макет = ЭтотОбъект.ПолучитьМакет(«Накладная»);
Это выполняется в форме документа
Вот поэтому и ЭтотОбъект.
Если бы был в модуле объекта мог бы просто вызвать: ПолучитьМакет(«Накладная»)
в тестовой базе смотрю, на эту строку не ругается, стало ругаться в рабочей (((
Вот в тестовой базе в модуле формы документа, прошло и не сругалось!!!
А это еще что за хр-нь ? мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение; Элемент формы связан по данным с реквизитом объекта/ТЧ объекта, либо с реквизитом формы. Так, что, надо сразу к ним и обращаться. А через ЭлементыФормы — это для несмышленых
Ошибка при вызове метода контекста (ПолучитьМакет) Макет = ЭтотОбъект.ПолучитьМакет(«Макет»);
Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально Сейчас в тестовой базе работает, а в рабочей стал ругаться на макет А почему нужно его переименовывать, в тестовой работает все без изменений, а тут что случилось?
Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально
это называется «танцы с бубном». отсекаются проблемы разной раскладки
Видимо действительно этот случай. И не более.
в этом документе точно есть Макет «Макет»?
я тебе еще в предложил переименовать макет. Тяжело сделать?
Да конечно, говорю в копии базы все работает, в рабочей что то слетело. Изменил название макета на «РасчетПМ» стало работать…выполняется…Ошибки уже на макете не выдает!
То есть это к примеру залез админ в 1с, исправил букву в другой раскладке в названии макета «Макет» и сохранил? Или это реально глюк такой 1с есть???
наверно у формы слетело свойство «Данные». А потом кто-то кофе пил на твоем рабочем месте, махнул рукавом, зацепил клавиатуру, свойство и заполнилось как надо.
ОбработкаОбъект.ПолучитьМакет(
Непонятно как это бы так было, саботаж если только говорю!!! Макет документа, при чем тут обработка??? пробовал и так: не получалось….пока не изменил название макета…
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям