|
Один запрос, меняются только параметры (как правильно написать) | ☑ | ||
---|---|---|---|---|
0
листопад
18.05.14
✎
02:29
|
Формирую печатную форму. У физ.лица заполнено много свойств. Как правильно программно прописать вывод этих свойств? Сейчас тупо пишу запрос, где в параметрах указываю нужное физ.лицо и свойство, все выводится как мне надо. Только у каждого физ.лица около 8-10 разных свойств, и я так думаю будет некрасиво, если я в коде 10 раз напишу один и тот же запрос, в котором меняются только параметры (физ.лицо и свойство).
Вот код, для получения одного свойства, а у меня их около 10-ти: НужноеСво = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Город"); Значение=""; з=Новый Запрос; з.Текст= " ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &ФЛ | И ЗначенияСвойствОбъектов.Свойство = &НужноеСвойство"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); з.УстановитьПараметр("НужноеСвойство",НужноеСво); ВыбСвойство = з.Выполнить().Выбрать(); Если ВыбСвойство.Следующий() Тогда Значение = СокрЛП(ВыбСвойство.Значение); КонецЕсли; |
|||
1
Tateossian
18.05.14
✎
02:38
|
Динамически формируй запрос со свойствами в блоке ГДЕ конкатенацией вида Текст = Текст + "ИЛИ НужноеСвойство1 = &НужноеСвойство1". Ну и лучше не через ИЛИ, а ОБЪЕДИНИТЬ ВСЕ.
|
|||
2
листопад
18.05.14
✎
02:56
|
(1) Не поняла...
|
|||
3
DirecTwiX
18.05.14
✎
03:24
|
"ГДЕ
| ЗначенияСвойствОбъектов.Объект = &ФЛ | И ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)"; НужныеСвойства = Новый Массив; НужныеСвойства.Добавить(НужноеСво1); НужныеСвойства.Добавить(НужноеСво2); ... |
|||
4
rphosts
18.05.14
✎
04:07
|
(0) эти свойства в разных регистрах или в одном?
|
|||
5
Dionis Sergeevich
18.05.14
✎
04:33
|
ГДЕ
| ЗначенияСвойствОбъектов.Объект В &ФЛ в ФЛ передавай список значений со всеми нужными физиками и обходи результат |
|||
6
Dionis Sergeevich
18.05.14
✎
04:34
|
со свойствами так же - или вообще без условия по свойству - по ситуации
|
|||
7
листопад
18.05.14
✎
11:11
|
(4) Свойства все в одном регистре.
|
|||
8
листопад
18.05.14
✎
11:41
|
(3) Спасибо. Написала, передала значения в массив, а как теперь находить эти значения из массива? И еще, правильно ли я написала передачу значений в массив? Вот код:
НужноеСво1 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Город"); НужноеСво2 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк"); НужноеСво3 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - БИК"); НужноеСво4 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - КоррСчет"); НужноеСво5 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - Город"); НужноеСво6 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Договор - Дата"); НужноеСво7 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Договор - Номер"); НужноеСво8 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Должность"); НужноеСво9 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Комментарий"); НужноеСво10 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Коэффициент"); НужноеСво11 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Лицевой счет агента"); НужныеСвойства = Новый Массив; НужныеСвойства.Добавить(НужноеСво1); НужныеСвойства.Добавить(НужноеСво2); НужныеСвойства.Добавить(НужноеСво3); НужныеСвойства.Добавить(НужноеСво4); НужныеСвойства.Добавить(НужноеСво5); НужныеСвойства.Добавить(НужноеСво6); НужныеСвойства.Добавить(НужноеСво7); НужныеСвойства.Добавить(НужноеСво8); НужныеСвойства.Добавить(НужноеСво9); НужныеСвойства.Добавить(НужноеСво10); НужныеСвойства.Добавить(НужноеСво11); Значение=""; з=Новый Запрос; з.Текст= " ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &ФЛ // | И ЗначенияСвойствОбъектов.Свойство = &НужноеСвойство"; | И ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); // з.УстановитьПараметр("НужноеСвойство",НужныеСвойства); ВыбСвойство = з.Выполнить().Выбрать(); Если ВыбСвойство.Следующий() Тогда Значение = СокрЛП(ВыбСвойство.Значение); КонецЕсли; |
|||
9
листопад
18.05.14
✎
12:06
|
Ап!
|
|||
10
nufnufcheg
18.05.14
✎
12:15
|
тебе нужен список физлиц, у которых установлено одно или несколько нужные тебе свойств?
|
|||
11
листопад
18.05.14
✎
12:25
|
Здесь выложен только фрагмент кода по получению свойств физ.лица. Глобально задача выглядит так: я по каждому физ.лицу получаю его данные (дата рождения, паспорт и прочее) и в том числе, мне нужно получить значения его свойств (город, банк, банк-бик и прочее) и все эти полученные значения я вывожу в печ.форму Ворда.
Т.е. в общем виде конструкция такая: Функция Печать() Экспорт Выборка = СформироватьЗапросДляПечатиТрудовогоДоговораН().Выбрать(); Если Выборка.Следующий() Тогда // здесь мой код по получению значений свойств КонецЕсли; Макет = ПолучитьМакет("МакетWord"); MSWord = Макет.Получить(); КонецФункции |
|||
12
nufnufcheg
18.05.14
✎
12:26
|
т.е. тебе нужно получить список физлиц со значениями реквизитов и всеми возможными допсвойствами?
|
|||
13
листопад
18.05.14
✎
12:31
|
+(11) у каждого физ.лица заполнено несколько свойств, мне надо все их вытянуть. Запрос написала в (8), а как дальше с ним работать? Т.е. мне непонятно, как передать дальше в печ.форму:
Если получаем НужноеСво1, то передать в печ.форму значение свойства "Город". Если получаем НужноеСво2, то передать в печ.форму значение свойства "Банк". и т.д. Если же значение у любого свойства не заполнено, то ничего не передавать в печ.форму. |
|||
14
листопад
18.05.14
✎
12:32
|
(12) да
|
|||
15
nufnufcheg
18.05.14
✎
12:38
|
ВЫБРАТЬ
ФизическиеЛица.Ссылка КАК ФизЛицо, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ПО ФизическиеЛица.Ссылка = ЗначенияСвойствОбъектов.Объект И (ЗначенияСвойствОбъектов.Свойство В (&МассивТвоихСвойств)) ИТОГИ ПО ФизЛицо КАК ФизЛицо |
|||
16
nufnufcheg
18.05.14
✎
12:39
|
и выбираешь результат запроса через выборку с ОбходРезультатаЗапроса.ПоГруппировкам
|
|||
17
nufnufcheg
18.05.14
✎
12:40
|
в выборке первого уровня - физлицо, в выборке второго уровня - все свойства этого физлица
|
|||
18
листопад
18.05.14
✎
13:21
|
(17) Спасибо, но мне не понятно, как прописать вот это место:
Если получаем НужноеСво1, то передать в печ.форму значение свойства "Город". Если получаем НужноеСво2, то передать в печ.форму значение свойства "Банк". и т.д. |
|||
19
листопад
18.05.14
✎
13:32
|
В выборке у меня запрос по одному физ.лицу.
|
|||
20
листопад
18.05.14
✎
13:38
|
Выдает ошибку:
Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(9, 42)}: Не задано значение параметра "НужныеСвойства" И ЗначенияСвойствОбъектов.Свойство В (<<?>>&НужныеСвойства) Вот код: Функция Печать() Экспорт Выборка = СформироватьЗапросДляПечатиТрудовогоДоговораН().Выбрать(); Если Выборка.Следующий() Тогда //свойства НужноеСво1 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Город"); НужноеСво2 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк"); НужноеСво3 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - БИК"); НужноеСво4 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - КоррСчет"); НужноеСво5 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - Город"); НужноеСво6 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Договор - Дата"); НужноеСво7 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Договор - Номер"); НужноеСво8 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Должность"); НужноеСво9 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Комментарий"); НужноеСво10 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Коэффициент"); НужноеСво11 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Лицевой счет агента"); НужныеСвойства = Новый Массив; НужныеСвойства.Добавить(НужноеСво1); НужныеСвойства.Добавить(НужноеСво2); НужныеСвойства.Добавить(НужноеСво3); НужныеСвойства.Добавить(НужноеСво4); НужныеСвойства.Добавить(НужноеСво5); НужныеСвойства.Добавить(НужноеСво6); НужныеСвойства.Добавить(НужноеСво7); НужныеСвойства.Добавить(НужноеСво8); НужныеСвойства.Добавить(НужноеСво9); НужныеСвойства.Добавить(НужноеСво10); НужныеСвойства.Добавить(НужноеСво11); Значение=""; з=Новый Запрос; з.Текст= " ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &ФЛ // | И ЗначенияСвойствОбъектов.Свойство = &НужноеСвойство"; | И ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); з.УстановитьПараметр("НужноеСвойство",НужныеСвойства); ВыбСвойство = з.Выполнить().Выбрать(); Если ВыбСвойство.Следующий() Тогда Значение = СокрЛП(ВыбСвойство.Значение); Сообщить (Значение); КонецЕсли; КонецЕсли; Макет = ПолучитьМакет("МакетWord"); MSWord = Макет.Получить(); КонецФункции |
|||
21
листопад
18.05.14
✎
13:47
|
+(20) Нашла причину ошибки, вместо:
з.УстановитьПараметр("НужноеСвойство",НужныеСвойства); Надо: з.УстановитьПараметр("НужныеСвойства",НужныеСвойства); Ошибка пропала, зато теперь, через Сообщить (Значение) видит только первое значение массива (Город). А как остальные увидеть? |
|||
22
nufnufcheg
18.05.14
✎
13:57
|
(21) перечитай еще раз (15)(16)(17).
|
|||
23
листопад
18.05.14
✎
13:59
|
(22) Мне нужно обрабатывать не всех физ.лиц из справочника ФЛ, а только тех, которые в выборке. Поэтому в своем запросе в (20) в качестве физ.лица я и передаю параметр:
з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); |
|||
24
nufnufcheg
18.05.14
✎
14:02
|
выполни запрос в консоли запросов и посмотри на результат
|
|||
25
1с-кин
18.05.14
✎
14:02
|
(23)"Мне нужно обрабатывать не всех физ.лиц из справочника ФЛ, а только тех, которые в выборке"
в 1С невозможно обработать в запросе "тех, которых выбрали этим же запросом". Разве что только сможешь временными таблицами обойтись. |
|||
26
nufnufcheg
18.05.14
✎
14:05
|
(25) у него другой запрос, внутри цикла
|
|||
27
1с-кин
18.05.14
✎
14:07
|
(26) тем более в 1С нет запроса-в-цикле без инструкций кода.
|
|||
28
листопад
18.05.14
✎
14:12
|
(24) как в консоли передать в качестве параметра массив?
|
|||
29
nufnufcheg
18.05.14
✎
14:29
|
очисти поле значения параметра крестиком, выбери тип значения "список значений" и в нем укажи свои свойства
|
|||
30
листопад
18.05.14
✎
14:35
|
(29) Получилось, спасибо. Все свойства выводятся. Но в результат запроса попадают все физ.лица. А я формирую печ.форму для одного физ.лица. Можно ли как-то указать параметр з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо);
в коде: ВЫБРАТЬ ФизическиеЛица.Ссылка КАК ФизЛицо, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ПО ФизическиеЛица.Ссылка = ЗначенияСвойствОбъектов.Объект И (ЗначенияСвойствОбъектов.Свойство В (&МассивТвоихСвойств)) ИТОГИ ПО ФизЛицо КАК ФизЛицо |
|||
31
nufnufcheg
18.05.14
✎
14:36
|
(30) ну так если ты делаешь запрос в цикле по конкретному лицу - добавь условие по физлицу. и вообще раз ты делаешь в цикле - используй свой запрос без итога
|
|||
32
листопад
18.05.14
✎
14:43
|
(31) Т.е. вот так:
з=Новый Запрос; з.Текст= "ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК ФизЛицо, | ЗначенияСвойствОбъектов.Свойство КАК Свойство, | ЗначенияСвойствОбъектов.Значение КАК Значение |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ФизическиеЛица.Ссылка = ЗначенияСвойствОбъектов.Объект | И (ЗначенияСвойствОбъектов.Свойство В (&МассивТвоихСвойств)) |ГДЕ | ФизическиеЛица.Наименование = &ФЛ"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); |
|||
33
листопад
18.05.14
✎
14:48
|
Выводит все равно только первое свойство из массива! Что не так опять??? Вот код:
Значение=""; з=Новый Запрос; з.Текст= "ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК ФизЛицо, | ЗначенияСвойствОбъектов.Свойство КАК Свойство, | ЗначенияСвойствОбъектов.Значение КАК Значение |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ФизическиеЛица.Ссылка = ЗначенияСвойствОбъектов.Объект | И (ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)) |ГДЕ | ФизическиеЛица.Ссылка = &ФЛ"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); з.УстановитьПараметр("НужныеСвойства",НужныеСвойства); ВыбСвойство = з.Выполнить().Выбрать(); Если ВыбСвойство.Следующий() Тогда Значение = СокрЛП(ВыбСвойство.Значение); Сообщить (Значение); КонецЕсли; |
|||
34
листопад
18.05.14
✎
14:49
|
А если смотрю этот код через консоль, то выводит все свойства!!!
|
|||
35
Мимохожий Однако
18.05.14
✎
15:09
|
Значение свойств выведи во временные таблицы, а потом соединение
|
|||
36
листопад
18.05.14
✎
15:17
|
(35) Не осилю, а попроще может как-то можно?
|
|||
37
DirecTwiX
18.05.14
✎
15:18
|
(8) Выполняешь запрос, получаешь выборку. Дальше пишешь
Отбор = Новый Структура("Свойство"); Для каждого Св из НужныеСвойство Цикл Выборка.Сбросить(); Отбор.Свойство = Св; Если Выборка.НайтиСледующий(Св) Тогда Сообщить("Свойство <"+Св.Наименование+"> = "+Выборка.Значение); КонецЕсли; КонецЦикла |
|||
38
листопад
18.05.14
✎
15:31
|
(37) Спасибо, но так тоже не срабатывает почему-то... Вот код:
з=Новый Запрос; з.Текст= " ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &ФЛ | И ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); з.УстановитьПараметр("НужныеСвойства",НужныеСвойства); ВыбСвойство = з.Выполнить().Выбрать(); Отбор = Новый Структура("Свойство"); Для каждого Св из НужныеСвойства Цикл ВыбСвойство.Сбросить(); Отбор.Свойство = Св; Если ВыбСвойство.НайтиСледующий(Св) Тогда Сообщить("Свойство <"+Св.Наименование+"> = "+ВыбСвойство.Значение); КонецЕсли; КонецЦикла; |
|||
39
листопад
18.05.14
✎
15:37
|
(37) Забираю свои слова назад!!! Большое СПАСИБО!!! Все получилось!!! :*)
|
|||
40
rphosts
18.05.14
✎
15:37
|
(37) зачем отбор? она-ж в табличный вроде выводит? Наименовать области и сразу в параметры выводить
|
|||
41
листопад
18.05.14
✎
15:39
|
(40) Нет, я вывожу в Ворд.
|
|||
42
DirecTwiX
18.05.14
✎
15:40
|
(38) (40) Тьфу. Должно быть
Выборка.НайтиСледующий(Отбор) а не Выборка.НайтиСледующий(Св) (40) Спросили, как найти нужное свойство) |
|||
43
листопад
18.05.14
✎
15:43
|
(42) Так тоже срабатывает )))
|
|||
44
dnab
18.05.14
✎
15:50
|
мне нравится эта девушка, которая работает ночами и по выходным
|
|||
45
листопад
18.05.14
✎
15:51
|
(44) А что делать? Трудоголик я )))
|
|||
46
1с-кин
18.05.14
✎
15:55
|
(28) взять консоль с поддрежкой массивов
|
|||
47
1с-кин
18.05.14
✎
15:57
|
(44) можно подумать, больше никто не работает по ночам и в выходные.
Москва да, не работает. |
|||
48
1с-кин
18.05.14
✎
15:58
|
*мистомосква
|
|||
49
листопад
18.05.14
✎
16:06
|
Теперь печ.форму в Ворде не формирует, выдает ошибку:
{ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(481)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005) Вот код: Функция Печать() Экспорт Выборка = СформироватьЗапросДляПечатиТрудовогоДоговораН().Выбрать(); Если Выборка.Следующий() Тогда //свойства НужноеСво1 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Город"); НужноеСво2 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк"); НужноеСво3 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Банк - БИК"); НужныеСвойства = Новый Массив; НужныеСвойства.Добавить(НужноеСво1); НужныеСвойства.Добавить(НужноеСво2); НужныеСвойства.Добавить(НужноеСво3); Значение=""; з=Новый Запрос; з.Текст= " ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &ФЛ | И ЗначенияСвойствОбъектов.Свойство В (&НужныеСвойства)"; з.УстановитьПараметр("ФЛ",Выборка.ФизЛицо); з.УстановитьПараметр("НужныеСвойства",НужныеСвойства); ВыбСвойство = з.Выполнить().Выбрать(); Отбор = Новый Структура("Свойство"); Для каждого Св из НужныеСвойства Цикл ВыбСвойство.Сбросить(); Отбор.Свойство = Св; Если ВыбСвойство.НайтиСледующий(Отбор) Тогда Если Св.Наименование = "Город" Тогда ПолучилиГород = ВыбСвойство.Значение; КонецЕсли; Если Св.Наименование = "Банк" Тогда ПолучилиБанк = ВыбСвойство.Значение; КонецЕсли; Если Св.Наименование = "Банк - БИК" Тогда ПолучилиБИК = ВыбСвойство.Значение; КонецЕсли; КонецЕсли; КонецЦикла; ш_СвГород = ПолучилиГород; ш_СвБанк = ПолучилиБанк; ш_СвБИК = ПолучилиБИК; КонецЕсли; // ******************************************************** Макет = ПолучитьМакет("МакетWord"); MSWord = Макет.Получить(); Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); Замена = Документ.Content.Find; Замена.Wrap = 1; //чтобы не писать каждый раз Find Замена.Execute("ш_СвГород", , , , , , , , ,ш_СвГород,2); Замена.Execute("ш_СвБанк", , , , , , , , ,ш_СвБанк,2); Замена.Execute("ш_СвБИК", , , , , , , , ,ш_СвБИК,2); MSWord.Application.Visible=Истина; MsWord.Activate(); Исключение Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки; КонецФункции |
|||
50
Мимохожий Однако
18.05.14
✎
16:11
|
Надо в функции СформироватьЗапросДляПечатиТрудовогоДоговораН() сразу получить нужные параметры и не делать второй запрос. Отладчик включать умеешь?
|
|||
51
листопад
18.05.14
✎
16:14
|
(50) В функции СформироватьЗапросДляПечатиТрудовогоДоговораН() получаю ФизЛицо и его данные. А Затем, в процедуре Печать() выбираю, свойства, категории и прочее и вывожу на печать.
|
|||
52
листопад
18.05.14
✎
16:26
|
(49) Разобралась, надо было написать:
ш_СвГород = Строка(ПолучилиГород); ш_СвБанк = Строка(ПолучилиБанк); ш_СвБИК = Строка(ПолучилиБИК); Тогда в Ворд формирует. |
|||
53
1с-кин
18.05.14
✎
16:53
|
(52) вам, прежде чем браться за передачу в Ворд, неплохо бы было изучить соответствие типов данных Ворд и 1с между собой.
И начать с того, что типы данных 1с - все, кроме примитивных, чужды любому другому приложению. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |