|
Слишком много фактических параметров | ☑ | ||
---|---|---|---|---|
0
tolok_d
27.09.12
✎
16:43
|
код:
Функция Печать() Экспорт Перем ПутьКШаблону; // СсылкаНаОбъект = СсылкаНаОбъект.РеализацияТоваровУслуг; ПутьКШаблону = "d:\1с_bases\УТП 20.08.2012\Договор.dotx"; Попытка Форма = ПолучитьФорму("ФормаЗначОб"); Форма.ОткрытьМодально(); Исключение Форма = ПолучитьФорму("ФормаЗначений", ); Форма.ОткрытьМодально(); КонецПопытки; ДанныеШаблона = Новый Структура; ДанныеШаблона.Вставить("ДоговорДата", ? (СсылкаНаОбъект.ДоговорКонтрагента.Дата = '00010101000000', "«__» ________ 201_ року", Формат(СсылкаНаОбъект.ДоговорКонтрагента.Дата, "ДЛФ=ДД"))); ДанныеШаблона.Вставить("ДоговорНомер", ? (СсылкаНаОбъект.ДоговорКонтрагента.Номер = Неопределено, "", СсылкаНаОбъект.ДоговорКонтрагента.Номер)); ДанныеШаблона.Вставить("ДатаНачалаИспользованияОборудования", ? (ЭтотОбъект.ДатаНачалаИспользованияОборудования = "", "«__» ________ 201_ року", Формат(ЭтотОбъект.ДатаНачалаИспользованияОборудования, "ДЛФ=ДД"))); //ДанныеШаблона.Вставить("ПериодИспользованияОборудования", ЭтотОбъект.ПериодИспользованияОборудования); ДанныеШаблона.Вставить("НастройкаОборудованияС", ? (ЭтотОбъект.НастройкаОборудованияС = "", "«__» ________ 201_ року", Формат(ЭтотОбъект.НастройкаОборудованияС, "ДЛФ=ДД"))); ДанныеШаблона.Вставить("НастройкаОборудованияПО", ? (ЭтотОбъект.НастройкаОборудованияПО = "", "«__» ________ 201_ року", Формат(ЭтотОбъект.НастройкаОборудованияПО, "ДЛФ=ДД"))); ДанныеШаблона.Вставить("ДоговорДействителенДо", ? (ЭтотОбъект.ДоговорДействителенДо = "", "«__» ________ 201_ року", Формат(ЭтотОбъект.ДоговорДействителенДо, "ДЛФ=ДД"))); ДанныеШаблона.Вставить("АдресУстановкиОборудования", ЭтотОбъект.АдресУстановкиОборудования, ? (ЭтотОбъект.АдресУстановкиОборудования = "", "_____________________________________________________________________________________________________", ЭтотОбъект.АдресУстановкиОборудования)); //ответственные лица Контрагента КонтрОтвЛ = ОбщегоНазначения.ОтветственныеЛицаКонтрагента(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата); Для каждого Элем Из КонтрОтвЛ Цикл ДанныеШаблона.Вставить(Элем.Ключ, Элем.Значение); КонецЦикла; //Инфа о контрагенте Контр = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата, Истина, , "ua"); Для каждого Элем Из Контр Цикл ДанныеШаблона.Вставить(Элем.Ключ, Элем.Значение); КонецЦикла; СуммаБезНДС = УчетНДС.ПолучитьСуммуДокументаСНДС(СсылкаНаОбъект, "Товары")+УчетНДС.ПолучитьСуммуДокументаСНДС(СсылкаНаОбъект, "Услуги"); прСуммаБезНДС = ЧислоПрописью(СуммаБезНДС, "L=uk_UA", "гривня, гривні, гривень, ж, копійка, копійки, копійок, ж, 2"); ДанныеШаблона.Вставить("СуммаБезНДС", СуммаБезНДС); ДанныеШаблона.Вставить("прСуммаБезНДС", прСуммаБезНДС); НДС = СсылкаНаОбъект.Товары.Итог("СуммаНДС")+СсылкаНаОбъект.Услуги.Итог("СуммаНДС"); прНДС = ЧислоПрописью(НДС, "L=uk_UA", "гривня, гривні, гривень, ж, копійка, копійки, копійок, ж, 2"); ДанныеШаблона.Вставить("НДС", НДС); ДанныеШаблона.Вставить("прНДС", прНДС); СуммаСНДС = СуммаБезНДС+НДС; прСуммаСНДС = ЧислоПрописью(СуммаСНДС, "Л=uk_UA", "гривня, гривні, гривень, ж, копійка, копійки, копійок, ж, 2"); ДанныеШаблона.Вставить("СуммаСНДС", СуммаСНДС); ДанныеШаблона.Вставить("прСуммаСНДС", прСуммаСНДС); /////////////////////////////////////////////////////// //!!!Сообщить(Вне); //Создаем новый объекта типа Word.Application WordApplication = Новый COMОбъект("WORD.Application"); //Выключаем отрисовку экрана WordApplication.ScreenUpdating = Ложь; //Создаем новый документ на основе шаблона //В переменной ПутьКШаблону указываем полный путь к созданному //нами шаблону (файл с расширешением dot) НовыйДокумент = WordApplication .Documents.Add(ПутьКШаблону); //Готовимся к поиску ЗаменаКонтента = НовыйДокумент.content.Find; //Заменяем текст //В первый параметр метода Execute передаем строку которую требуется заменить //В девятый - строку, на которую будет производится заменя //т.е. в ЧтоЗаменяем мы будем передавать имя переменной (например, [ИмяПользователя]) //а в последний - ее значение Для каждого Элемент Из ДанныеШаблона Цикл ЗаменаКонтента = НовыйДокумент.content.Find; //попробовать вынести из цикла ЗаменаКонтента.Execute("&"+ Строка(Элемент.Ключ) ,Истина,Истина,Ложь,,,Истина,,Ложь,Строка(Элемент.Значение)); КонецЦикла; //Дальше все зависит от наших хотелок //Сохранение документа WordApplication.Visible = Истина; НовыйДокумент.SaveAs("d:\Договор.docx"); //Печать документа НовыйДокумент.PrintOut(); //По окончанию работы требуется закрыть документ и сам Winword. Делается это так //Для метода Quit я передаю значение Ложь. Это говорит о том, что нам не требуется сохранять заполненный документ. WordApplication.application.Quit(Ложь); WordApplication = 0; WordApplication.ScreenUpdating = Истина; WordApplication.Application.Visible = Истина; WordApplication = 0; //================= КонецФункции пишет "Не удалось сформировать внешнюю печатную форму! Слишком много фактических параметров" Уважаемые эксперты, подскажите где моя ошибка. |
|||
1
Elf_80_lvl
27.09.12
✎
16:45
|
(0) Целиком текст ошибки пожалуйста раз уж отладчиком пользоваться не научили
|
|||
2
Лефмихалыч
27.09.12
✎
16:45
|
Ну, параметров у тебя где-то дохрена, попробуй указать поменьше
|
|||
3
mikecool
27.09.12
✎
16:45
|
(0) снова ты простыни постишь?
|
|||
4
vmv
27.09.12
✎
16:46
|
лень и бред детектед
|
|||
5
rs_trade
27.09.12
✎
16:46
|
(0) в ДНК твоя ошибка
|
|||
6
vmv
27.09.12
✎
16:49
|
по анализу кода можно сделать вывод, что автору нужно было поступать на литературный факультет по специальности "Басни и сказки".
Там, в коде, практически романы со смакованием мельчайших деталей в стиле О. Генри |
|||
7
Trier
27.09.12
✎
16:50
|
Слишком много фактических параметров"
Уважаемые эксперты, подскажите где моя ошибка. Ты не поверишь... |
|||
8
tolok_d
27.09.12
✎
16:51
|
(1) я целиком написал
(2) меньше никак. Сейчас буду по другому делать (3) почему? (4) пожалуйста поподробнее (5) не у меня одного;) |
|||
9
pessok
27.09.12
✎
16:51
|
//Готовимся к поиску
это прелестно, прелестно! |
|||
10
Лефмихалыч
27.09.12
✎
16:52
|
(8) > меньше ни как
это тебе к китайцам надо - они, говорят, даже сервер пентагона уговорить могут |
|||
11
tolok_d
27.09.12
✎
16:53
|
ОГРОМНАЯ ПРОСЬБА! Если можете подсказать, то прошу, если нет, то не надо постить фигню. Унижения и без вас хватает.
|
|||
12
pessok
27.09.12
✎
16:56
|
(11) подсказываю:
Будь мужиком, используй отладку, блеать! |
|||
13
Steel_Wheel
27.09.12
✎
16:57
|
(11) Лишний параметр в вызываемой функции
|
|||
14
ICWiner
27.09.12
✎
16:57
|
Бро, когда пишется ошиба много параметров, то нажав отладчик можно посмотреть где много параметров. Или ты думаешь, ч о все понят вот это, напрмер ЗаменаКонтента.Execute("&"+ Строка(Элемент.Ключ) ,Истина,Истина,Ложь,,,Истина,,Ложь,Строка(Элемент.Значение))
|
|||
15
tolok_d
27.09.12
✎
16:58
|
(12) уже использую. Ладно, всем адекватным людям спасибо. Буду сам колупать
(13)спасибо. понял |
|||
16
pessok
27.09.12
✎
16:58
|
(15) ну и в какой строке у тебя ошибка, если ты используешь отладчик?
|
|||
17
ICWiner
27.09.12
✎
16:58
|
Find функцией пользовался и не раз, но скоко у нее параметров - без понятия. И такая она тут не одна. Отладчик сразу подскажет где много параметров.
|
|||
18
Steelvan
27.09.12
✎
23:11
|
Вот 100% что WORD официально куплен :)
|
|||
19
kilcode
27.09.12
✎
23:16
|
(0)
ЗаменаКонтента.Execute("&"+ Строка(Элемент.Ключ) ,Истина,Истина,Ложь,,,Истина,,Ложь,Строка(Элемент.Значение)); Это бомба! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |