Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:51

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

Автор Oracle, 12 июн 2016, 10:22

0 Пользователей и 1 гость просматривают эту тему.

Oracle

Дали задание, необходимо чтобы на печатной форме Word вместо фио менеджера (Петров А.О.) выводилось полное имя и фамилия (Петров Александр) без отчества. Как это будет прописываться в коде? Может кто-нибудь помочь.

Golickoff

Посмотрите откуда берутся данные для заполнения. Пусть это будет справочник Сотрудники. Проверьте, есть ли в нём реквизиты ФАмилия, Имя и Отчество (последний не обязательно). Если они есть, то обращаемся к ним. Если их нет, то разбиваем наименование на массив подстрок и вытягиваем имя и фамилию из массива.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

cska-fanat-kz

Цитата: Golickoff от 12 июн 2016, 15:46
Посмотрите откуда берутся данные для заполнения. Пусть это будет справочник Сотрудники. Проверьте, есть ли в нём реквизиты ФАмилия, Имя и Отчество (последний не обязательно). Если они есть, то обращаемся к ним. Если их нет, то разбиваем наименование на массив подстрок и вытягиваем имя и фамилию из массива.

...или используем регистр сведений ФИОФизЛиц :ooifh:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Oracle

Цитата: Golickoff от 12 июн 2016, 15:46
Посмотрите откуда берутся данные для заполнения. Пусть это будет справочник Сотрудники. Проверьте, есть ли в нём реквизиты ФАмилия, Имя и Отчество (последний не обязательно). Если они есть, то обращаемся к ним. Если их нет, то разбиваем наименование на массив подстрок и вытягиваем имя и фамилию из массива.
Обращается и так к Справочнику Менджеры вытягивает ФИО полностью. Мне необходимо, чтобы на печатной форме выводилось полностью Фамилия и Имя (Иван Петров), а Отчество должно просто обрезать с помощью кода или функции . В справочнике отчество удалять нельзя!

Летящий в даль


Oracle

Цитата: Летящий в даль от 16 июн 2016, 12:32
ваш код в студию
Функция ПолучитьДанныеСервер(Заказ)
Запрос = Новый Запрос("ВЫБРАТЬ
                       |   КоммерческоеПредложениеКлиенту.Ссылка КАК Ссылка,
                       |   КоммерческоеПредложениеКлиенту.Номер КАК НомерКП,
                       |   КоммерческоеПредложениеКлиенту.Дата КАК ДатаКП,
                       |   КоммерческоеПредложениеКлиенту.Организация КАК Организация,
                       |   КоммерческоеПредложениеКлиенту.Организация.НаименованиеСокращенное КАК НаименованиеОрганизацииСокр,
                       |   КоммерческоеПредложениеКлиенту.Организация.Наименование КАК ОрганизацияНаименование,
                       |   КоммерческоеПредложениеКлиенту.СрокДействия КАК СрокДействия,
                       |   ВЫБОР
                       |      КОГДА КоммерческоеПредложениеКлиенту.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
                       |            ИЛИ КоммерческоеПредложениеКлиенту.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
                       |         ТОГДА ЛОЖЬ
                       |      ИНАЧЕ ИСТИНА
                       |   КОНЕЦ КАК УчитыватьНДС,
                       |   КоммерческоеПредложениеКлиенту.Организация.Префикс КАК Префикс,
                       |   КоммерческоеПредложениеКлиенту.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
                       |   &Валюта КАК Валюта,
                       |   ЕСТЬNULL(КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо.Наименование, КоммерческоеПредложениеКлиенту.Менеджер.Наименование) КАК МенеджерФИО,
                       |   КоммерческоеПредложениеКлиенту.КонтактноеЛицо КАК КонтактноеЛицо,
                       |   КоммерческоеПредложениеКлиенту.Партнер КАК Партнер,
                       |   КоммерческоеПредложениеКлиенту.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
                       |   ТелефонОрганизации.Представление КАК ТелефонОрганизации,
                       |   АдресОрганизации.Представление КАК АдресОрганизации,
                       |   ПочтаМенеджера.Представление КАК Емайл,
                       |   КоммерческоеПредложениеКлиенту.ГрафикОплаты,
                       |   КоммерческоеПредложениеКлиенту.ФормаОплаты КАК ФормаОплаты,
                       |   КоммерческоеПредложениеКлиенту.Склад,
                       |   КоммерческоеПредложениеКлиенту.Организация.НаименованиеПолное,
                       |   КоммерческоеПредложениеКлиенту.Организация.ИНН,
                       |   КоммерческоеПредложениеКлиенту.Организация.КПП,
                       |   КоммерческоеПредложениеКлиенту.Партнер.НаименованиеПолное КАК Покупатель,
                       |   ПартнерыКонтактнаяИнформация.Представление КАК АдресПартнера,
                       |   Юманс_ОсновныеБанковскиеСчетаОрганизаций.ОсновнойБанковскийСчет.КоррСчетБанка КАК КоррСчетБанка,
                       |   Юманс_ОсновныеБанковскиеСчетаОрганизаций.ОсновнойБанковскийСчет.БИКБанка КАК БИКБанка,
                       |   Юманс_ОсновныеБанковскиеСчетаОрганизаций.ОсновнойБанковскийСчет.НаименованиеБанка КАК НаименованиеБанка,
                       |   Юманс_ОсновныеБанковскиеСчетаОрганизаций.ОсновнойБанковскийСчет.НомерСчета КАК НомерСчета,
                       |   КоммерческоеПредложениеКлиенту.Соглашение.Наименование КАК Оплата,
                       |   АдресСклада.Представление КАК АдресСклада,
                       |   АдресСклада.Город КАК СкладГород,
                       |   ТелефонСклада.Представление КАК ТелефонСклада,
                       |   ТелефонМенеджера.Представление КАК Телефон,
                       |   КоммерческоеПредложениеКлиенту.СуммаДокумента КАК ИтогоСумма,
                       |   ФизическиеЛицаПрисоединенныеФайлы.ТекстХранилище КАК ПутьКФайлу,
                       |   ФизическиеЛицаПрисоединенныеФайлы.Расширение,
                       |   ФизическиеЛицаПрисоединенныеФайлы.Наименование КАК ИмяФайла,
                       |   ФизическиеЛицаПрисоединенныеФайлы.Ссылка КАК Файл
                       |ИЗ
                       |   Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ПочтаМенеджера
                       |      ПО (ПочтаМенеджера.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.EmailФизическогоЛица))
                       |         И КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо = ПочтаМенеджера.Ссылка
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК ТелефонОрганизации
                       |      ПО КоммерческоеПредложениеКлиенту.Организация = ТелефонОрганизации.Ссылка
                       |         И (ТелефонОрганизации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации))
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК АдресОрганизации
                       |      ПО КоммерческоеПредложениеКлиенту.Организация = АдресОрганизации.Ссылка
                       |         И (АдресОрганизации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации))
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация
                       |      ПО КоммерческоеПредложениеКлиенту.Партнер = ПартнерыКонтактнаяИнформация.Ссылка
                       |         И (ПартнерыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресПартнера))
                       |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Юманс_ОсновныеБанковскиеСчетаОрганизаций КАК Юманс_ОсновныеБанковскиеСчетаОрганизаций
                       |      ПО КоммерческоеПредложениеКлиенту.Организация = Юманс_ОсновныеБанковскиеСчетаОрганизаций.Организация
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады.КонтактнаяИнформация КАК АдресСклада
                       |      ПО КоммерческоеПредложениеКлиенту.Склад = АдресСклада.Ссылка
                       |         И (АдресСклада.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресСклада))
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады.КонтактнаяИнформация КАК ТелефонСклада
                       |      ПО КоммерческоеПредложениеКлиенту.Склад = ТелефонСклада.Ссылка
                       |         И (ТелефонСклада.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонСклада))
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ТелефонМенеджера
                       |      ПО (ТелефонМенеджера.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонМобильныйФизическиеЛица))
                       |         И КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо = ТелефонМенеджера.Ссылка
                       |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы
                       |      ПО КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо = ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла
                       |         И (ФизическиеЛицаПрисоединенныеФайлы.Наименование = ""Подпись"")
                       |ГДЕ
                       |   КоммерческоеПредложениеКлиенту.Ссылка = &Заказ
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |   Ссылка");
Запрос.УстановитьПараметр("Заказ", Заказ);
Запрос.УстановитьПараметр("Валюта", Справочники.Валюты.НайтиПоКоду("978"));

рез = Запрос.Выполнить();
выб = рез.Выбрать();
Если выб.Следующий() Тогда

    стр = Новый Структура("Файл, Расширение, ИмяФайла, ПутьКФайлу, ИтогоСумма, Ссылка,НомерКП,ДатаКП,Организация,НаименованиеОрганизацииСокр,ОрганизацияНаименование,СрокДействия,УчитыватьНДС,Префикс,ЦенаВключаетНДС,Валюта,МенеджерФИО,КонтактноеЛицо,Покупатель,ДополнительнаяИнформация,ТелефонОрганизации,АдресОрганизации,Емайл,ГрафикОплаты,Оплата,Склад,ОрганизацияНаименованиеПолное,ОрганизацияИНН,ОрганизацияКПП,Партнер,АдресПартнера,КоррСчетБанка,БИКБанка,НаименованиеБанка,НомерСчета,АдресСклада,СкладГород,ТелефонСклада,Телефон");
   
    ЗаполнитьЗначенияСвойств(стр, выб);
    //ДанныеДиректора = РазложитьСтрокуПоТочкамИСлэшам(выб.КонтрагентДолжность,";");
    //Стр.КонтрагентДолжность = "";
    //Для Каждого Строчка из ДанныеДиректора Цикл
    //    Если НЕ ЗначениеЗаполнено(Стр.КонтрагентДолжность) Тогда
    //       стр.КонтрагентДолжность = Строчка;
    //    ИначеЕсли НЕ ЗначениеЗаполнено(Стр.Устав) Тогда
    //       стр.Устав = ?(ЗначениеЗаполнено(Строчка),Строчка,"устав");
    //    КонецЕсли;
    //   
    //КонецЦикла;
    //стр.КонтрагентДиректор = ?(ЗначениеЗаполнено(стр.КонтрагентДиректор),стр.КонтрагентДиректор,"");
    стр.НаименованиеОрганизацииСокр = ?(ЗначениеЗаполнено(стр.НаименованиеОрганизацииСокр),стр.НаименованиеОрганизацииСокр,"директор");
    стр.Покупатель = ?(ЗначениеЗаполнено(стр.Покупатель),стр.Покупатель,"<не указано!>");
    стр.Емайл = ?(ЗначениеЗаполнено(стр.Емайл),стр.Емайл,"<не указано!>");
    стр.МенеджерФИО = ?(ЗначениеЗаполнено(стр.МенеджерФИО),стр.МенеджерФИО,"");
    стр.СкладГород = ?(ЗначениеЗаполнено(стр.СкладГород),стр.СкладГород,"<не указано!>");
    стр.Оплата = ?(ЗначениеЗаполнено(стр.Оплата),стр.Оплата,"<не указано!>");
    стр.Телефон = ?(ЗначениеЗаполнено(стр.Телефон),стр.Телефон,"<не указано!>");
   
    Возврат стр;
Иначе
    Возврат Неопределено;
КонецЕсли;
КонецФункции

&НаСервере
Функция ПолучитьДанныеТЧСервер(Заказ)
   Запрос = Новый Запрос(    "ВЫБРАТЬ
                             |   Таблица.Ссылка КАК Ссылка,
                             |   ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
                             |   ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
                             |   ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
                             |   Таблица.НоменклатураНабора КАК НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
                             |   Таблица.НомерСтроки КАК НомерСтроки,
                             |   Таблица.Номенклатура КАК Номенклатура,
                             |   Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
                             |   Таблица.Количество КАК Количество,
                             |   ВЫБОР
                             |      КОГДА &ОтображатьСкидки
                             |         ТОГДА Таблица.Цена
                             |      ИНАЧЕ Таблица.Сумма / Таблица.КоличествоУпаковок
                             |   КОНЕЦ КАК Цена,
                             |   ВЫБОР
                             |      КОГДА &ОтображатьСкидки
                             |         ТОГДА Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки
                             |      ИНАЧЕ 0
                             |   КОНЕЦ КАК СуммаСкидки,
                             |   Таблица.Сумма + Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
                             |   Таблица.Сумма КАК Сумма,
                             |   Таблица.СтавкаНДС КАК СтавкаНДС,
                             |   Таблица.СуммаНДС КАК СуммаНДС,
                             |   Таблица.Характеристика КАК Характеристика,
                             |   Таблица.Характеристика.НаименованиеПолное КАК ХарактеристикаНаименованиеПолное,
                             |   Таблица.Упаковка КАК Упаковка,
                             |   Таблица.Активность КАК Активность,
                             |   ВЫБОР
                             |      КОГДА Таблица.Ссылка.ВернутьМногооборотнуюТару
                             |            И Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
                             |         ТОГДА ИСТИНА
                             |      ИНАЧЕ ЛОЖЬ
                             |   КОНЕЦ КАК ЭтоВозвратнаяТара
                             |ПОМЕСТИТЬ Товары
                             |ИЗ
                             |   Документ.КоммерческоеПредложениеКлиенту.Товары КАК Таблица
                             |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
                             |      ПО (ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора)
                             |         И (ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора)
                             |         И (ВариантыКомплектацииНоменклатуры.Основной)
                             |ГДЕ
                             |   Таблица.Ссылка В(&МассивОбъектов)
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   Таблица.Ссылка КАК Ссылка,
                             |   Таблица.НоменклатураНабора КАК НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
                             |   МИНИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
                             |   СУММА(Таблица.Сумма) КАК Сумма,
                             |   СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
                             |   СУММА(Таблица.СуммаСкидки) КАК СуммаСкидки,
                             |   СУММА(Таблица.СуммаБезСкидки) КАК СуммаБезСкидки
                             |ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
                             |ИЗ
                             |   Товары КАК Таблица
                             |ГДЕ
                             |   Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                             |
                             |СГРУППИРОВАТЬ ПО
                             |   Таблица.Ссылка,
                             |   Таблица.НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   Товары.Ссылка КАК Ссылка,
                             |   Товары.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
                             |   Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
                             |   Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
                             |   Товары.НоменклатураНабора,
                             |   Товары.ХарактеристикаНабора,
                             |   Товары.Номенклатура,
                             |   Товары.Характеристика,
                             |   ВЫБОР
                             |      КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
                             |            И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика
                             |         ТОГДА ИСТИНА
                             |      ИНАЧЕ ЛОЖЬ
                             |   КОНЕЦ КАК ОсновнаяКомплектующая,
                             |   0 КАК КоличествоПоУмолчанию,
                             |   Товары.Количество КАК Количество
                             |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
                             |ИЗ
                             |   Товары КАК Товары
                             |ГДЕ
                             |   Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                             |
                             |ОБЪЕДИНИТЬ ВСЕ
                             |
                             |ВЫБРАТЬ
                             |   Т.Ссылка,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
                             |   ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
                             |   ВариантыКомплектацииНоменклатурыТовары.Характеристика,
                             |   ЛОЖЬ,
                             |   СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество),
                             |   0
                             |ИЗ
                             |   Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
                             |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
                             |         Т.Ссылка КАК Ссылка
                             |      ИЗ
                             |         Товары КАК Т) КАК Т
                             |      ПО (ИСТИНА)
                             |ГДЕ
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка В
                             |         (ВЫБРАТЬ РАЗЛИЧНЫЕ
                             |            Т.ВариантКомплектацииНоменклатуры
                             |         ИЗ
                             |            Товары КАК Т)
                             |
                             |СГРУППИРОВАТЬ ПО
                             |   Т.Ссылка,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
                             |   ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
                             |   ВариантыКомплектацииНоменклатурыТовары.Характеристика,
                             |   ВариантыКомплектацииНоменклатурыТовары.Упаковка,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах,
                             |   ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   Таблица.Ссылка,
                             |   Таблица.ВариантКомплектацииНоменклатуры,
                             |   Таблица.ВариантРасчетаЦеныНабора,
                             |   Таблица.ВариантПредставленияНабораВПечатныхФормах,
                             |   Таблица.НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора,
                             |   Таблица.Номенклатура,
                             |   Таблица.Характеристика,
                             |   МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
                             |   СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
                             |   СУММА(Таблица.Количество) КАК Количество
                             |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
                             |ИЗ
                             |   ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
                             |
                             |СГРУППИРОВАТЬ ПО
                             |   Таблица.Ссылка,
                             |   Таблица.ВариантКомплектацииНоменклатуры,
                             |   Таблица.ВариантРасчетаЦеныНабора,
                             |   Таблица.ВариантПредставленияНабораВПечатныхФормах,
                             |   Таблица.НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора,
                             |   Таблица.Номенклатура,
                             |   Таблица.Характеристика
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   Результат.Ссылка,
                             |   Результат.ВариантКомплектацииНоменклатуры,
                             |   Результат.ВариантРасчетаЦеныНабора,
                             |   Результат.ВариантПредставленияНабораВПечатныхФормах,
                             |   Результат.НоменклатураНабора,
                             |   Результат.ХарактеристикаНабора,
                             |   (ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
                             |            КОГДА Результат.КоличествоПоУмолчанию <> 0
                             |                  И Результат.ОсновнаяКомплектующая
                             |               ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
                             |            ИНАЧЕ NULL
                             |         КОНЕЦ) + 0.5 КАК ЧИСЛО(10, 0))) - 1 КАК Количество
                             |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
                             |ИЗ
                             |   ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
                             |
                             |СГРУППИРОВАТЬ ПО
                             |   Результат.Ссылка,
                             |   Результат.ВариантКомплектацииНоменклатуры,
                             |   Результат.ВариантРасчетаЦеныНабора,
                             |   Результат.ВариантПредставленияНабораВПечатныхФормах,
                             |   Результат.НоменклатураНабора,
                             |   Результат.ХарактеристикаНабора
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры,
                             |   ВЫБОР
                             |      КОГДА Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию)
                             |         ТОГДА ВЫБОР
                             |               КОГДА ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор)
                             |                  ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
                             |               ИНАЧЕ ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
                             |            КОНЕЦ
                             |      ИНАЧЕ ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
                             |   КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
                             |   ВЫБОР
                             |      КОГДА Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию)
                             |         ТОГДА ВЫБОР
                             |               КОГДА ВЫБОР
                             |                        КОГДА ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор)
                             |                           ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
                             |                        ИНАЧЕ ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
                             |                     КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
                             |                     И ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора В (ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоЦенам), ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоДолям))
                             |                  ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.РассчитываетсяИзЦенКомплектующих)
                             |               ИНАЧЕ ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора
                             |            КОНЕЦ
                             |      ИНАЧЕ ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора
                             |   КОНЕЦ КАК ВариантРасчетаЦеныНабора,
                             |   Таблица.Ссылка КАК Ссылка,
                             |   Таблица.НоменклатураНабора КАК НоменклатураНабора,
                             |   Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
                             |   Таблица.НомерСтроки КАК НомерСтроки,
                             |   ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
                             |   ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
                             |   Таблица.Сумма КАК Сумма,
                             |   Таблица.СуммаНДС КАК СуммаНДС,
                             |   Таблица.СуммаСкидки КАК СуммаСкидки,
                             |   Таблица.СуммаБезСкидки КАК СуммаБезСкидки
                             |ПОМЕСТИТЬ ВременнаяТаблицаНаборы
                             |ИЗ
                             |   ВременнаяТаблицаНаборыПодготовка КАК Таблица
                             |      ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
                             |      ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
                             |         И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
                             |         И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
                             |;
                             |
                             |////////////////////////////////////////////////////////////////////////////////
                             |ВЫБРАТЬ
                             |   Товары.Ссылка КАК Ссылка,
                             |   Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
                             |   Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
                             |   Товары.НоменклатураНабора КАК НоменклатураНабора,
                             |   Товары.ХарактеристикаНабора КАК ХарактеристикаНабора,
                             |   Товары.ЭтоНабор КАК ЭтоНабор,
                             |   Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
                             |   Товары.НомерСтроки КАК Ном,
                             |   Товары.Номенклатура КАК Номенклатура,
                             |   Товары.Номенклатура.Код КАК Код,
                             |   Товары.Номенклатура.Артикул КАК Артикул,
                             |   Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
                             |   ВЫБОР
                             |      КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
                             |         ТОГДА ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
                             |      ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Товары.Упаковка)
                             |   КОНЕЦ КАК ЕдИзм,
                             |   Товары.КоличествоУпаковок КАК Количество,
                             |   Товары.Цена КАК Цена,
                             |   Товары.СуммаСкидки КАК СуммаСкидки,
                             |   Товары.СуммаБезСкидки КАК СуммаБезСкидки,
                             |   Товары.Сумма КАК Сумма,
                             |   Товары.СтавкаНДС КАК СтавкаНДС,
                             |   Товары.СуммаНДС КАК СуммаНДС,
                             |   Товары.Характеристика.НаименованиеПолное КАК Характеристика,
                             |   ВЫБОР
                             |      КОГДА ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1) = 1
                             |         ТОГДА НЕОПРЕДЕЛЕНО
                             |      ИНАЧЕ Товары.Упаковка.Наименование
                             |   КОНЕЦ КАК Упаковка,
                             |   Товары.Активность КАК Активность,
                             |   Товары.ЭтоВозвратнаяТара КАК ЭтоВозвратнаяТара,
                             |   ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, """") КАК Остаток,
                             |   Товары.Ссылка.СрокПоставки КАК СрокПоставки
                             |ИЗ
                             |   (ВЫБРАТЬ
                             |      Таблица.Ссылка КАК Ссылка,
                             |      ВЫБОР
                             |         КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
                             |            ТОГДА ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
                             |         ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
                             |      КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
                             |      ВЫБОР
                             |         КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
                             |            ТОГДА ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
                             |         ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
                             |      КОНЕЦ КАК ВариантРасчетаЦеныНабора,
                             |      Таблица.НоменклатураНабора КАК НоменклатураНабора,
                             |      Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
                             |      ВЫБОР
                             |         КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
                             |            ТОГДА ИСТИНА
                             |         ИНАЧЕ ЛОЖЬ
                             |      КОНЕЦ КАК ЭтоКомплектующие,
                             |      ЛОЖЬ КАК ЭтоНабор,
                             |      ВЫБОР
                             |         КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0
                             |            ТОГДА ВременнаяТаблицаНаборы.НомерСтроки
                             |         ИНАЧЕ Таблица.НомерСтроки
                             |      КОНЕЦ КАК НомерСтроки,
                             |      Таблица.Номенклатура КАК Номенклатура,
                             |      Таблица.Количество КАК Количество,
                             |      Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
                             |      Таблица.Цена КАК Цена,
                             |      Таблица.Сумма КАК Сумма,
                             |      Таблица.СтавкаНДС КАК СтавкаНДС,
                             |      Таблица.СуммаНДС КАК СуммаНДС,
                             |      Таблица.Характеристика КАК Характеристика,
                             |      Таблица.Упаковка КАК Упаковка,
                             |      Таблица.СуммаСкидки КАК СуммаСкидки,
                             |      Таблица.СуммаБезСкидки КАК СуммаБезСкидки,
                             |      Таблица.Активность КАК Активность,
                             |      Таблица.ЭтоВозвратнаяТара КАК ЭтоВозвратнаяТара
                             |   ИЗ
                             |      Товары КАК Таблица
                             |         ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
                             |         ПО (ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора)
                             |            И (ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора)
                             |            И (ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка)
                             |   ГДЕ
                             |      (Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                             |            ИЛИ Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
                             |               И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
                             |   
                             |   ОБЪЕДИНИТЬ ВСЕ
                             |   
                             |   ВЫБРАТЬ
                             |      ВременнаяТаблицаНаборы.Ссылка,
                             |      ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
                             |      ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора,
                             |      ВременнаяТаблицаНаборы.НоменклатураНабора,
                             |      ВременнаяТаблицаНаборы.ХарактеристикаНабора,
                             |      ЛОЖЬ,
                             |      ИСТИНА,
                             |      ВременнаяТаблицаНаборы.НомерСтроки,
                             |      ВременнаяТаблицаНаборы.НоменклатураНабора,
                             |      ВременнаяТаблицаНаборы.Количество,
                             |      ВременнаяТаблицаНаборы.КоличествоУпаковок,
                             |      ВЫБОР
                             |         КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0
                             |            ТОГДА ВременнаяТаблицаНаборы.СуммаБезСкидки / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
                             |         ИНАЧЕ 0
                             |      КОНЕЦ,
                             |      ВременнаяТаблицаНаборы.Сумма,
                             |      ВременнаяТаблицаНаборы.НоменклатураНабора.СтавкаНДС,
                             |      ВременнаяТаблицаНаборы.СуммаНДС,
                             |      ВременнаяТаблицаНаборы.ХарактеристикаНабора,
                             |      ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка),
                             |      ВременнаяТаблицаНаборы.СуммаСкидки,
                             |      ВременнаяТаблицаНаборы.СуммаБезСкидки,
                             |      ИСТИНА,
                             |      ЛОЖЬ
                             |   ИЗ
                             |      ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
                             |   ГДЕ
                             |      ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор), ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))) КАК Товары
                             |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки
                             |      ПО Товары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
                             |         И Товары.Ссылка.Склад = ТоварыНаСкладахОстатки.Склад
                             |
                             |УПОРЯДОЧИТЬ ПО
                             |   Товары.НомерСтроки,
                             |   ЭтоНабор УБЫВ");
   Запрос.УстановитьПараметр("МассивОбъектов", Заказ);
   Запрос.УстановитьПараметр("ОтображатьСкидки", Ложь);
   Запрос.УстановитьПараметр("ПериодВалюта", Заказ.Дата);
   Запрос.УстановитьПараметр("ДатаОстатков", ТекущаяДата());
   Запрос.УстановитьПараметр("Валюта", Справочники.Валюты.НайтиПоКоду("978"));
   рез = Запрос.Выполнить().Выгрузить();
   
   ТЧ = Новый ТаблицаЗначений;
   ТЧ.Колонки.Добавить("Ном");
   ТЧ.Колонки.Добавить("Артикул");
   ТЧ.Колонки.Добавить("НаименованиеПолное");
   ТЧ.Колонки.Добавить("Количество");
   ТЧ.Колонки.Добавить("ЕдИзм");
   ТЧ.Колонки.Добавить("Цена");
   ТЧ.Колонки.Добавить("Сумма");
   ТЧ.Колонки.Добавить("Остаток");
   ТЧ.Колонки.Добавить("СрокПоставки");
   ТЧ.Колонки.Добавить("СуммаВсего");
   
   Для Каждого Стр из рез Цикл
      НС = ТЧ.Добавить();
      ЗаполнитьЗначенияСвойств(НС,Стр);
      НС.СуммаВсего = рез.Итог("Сумма");
   КонецЦикла;
   
   Возврат ПолучитьМассивТЗ(ТЧ);
   //Возврат ЗначениеВСтрокуВнутр(рез)
КонецФункции

//Преобразумет таблицу значений в массив структур
Функция ПолучитьМассивТЗ(тз)
  м=Новый Массив;
    Для каждого стр Из тз Цикл
        мКолонки=Новый Структура;
        Для каждого кл Из тз.Колонки Цикл
          мКолонки.Вставить(кл.Имя,стр[кл.Имя]);
        КонецЦикла;         
      м.Добавить(мКолонки);
    КонецЦикла;
    Возврат м;
КонецФункции// ПолучитьМассивТЗ(тз)

&НаСервере
// Функция раскладывает Строку в массив строк, используя "./\" как разделитель.
Функция РазложитьСтрокуПоТочкамИСлэшам(Знач Строка,Разделитель) Экспорт
   
   Перем ТекущаяПозиция;
   
   Фрагменты = Новый Массив;
   
   НачальнаяПозиция = 1;
   
   Для ТекущаяПозиция = 1 По СтрДлина(Строка) Цикл
      ТекущийСимвол = Сред(Строка, ТекущаяПозиция, 1);
      Если ТекущийСимвол = Разделитель Тогда
         ТекущийФрагмент = Сред(Строка, НачальнаяПозиция, ТекущаяПозиция - НачальнаяПозиция);
         НачальнаяПозиция = ТекущаяПозиция + 1;
         Фрагменты.Добавить(ТекущийФрагмент);
      КонецЕсли;
   КонецЦикла;
   
   Если НачальнаяПозиция <> ТекущаяПозиция Тогда
      ТекущийФрагмент = Сред(Строка, НачальнаяПозиция, ТекущаяПозиция - НачальнаяПозиция);
      Фрагменты.Добавить(ТекущийФрагмент);
   КонецЕсли;
   
   Возврат Фрагменты;
   
КонецФункции


&НаКлиенте
Процедура ВыполнитьНажатие(Команда)
   МассивОбъектов = Новый Массив;
   МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);
   Печать("",МассивОбъектов)//ВыполнитьНажатиеНаСервере();
КонецПроцедуры

&НаСервере
Функция ПолучитьМакетСервер()
Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
КонецФункции

&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
   
   //ДвоичныеДанные = ПолучитьМакетСервер();
   //ТипМакета = "doc";
   //ПечатнаяФорма = УправлениеПечатьюКлиент.ИнициализироватьПечатнуюФорму(ТипМакета);
   //Макет = УправлениеПечатьюКлиент.ИнициализироватьМакет(
   //         ДвоичныеДанные, ТипМакета);
   ПечатьНаСервере(МассивОбъектов)         
   
КонецПроцедуры

&НаКлиенте
Процедура ПечатьНаСервере(МассивОбъектов) Экспорт
   Для Каждого ТекЗаказ Из МассивОбъектов Цикл
      Данные = ПолучитьДанныеСервер(ТекЗаказ);
      ДанныеТЧ = ПолучитьДанныеТЧСервер(ТекЗаказ);
      //ДанныеТЧ = ЗначениеИзСтрокиВнутр(ДанныеТЧСтрока);
      Если данные <> Неопределено Тогда
         Word = Новый COMОбъект("Word.Application");
         Макет = ПолучитьМакетСервер();
         временныйПуть = КаталогВременныхФайлов();
         имяВременногоФайла = временныйПуть + "gph.doc";
         Макет.Записать(имяВременногоФайла);
         ТекДок = Word.Documents.ADD(имяВременногоФайла);
         
         
         ТекДок.Variables("ДатаКП").Value=Формат(Данные.ДатаКП,"ДЛФ=DD");
         ТекДок.Variables("Номеркп").Value=ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Данные.НомерКП);
         ТекДок.Variables("НаименованиеОрганизацииСокр").Value=" "+Данные.НаименованиеОрганизацииСокр + ", ИНН " + Данные.ОрганизацияИНН+", КПП " + Данные.ОрганизацияКПП + ", " +Данные.АдресОрганизации + ", тел.: " +Данные.ТелефонОрганизации;
         
         
         
         ТекДок.Variables("Покупатель").Value=Данные.Покупатель;
         ТекДок.Variables("Оплата").Value = Данные.Оплата;
         ТекДок.Variables("СкладГород").Value = " г. " + СтрЗаменить(Данные.СкладГород,"г","");
         ТекДок.Variables("Телефон").Value = Данные.Телефон;
         ТекДок.Variables("Емайл").Value = Данные.ЕМайл;
         ТекДок.Variables("ИтогоСумма").Value  = Формат(ДанныеТЧ[0].СуммаВсего,"ЧЦ=15; ЧДЦ=2; ЧРГ=; ЧН=0");
         ТекДок.Variables("ИтогоСуммаНДС").Value = Формат(ДанныеТЧ[0].СуммаВсего/118*18,"ЧЦ=15; ЧДЦ=2; ЧРГ=; ЧН=0");
         
         ТекДок.Variables("МенеджерФИО").Value=Данные.МенеджерФИО;

      
         ТекДок.Fields.Update();
         Для каждого oStory Из ТекДок.StoryRanges Цикл
            Для каждого oField Из oStory.Fields Цикл
               oField.Update();
            КонецЦикла;
         КонецЦикла;         
         
         ТекДок.Application.Selection.GoTo(3, , 1, "").Select();
         ЧастьСтрокиОстановы ="<не указано!>";
         myRange = ТекДок.Content;         
         // Поиск текста для выделения       
         myRange.Find.Execute(ЧастьСтрокиОстановы, True);             
         isFind = myRange.Find.Found;         
         Пока isFind Цикл           
            // Выделения текста цветом       
            myRange.Font.ColorIndex = 6;
            myRange.Font.Bold = 1;
            myRange.Find.Execute(ЧастьСтрокиОстановы, True);               
            isFind = myRange.Find.Found;       
         КонецЦикла;   
         
         ТекДок.Application.Selection.GoTo(-1, ,, "ПерваяСтрока").Select();
         Счетчик = 1;
         Для Каждого Стр из ДанныеТЧ Цикл
            
            // заполняем первую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Стр.Ном);
            // переходим вправо
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Стр.Артикул);
            
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Стр.НаименованиеПолное);
            // переходим вправо
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Стр.Количество);
            // переходим вправо
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Стр.ЕдИзм);
            // переходим вправо
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Формат(Стр.Цена,"ЧЦ=15; ЧДЦ=2"));
            // переходим вправо
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(Формат(Стр.Сумма,"ЧЦ=15; ЧДЦ=2"));
            
            ТекДок.Application.Selection.Application.Selection.MoveRight(1, 1);
            // заполняем вторую колонку
            ТекДок.Application.Selection.Application.Selection.TypeText(""+Стр.Остаток +?(НЕ ЗначениеЗаполнено(Стр.Остаток), "", " "+Стр.ЕдИзм + "."+ Символы.ПС)  + ?(НЕ ЗначениеЗаполнено(Стр.СрокПоставки),"",""+Стр.СрокПоставки + " дн."));
            // добавляем новую строку
            Если ДанныеТЧ.Количество() > Счетчик Тогда
               ТекДок.Application.Selection.Application.Selection.InsertRowsBelow(1);         
            КонецЕсли;
            
            Счетчик = Счетчик + 1;
            
         КонецЦикла;
         
         Если ЗначениеЗаполнено(Данные.Файл) Тогда
            ТекДок.Application.Selection.GoTo(-1, ,, "Картинка").Select();
            ДанныеФайла = ПолучитьДанныеФайла(Данные.Файл);
            ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
            Путь = КаталогВременныхФайлов() + ДанныеФайла.ИмяФайла;
            
            Картинка = Новый Картинка(ДвоичныеДанные);
            Картинка.Записать(Путь);
            //ФайлПутьНаДиске = Новый Файл(Картинка);
            Picture = ТекДок.InlineShapes.AddPicture (Путь, False, True);
            Shape = Picture.ConvertToShape();
            Shape.WrapFormat.Type = 3;
         КонецЕсли;
         
         
         Word.ActiveWindow.View.ShowFieldCodes = False;
         Word.Visible=Истина;
      КонецЕсли;
   КонецЦикла;
КонецПроцедуры

Функция ПолучитьДанныеФайла (ПрисоединенныйФайл)
   Возврат ПрисоединенныеФайлы.ПолучитьДанныеФайла(
            ПрисоединенныйФайл, , Истина);
КонецФункции
         

// Склоняет Должность в заданном падеже
//
// Параметры
// Должность - должность строкой
// Падеж - число:
//  1 - именительный ( кто?       ) - Должность на входе должна быть в именительном падеже
//  2 - родительный  ( нет кого?  )
//  3 - дательный    ( кому?      )
//  4 - винительный  ( вижу кого? )
//  5 - творительный ( кем?       )
//  6 - предложный   ( о ком?     )
//
// Описание
// Функция склоняет Должность.
// Если в параметре Инфо передать непустую строку, то в случаях, когда есть сомнения в правильности
// выполнения действий, процедура выводит сообщения вида:
//  Проверьте Должность<Инфо>
// По умолчанию сообщения не выводятся
//
// Возвращаемое значение
// Строка, содержащая должность в заданном падеже
//
Функция ДолжностьВПадежах(Знач Должность, Падеж=1, Инфо="") Экспорт
   
   Должность = СокрЛП(Должность);
   Если Падеж = 1 Тогда
      Возврат Должность;
   КонецЕсли;       
   
   Если ПустаяСтрока(Должность) = 1 Тогда
      Если ПустаяСтрока(Инфо) = 0 Тогда
         //ПустаяСтрокаССообщением("Некорректная Должность" + Инфо + Должность);
      КонецЕсли;
      Возврат Должность;
   КонецЕсли;         
   
   Если ПустаяСтрока(Инфо) = 0 Тогда
      ИнфоДолжность = "Проверьте Должность" + Инфо;
   Иначе
      ИнфоДолжность = "";
   КонецЕсли;       
   
   Результат = "";
   Еще = 1;
   
   Пока Еще = 1 Цикл
      Н = Найти(Должность, " ");
      Если Н = 0 Тогда
         Слово = Должность;
         Должность = "";
         Еще = - 1;
      Иначе
         Слово = Лев(Должность, Н - 1);
         Должность = СокрЛ(Сред(Должность, Н + 1));
         Еще = 0;
      КонецЕсли;
      
      Если НРег(Слово) = "временно" Тогда
         Еще = Еще + 1;
      Иначе
         Ш = НРег(Прав(Слово, 1));
         Если Найти("рктчлнхвз", Ш) <> 0 Тогда
            Слово = Слово + ?(Падеж=3, "у", ?(Падеж=5, "ом", ?(Падеж=6, "е", "а")));
         ИначеЕсли Ш <> "." Тогда
            Слово = Лев(Слово, СтрДлина(Слово) - 1);
            
            Если Ш = "ь" Тогда
               Слово = Слово + ?(Падеж = 3, "ю", ?(Падеж = 5, "ем", ?(Падеж = 6, "е", "я")));
            ИначеЕсли Ш = "й" Тогда
               Ш = Прав(Слово, 1);
               Слово = Лев(Слово, СтрДлина(Слово) - 1);
               Если Ш = "и" Тогда                             
                  Если Прав(Слово, 1) <> "щ" Тогда
                     Еще = Еще + 1;
                  КонецЕсли;
                  Слово = Слово + ?(Падеж = 3, "ему", ?(Падеж = 5, "им",
                  ?(Падеж = 6, "ем", "его")));
               Иначе               
                  Еще = Еще + 1;
                  Слово = Слово + ?(Падеж = 3, "ому", ?(Падеж = 5, "ым",
                  ?(Падеж = 6, "ом", "ого")));
               КонецЕсли;
            ИначеЕсли Ш = "я" Тогда
               Еще = Еще + 1;
               Ш = Прав(Слово, 2);
               Слово = Лев(Слово, СтрДлина(Слово) - 1);
               Если Ш = "ща" Тогда                         
                  Еще = 0;
                  Слово = Слово + ?(Падеж = 4, "ую", "ей");
               ИначеЕсли Ш = "ша" Тогда
                  Слово = Слово + ?(Падеж = 4, "ую", "ей");
               Иначе
                  Слово = Слово + ?(Падеж = 4, "ую", "ой");
                  Если Прав(Ш, 1) <> "а" Тогда
                     Если ПустаяСтрока(Инфо) = 0 Тогда
                        //ПустаяСтрокаССообщением(ИнфоДолжность);
                     КонецЕсли;
                  КонецЕсли;
               КонецЕсли;
            ИначеЕсли Ш = "а" Тогда
               Ш = Прав(Слово, 1);
               Если (Ш = "ц") ИЛИ (Ш = "ш") Тогда
                  Слово = Слово + ?(Падеж = 2, "ы", ?(Падеж = 4, "у",
                  ?(Падеж = 5, "ей", "е")));
               Иначе
                  Слово = Слово + ?(Падеж = 2, "и", ?(Падеж = 4, "у",
                  ?(Падеж = 5, "ой", "е")));
                  Если (Ш <> "х") И (Ш <> "к") Тогда
                     Если ПустаяСтрока(Инфо) = 0 Тогда
                        //ПустаяСтрокаССообщением(ИнфоДолжность);
                     КонецЕсли;
                  КонецЕсли;
               КонецЕсли;
            ИначеЕсли Ш = "ц" Тогда
               Если Ш <> "е" Тогда
                  Если ПустаяСтрока(Инфо) = 0 Тогда
                     //ПустаяСтрокаССообщением(ИнфоДолжность);
                  КонецЕсли;
               КонецЕсли;
               Слово = Лев(Слово, СтрДлина(Слово) - 1);
               Слово = Слово + ?(Падеж = 3, "цу", ?(Падеж = 5, "цом",
               ?(Падеж = 6, "це", "ца")));
            Иначе
               Слово = Слово + Ш;
               Если ПустаяСтрока(Инфо) = 0 Тогда
                  //ПустаяСтрокаССообщением(ИнфоДолжность);
               КонецЕсли;
            КонецЕсли;
            
         КонецЕсли;
      КонецЕсли;
      Результат = Результат + " " + Слово;
   КонецЦикла;
   
   Если ПустаяСтрока(Должность) = 0 Тогда
      Возврат (Сред(Результат, 2) + " " + Должность);
   Иначе
      Возврат  Сред(Результат, 2);
   КонецЕсли;
   
КонецФункции


Функция Просклонять(РезультатСклонения, Руководитель)
   ТипОбъекта = ТипЗнч(Руководитель);
   Если ТипОбъекта = Тип("Строка") Тогда
      Возврат ФизическиеЛицаЗарплатаКадры.Просклонять(Руководитель, 2, РезультатСклонения, Перечисления.ПолФизическогоЛица.Мужской)
      
   ИначеЕсли ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или ТипОбъекта = Тип("СправочникОбъект.ФизическиеЛица") Тогда
      
      Возврат ФизическиеЛицаЗарплатаКадры.Просклонять(Руководитель, 2, РезультатСклонения, Руководитель.Пол)
   КонецЕсли;

КонецФункции // Просклонять()


Golickoff

Я не знаю, что это за конфигурация и где хранятся имя и отчество менеджера, но вам нужно всего лишь изменить эту строку запроса
Цитировать|   ЕСТЬNULL(КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо.Наименование, КоммерческоеПредложениеКлиенту.Менеджер.Наименование) КАК МенеджерФИО,
И да, насчёт вот этого
ЦитироватьОбращается и так к Справочнику Менджеры вытягивает ФИО полностью.
Я этого не нашёл в коде, да и не искал, но тут явно видно, что даже если где-то это обращение и есть, заполнение идёт данными из запроса, которые берутся той строкой, что я описал выше.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Oracle

Цитата: Golickoff от 17 июн 2016, 10:01
Я не знаю, что это за конфигурация и где хранятся имя и отчество менеджера, но вам нужно всего лишь изменить эту строку запроса
Цитировать|   ЕСТЬNULL(КоммерческоеПредложениеКлиенту.Менеджер.ФизическоеЛицо.Наименование, КоммерческоеПредложениеКлиенту.Менеджер.Наименование) КАК МенеджерФИО,
И да, насчёт вот этого
ЦитироватьОбращается и так к Справочнику Менджеры вытягивает ФИО полностью.
Я этого не нашёл в коде, да и не искал, но тут явно видно, что даже если где-то это обращение и есть, заполнение идёт данными из запроса, которые берутся той строкой, что я описал выше.
Спасибо, уже помогли) там ничего менять не надо, нужна функция.:D

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск