Имя: Пароль:
1C
1С v8
УТ 11,3 Дополнительные реквизиты во внешнюю печатную форму
0 AlexNF
 
15.03.19
09:26
Пытаюсь изучить создание внешних печатных форм.
Форму создал, работает, но не могу найти как правильно в нее подтянуть дополнительные реквизиты.
Делаю договор - доп реквизит, это доверенность менеджера, заключающего этот договор, добавлен в справочник физ лиц.
Нашел вариант:

ДопСвойство = ДанныеПечати.Менеджер.ДополнительныеРеквизиты.Найти("Основание");
Значение=ДанныеПечати.Менеджер.ДополнительныеРеквизиты.Найти(ДопСвойство);    
УстановитьПараметр(ОбластьМакета, "ФИОМ", Значение);                        

но то ли не работает, то ли не правильно обращаюсь...

В общем может есть пример какой то работы с дополнительными реквизитами?
1 Mankubus
 
15.03.19
09:39
(0) посмотри в отладчике.
И ещё почитай в СП что возвращает метод Найти у табличной части
2 AlexNF
 
15.03.19
09:55
там ошибка
вот так у меня:
ДопСвойство = ДанныеПечати.Менеджер.ДополнительныеРеквизиты.НайтиПоНаименованию("Основание");

Основание - это наименование дополнительного реквизита физ лица, которое является Пользователем "Менеджер"

почти уверен что тут ошибка(
3 AlexNF
 
15.03.19
10:14
Пишет
"метод объекта не обнаружен (НайтиПоНаименованию)"
4 FIXXXL
 
15.03.19
10:20
(3) правильно пишет. откуда у ТЧ НайтиПоНаименованию?
5 sqr4
 
15.03.19
10:39
Для Каждого ТекСтрока из ДанныеПечати.Менеджер.ДополнительныеРеквизиты Цикл
Если ТекСтрока.Свойство.Имя = "Основание" Тогда
//Тут возвращаешь что тебе нужно
Прервать;
КонецЕсли;
КонецЦикла;

Если допреквизитов много, юзай запрос.
6 AlexNF
 
15.03.19
10:40
А как правильно?
Документ Заказ покупателя, в нем есть менеджер - надо подтянуть из физ лица этого менеджера, строковое значение доп реквизита с наименованием "Основание"

Проще конечно на примере бы...
7 jsmith82
 
15.03.19
10:41
жесть
8 jsmith82
 
15.03.19
10:41
прежде надо бы 1ску выучить
9 jsmith82
 
15.03.19
10:45
СвойствоОснование = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведений.НайтиПоНаименованию("Основание");
Отбор = Структура("Свойство", СвойствоОснование);
МассивСтрок = ....Менеджер.ФизическоеЛицо.ДополнительныеРеквизиты.Найти(Отбор);
Основание = "";
Если МассивСтрок.Количество() > 0 Тогда
Основание = МассивСтрок[0].Значение;
КонецЕсли;
10 jsmith82
 
15.03.19
10:45
*ДополнительныеРеквизитыИСведения
*Менеджер.ФизическоеЛицо.ДополнительныеРеквизиты.НайтиСтроки(Отбор);
11 jsmith82
 
15.03.19
10:47
>>НайтиПоНаименованию("Основание");
Наименование обычно в базе идёт как "Основание (Физические лица");
можно и полное задать в поиске, если других подобных нет
12 AlexNF
 
15.03.19
11:07
СвойствоОснование = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Основание");
        Отбор = Структура("Свойство", СвойствоОснование);
        МассивСтрок = ДанныеПечати.Менеджер.ФизическоеЛицо.ДополнительныеРеквизиты.НайтиСтроки(Отбор);
        Основание = "";
        Если МассивСтрок.Количество() > 0 Тогда
        Основание = МассивСтрок[0].Значение;
        КонецЕсли;

так?
13 AlexNF
 
15.03.19
11:10
Я делаю, на основе встроенной печатной формы заказа клиента. Скопировал ее во внешнюю и теперь меняю.

сейчас пишет ошибку при сохранении:

{ВнешняяОбработка.ДоговорР.МодульОбъекта(337,11)}: Процедура или функция с указанным именем не определена (Структура)
Отбор = <<?>>Структура("Свойство", СвойствоОснование); (Проверка: Сервер)
14 SSSSS_AAAAA
 
15.03.19
11:17
(13) Трындец...
Отбор = Новый Структура("Свойство", СвойствоОснование);
15 AlexNF
 
15.03.19
11:33
Теперь при открытии формы. Поле объекта не обнаружено (Дополнительные реквизиты)

Я понимаю что для вас это вообще детские вопросы - но хочется разобраться самому. Поэтому и писал, что проще бы было на работающем примере посмотреть, но ни каких обработок для учебных целей не нашел )
16 jsmith82
 
15.03.19
12:54
ой вей, мэн
кидай обработину в студию
17 AlexNF
 
15.03.19
13:48
Нашел вот такое решение:
ЗначениеМоегоРеквизита = УправлениеСвойствами.ЗначениеСвойства(ДокОбъект, "МойРеквизит");

Общий модуль УправлениеСвойствами
// Возвращает значение дополнительного свойства объекта.
//
// Параметры:
//  Объект   - ЛюбаяСсылка - ссылка на объект, например, СправочникСсылка.Номенклатура,
//                           ДокументСсылка.ЗаказПокупателя, ...
//  Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - ссылка на
//                           дополнительный реквизит, значение которого нужно получить.
//           - Строка - Имя дополнительного свойства.
//
// Возвращаемое значение:
//  Произвольный - любое значение, допустимое для свойства.
//


Если я верно понимаю - то это стандартная функция чтения этих доп реквизитов?
18 AlexNF
 
15.03.19
13:50
Пытаюсь вот так прочитать:

   ЗначениеМоегоРеквизита = УправлениеСвойствами.ЗначениеСвойства(СправочникСсылка.ФизическиеЛица, "Основание");

Пишет:

{ВнешняяОбработка.ДоговорР.МодульОбъекта(355,72)}: Переменная не определена (СправочникСсылка)
        ЗначениеМоегоРеквизита = УправлениеСвойствами.ЗначениеСвойства(<<?>>СправочникСсылка.ФизическиеЛица, "Основание");  (Проверка: Сервер)
19 AlexNF
 
15.03.19
13:52
Модуль УправлениеСвойствами - есть и в нем функция ЗначениеСвойства - тоже есть.
СправочникСсылка ФизическиеЛица тоже есть
Или я как то не так на него ссылаюсь?
20 Сияющий в темноте
 
15.03.19
14:08
СправочникСсылка.ФизическиеЛица это имя типа,сомневаюсь,что у вас есть такая переменная.
если из массива получили справочник,как обьект для печати,то будет ТекущийОбьект или подобное
21 AlexNF
 
15.03.19
14:21
попробовал немного упростить и теперь хочу найти доп реквизит пользователя, а не его физ лица:
реквизит тот же

ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеПечати.Менеджер.ДополнительныеРеквизиты, "Основание");

Пишет Метод объекта не обнаружен (методанные)

Предположу, что что-то не выгружается в ДанныеПечати - Верно?
22 AlexNF
 
15.03.19
14:27
вот от куда они берутся:


Функция ПолучитьДанныеДляПечатнойФормыЗаказаНаТоварыУслуги(МассивОбъектов, ПараметрыПечати) Экспорт
    
    Если ПараметрыПечати <> Неопределено И ПараметрыПечати.Свойство("ОтображатьСкидки") Тогда
        ОтображатьСкидки = ПараметрыПечати.ОтображатьСкидки;
    Иначе
        ОтображатьСкидки = (Константы.ОтображениеСкидокВПечатныхФормахДокументовПродажи.Получить()
            <> Перечисления.ВариантыВыводаСкидокВПечатныхФормах.НеВыводитьСкидки);
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Документы.Ссылка                                        КАК Ссылка,
    |    Документы.Номер                                            КАК Номер,
    |    Документы.Дата                                            КАК Дата,
    |    Документы.АдресДоставки                                    КАК АдресДоставки,
    |    Документы.Организация                                    КАК Организация,
    |    Документы.Организация                                    КАК Исполнитель,
    |    ВЫБОР КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
    |            ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД) ТОГДА
    |        ЛОЖЬ
    |    ИНАЧЕ
    |        ИСТИНА
    |    КОНЕЦ                                                    КАК УчитыватьНДС,
    |    ИСТИНА                                                    КАК ПоказыватьНДС,
    |    ИСТИНА                                                    КАК ИспользоватьАвтоСкидки,
    |    &ВыводитьДопКолонкиНДС                                    КАК ПоказыватьНДСВСтроках,
    |    """"                                                    КАК Тип,
    |    &ПредставлениеДокумента                                    КАК ПредставлениеДокумента,
    |    &ПредставлениеВОшибке                                    КАК ПредставлениеВОшибке,
    |    Документы.Организация.Префикс                            КАК Префикс,
    |    Документы.Контрагент                                    КАК Контрагент,
    |    Документы.Контрагент                                    КАК Заказчик,
    |    Документы.БанковскийСчет                                КАК БанковскийСчет,
    |    Документы.БанковскийСчет.ТекстКорреспондента            КАК БанковскийСчетТекстКорреспондента,
    |    Документы.ЦенаВключаетНДС                                КАК ЦенаВключаетНДС,
    |    Документы.Валюта                                        КАК Валюта,
    |    Документы.Менеджер.ФизическоеЛицо                        КАК Менеджер,
    |    Документы.ДополнительнаяИнформация                        КАК ДополнительнаяИнформация,
    |    Документы.Грузоотправитель                                КАК Грузоотправитель,
    |    Документы.Грузополучатель                                КАК Грузополучатель
    |ИЗ
    |    Документ.ЗаказКлиента КАК Документы
    |ГДЕ
    |    Документы.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Документы.МоментВремени
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    1                                                        КАК Порядок,
    |    ЭтапыГрафикаОплаты.Ссылка                                КАК Ссылка,
    |    ЭтапыГрафикаОплаты.НомерСтроки                            КАК НомерСтроки,
    |    ЭтапыГрафикаОплаты.ДатаПлатежа                            КАК ДатаПлатежа,
    |    ЭтапыГрафикаОплаты.ВариантОплаты                        КАК ВариантОплаты,
    |    ЭтапыГрафикаОплаты.ПроцентПлатежа                        КАК ПроцентПлатежа,
    |    ЭтапыГрафикаОплаты.СуммаПлатежа                            КАК СуммаПлатежа,
    |    ЛОЖЬ                                                    КАК ЭтоЗалогЗаТару
    |ИЗ
    |    Документ.ЗаказКлиента.ЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
    |ГДЕ
    |    ЭтапыГрафикаОплаты.Ссылка В(&МассивОбъектов)
    |    И ЭтапыГрафикаОплаты.СуммаПлатежа <> 0
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    2                                                        КАК Порядок,
    |    ЭтапыГрафикаОплаты.Ссылка                                КАК Ссылка,
    |    ЭтапыГрафикаОплаты.НомерСтроки                            КАК НомерСтроки,
    |    ЭтапыГрафикаОплаты.ДатаПлатежа                            КАК ДатаПлатежа,
    |    ЭтапыГрафикаОплаты.ВариантОплаты                        КАК ВариантОплаты,
    |    ЭтапыГрафикаОплаты.ПроцентЗалогаЗаТару                    КАК ПроцентПлатежа,
    |    ЭтапыГрафикаОплаты.СуммаЗалогаЗаТару                    КАК СуммаПлатежа,
    |    ИСТИНА                                                    КАК ЭтоЗалогЗаТару
    |ИЗ
    |    Документ.ЗаказКлиента.ЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
    |ГДЕ
    |    ЭтапыГрафикаОплаты.Ссылка В(&МассивОбъектов)
    |    И ЭтапыГрафикаОплаты.Ссылка.ТребуетсяЗалогЗаТару
    |    И ЭтапыГрафикаОплаты.СуммаЗалогаЗаТару <> 0
    |
    |УПОРЯДОЧИТЬ ПО
    |    НомерСтроки,
    |    Порядок
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Таблица.Ссылка КАК Ссылка,
    |
    |    ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
    |    ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    |    ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
    |    Таблица.НоменклатураНабора                              КАК НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора                            КАК ХарактеристикаНабора,
    |
    |    Таблица.НомерСтроки                                     КАК НомерСтроки,
    |    Таблица.Номенклатура                                    КАК Номенклатура,
    |    Таблица.Упаковка                                        КАК Упаковка,
    |
    |    Таблица.Количество                                      КАК Количество,
    |    Таблица.КоличествоУпаковок                              КАК КоличествоУпаковок,
    |
    |    ВЫБОР КОГДА &ОтображатьСкидки ТОГДА
    |        Таблица.Цена
    |    ИНАЧЕ
    |        Таблица.Сумма/Таблица.КоличествоУпаковок
    |    КОНЕЦ                                                   КАК Цена,
    |
    |    Таблица.Сумма                                           КАК Сумма,
    |    Таблица.СтавкаНДС                                       КАК СтавкаНДС,
    |    Таблица.СуммаНДС                                        КАК СуммаНДС,
    |    Таблица.ДатаОтгрузки                                    КАК ДатаОтгрузки,
    |    Таблица.Характеристика                                  КАК Характеристика,
    |
    |    ВЫБОР КОГДА &ОтображатьСкидки ТОГДА
    |        Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки
    |    ИНАЧЕ
    |        0
    |    КОНЕЦ КАК СуммаСкидки,
    |
    |    Таблица.Сумма + Таблица.СуммаРучнойСкидки + Таблица.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
    |    Таблица.Содержание КАК Содержание,
    |
    |    ВЫБОР КОГДА Таблица.Ссылка.ВернутьМногооборотнуюТару
    |              И Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) ТОГДА
    |        ИСТИНА
    |    ИНАЧЕ
    |        ЛОЖЬ
    |    КОНЕЦ КАК ЭтоВозвратнаяТара
    |
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |    Документ.ЗаказКлиента.Товары КАК Таблица
    |
    |    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
    |        ПО ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора
    |        И ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора
    |        И ВариантыКомплектацииНоменклатуры.Основной
    |
    |ГДЕ
    |    Таблица.Ссылка В(&МассивОбъектов)
    |    И Таблица.Отменено = ЛОЖЬ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Таблица.Ссылка                 КАК Ссылка,
    |    Таблица.НоменклатураНабора     КАК НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора   КАК ХарактеристикаНабора,
    |    МИНИМУМ(Таблица.НомерСтроки)   КАК НомерСтроки,
    |    СУММА(Таблица.Сумма)           КАК Сумма,
    |    СУММА(Таблица.СуммаНДС)        КАК СуммаНДС,
    |    МАКСИМУМ(Таблица.ДатаОтгрузки) КАК ДатаОтгрузки,
    |    СУММА(Таблица.СуммаСкидки)     КАК СуммаСкидки,
    |    СУММА(Таблица.СуммаБезСкидки)  КАК СуммаБезСкидки
    |ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
    |ИЗ
    |    Товары КАК Таблица
    |
    |ГДЕ
    |    Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |
    |СГРУППИРОВАТЬ ПО
    |    Таблица.Ссылка,
    |    Таблица.НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Ссылка                                    КАК Ссылка,
    |    Товары.ВариантКомплектацииНоменклатуры           КАК ВариантКомплектацииНоменклатуры,
    |    Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    |    Товары.ВариантРасчетаЦеныНабора                  КАК ВариантРасчетаЦеныНабора,
    |    Товары.НоменклатураНабора,
    |    Товары.ХарактеристикаНабора,
    |    Товары.Номенклатура,
    |    Товары.Характеристика,
    |    ВЫБОР КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
    |        И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика ТОГДА
    |        ИСТИНА
    |    ИНАЧЕ
    |        ЛОЖЬ
    |    КОНЕЦ КАК ОсновнаяКомплектующая,
    |    Товары.СтавкаНДС КАК СтавкаНДС,
    |    0 КАК КоличествоПоУмолчанию,
    |    Товары.Количество КАК Количество
    |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
    |ИЗ
    |    Товары КАК Товары
    |ГДЕ
    |    Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Т.Ссылка                                                                                КАК Ссылка,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка                                           КАК ВариантКомплектацииНоменклатуры,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора                  КАК ВариантРасчетаЦеныНабора,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец                                  КАК НоменклатураНабора,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика                            КАК ХарактеристикаНабора,
    |    ВариантыКомплектацииНоменклатурыТовары.Номенклатура   КАК Номенклатура,
    |    ВариантыКомплектацииНоменклатурыТовары.Характеристика КАК Характеристика,
    |    ЛОЖЬ КАК ОсновнаяКомплектующая,
    |    NULL КАК СтавкаНДС,
    |    СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество) КАК КоличествоПоУмолчанию,
    |    0 КАК Количество
    |ИЗ
    |    Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
    |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ Т.Ссылка ИЗ Товары КАК Т) КАК Т
    |        ПО ИСТИНА
    |ГДЕ
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка В (ВЫБРАТЬ РАЗЛИЧНЫЕ Т.ВариантКомплектацииНоменклатуры ИЗ Товары КАК Т)
    |
    |СГРУППИРОВАТЬ ПО
    |    Т.Ссылка,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
    |    ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
    |    ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
    |    ВариантыКомплектацииНоменклатурыТовары.Характеристика,
    |    ВариантыКомплектацииНоменклатурыТовары.Упаковка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Таблица.Ссылка,
    |    Таблица.ВариантКомплектацииНоменклатуры,
    |    Таблица.ВариантРасчетаЦеныНабора,
    |    Таблица.ВариантПредставленияНабораВПечатныхФормах,
    |    Таблица.НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора,
    |    Таблица.Номенклатура,
    |    Таблица.Характеристика,
    |    МАКСИМУМ(Таблица.СтавкаНДС) КАК СтавкаНДС,
    |    МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
    |    СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
    |    СУММА(Таблица.Количество) КАК Количество
    |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
    |ИЗ
    |    ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
    |
    |СГРУППИРОВАТЬ ПО
    |    Таблица.Ссылка,
    |    Таблица.ВариантКомплектацииНоменклатуры,
    |    Таблица.ВариантРасчетаЦеныНабора,
    |    Таблица.ВариантПредставленияНабораВПечатныхФормах,
    |    Таблица.НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора,
    |    Таблица.Номенклатура,
    |    Таблица.Характеристика
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Результат.Ссылка,
    |    Результат.ВариантКомплектацииНоменклатуры,
    |    Результат.ВариантРасчетаЦеныНабора,
    |    Результат.ВариантПредставленияНабораВПечатныхФормах,
    |    Результат.НоменклатураНабора,
    |    Результат.ХарактеристикаНабора,
    |    МАКСИМУМ(ВЫБОР
    |            КОГДА Результат.ОсновнаяКомплектующая
    |                ТОГДА Результат.СтавкаНДС
    |            ИНАЧЕ null
    |        КОНЕЦ) КАК СтавкаНДС,
    |    ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
    |            КОГДА Результат.КоличествоПоУмолчанию <> 0 И Результат.ОсновнаяКомплектующая
    |                ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
    |            ИНАЧЕ null
    |        КОНЕЦ) + 0.5 КАК Число(10,0)) - 1 КАК Количество
    |ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
    |ИЗ
    |    ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
    |СГРУППИРОВАТЬ ПО
    |    Результат.Ссылка,
    |    Результат.ВариантКомплектацииНоменклатуры,
    |    Результат.ВариантРасчетаЦеныНабора,
    |    Результат.ВариантПредставленияНабораВПечатныхФормах,
    |    Результат.НоменклатураНабора,
    |    Результат.ХарактеристикаНабора
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры,
    |    ВЫБОР КОГДА Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию) ТОГДА
    |        ВЫБОР КОГДА ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор) ТОГДА
    |            ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
    |        ИНАЧЕ
    |            ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
    |        КОНЕЦ
    |    ИНАЧЕ
    |        ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
    |    КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
    |    ВЫБОР КОГДА Таблица.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию) ТОГДА
    |        ВЫБОР КОГДА
    |            ВЫБОР КОГДА ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор) ТОГДА
    |                ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
    |            ИНАЧЕ
    |                ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах
    |            КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)
    |            И ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора В (ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоЦенам),ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ЦенаЗадаетсяЗаНаборРаспределяетсяПоДолям)) ТОГДА
    |                ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.РассчитываетсяИзЦенКомплектующих)
    |        ИНАЧЕ
    |            ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора
    |        КОНЕЦ
    |    ИНАЧЕ
    |        ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора
    |    КОНЕЦ КАК ВариантРасчетаЦеныНабора,
    |    Таблица.Ссылка                            КАК Ссылка,
    |    Таблица.НоменклатураНабора                КАК НоменклатураНабора,
    |    Таблица.ХарактеристикаНабора              КАК ХарактеристикаНабора,
    |    Таблица.НомерСтроки                       КАК НомерСтроки,
    |    ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
    |    ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
    |    Таблица.Сумма                             КАК Сумма,
    |    Таблица.СуммаНДС                          КАК СуммаНДС,
    |    Таблица.ДатаОтгрузки                          КАК ДатаОтгрузки,
    |    Таблица.СуммаСкидки                           КАК СуммаСкидки,
    |    Таблица.СуммаБезСкидки                        КАК СуммаБезСкидки,
    |    ВременнаяТаблицаНаборыДополнительно.СтавкаНДС КАК СтавкаНДС
    |ПОМЕСТИТЬ ВременнаяТаблицаНаборы
    |ИЗ
    |    ВременнаяТаблицаНаборыПодготовка КАК Таблица
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
    |        ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
    |        И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
    |        И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    
    |    Товары.Ссылка                                            КАК Ссылка,
    |    Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
    |    Товары.ВариантРасчетаЦеныНабора                  КАК ВариантРасчетаЦеныНабора,
    |    Товары.НоменклатураНабора                                КАК НоменклатураНабора,
    |    Товары.ХарактеристикаНабора                                КАК ХарактеристикаНабора,
    |    Товары.ЭтоНабор КАК ЭтоНабор,
    |    Товары.ЭтоКомплектующие КАК ЭтоКомплектующие,
    |
    |    Товары.НомерСтроки                                        КАК НомерСтроки,
    |    Товары.Номенклатура                                        КАК Номенклатура,
    |    Товары.Номенклатура.Код                                    КАК Код,
    |    Товары.Номенклатура.Артикул                                КАК Артикул,
    |    Товары.Номенклатура.НаименованиеПолное                    КАК НаименованиеПолное,
    |
    |    ВЫБОР КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА
    |        ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
    |    ИНАЧЕ
    |        Товары.Упаковка.Наименование
    |    КОНЕЦ                                                    КАК ЕдиницаИзмерения,
    |
    |    Товары.КоличествоУпаковок                                КАК Количество,
    |
    |    Товары.Цена КАК Цена,
    |
    |    Товары.Сумма                                             КАК Сумма,
    |    Товары.СтавкаНДС                                         КАК СтавкаНДС,
    |    Товары.СуммаНДС                                          КАК СуммаНДС,
    |    НЕОПРЕДЕЛЕНО                                             КАК ВидЦеныИсполнителя,
    |    Товары.ДатаОтгрузки                                      КАК ДатаОтгрузки,
    |    ЕСТЬNULL(Товары.Характеристика.НаименованиеПолное, """") КАК Характеристика,
    |
    |    ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
    |        НЕОПРЕДЕЛЕНО
    |    ИНАЧЕ
    |        Товары.Упаковка.Наименование
    |    КОНЕЦ                                                    КАК Упаковка,
    |
    |    Товары.СуммаСкидки                                       КАК СуммаСкидки,
    |
    |    Товары.СуммаБезСкидки                                    КАК СуммаБезСкидки,
    |    Товары.Содержание                                        КАК Содержание,
    |
    |    Товары.ЭтоВозвратнаяТара                                 КАК ЭтоВозвратнаяТара    
    |
    |ИЗ (
    |
    |    ВЫБРАТЬ
    |        Таблица.Ссылка,
    |        ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
    |            ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах
    |        ИНАЧЕ
    |            ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ПустаяСсылка)
    |        КОНЕЦ КАК ВариантПредставленияНабораВПечатныхФормах,
    |        ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
    |            ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора
    |        ИНАЧЕ
    |            ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)
    |        КОНЕЦ КАК ВариантРасчетаЦеныНабора,
    |        Таблица.НоменклатураНабора,
    |        Таблица.ХарактеристикаНабора,
    |        ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
    |            ИСТИНА
    |        ИНАЧЕ
    |            ЛОЖЬ
    |        КОНЕЦ КАК ЭтоКомплектующие,
    |        ЛОЖЬ КАК ЭтоНабор,
    |        ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
    |            ВременнаяТаблицаНаборы.НомерСтроки
    |        ИНАЧЕ
    |            Таблица.НомерСтроки
    |        КОНЕЦ КАК НомерСтроки,
    |        Таблица.Номенклатура,
    |        Таблица.Количество,
    |        Таблица.КоличествоУпаковок,
    |        Таблица.Цена,
    |        Таблица.Сумма,
    |        Таблица.СтавкаНДС,
    |        Таблица.СуммаНДС,
    |        Таблица.ДатаОтгрузки,
    |        Таблица.Характеристика,
    |        Таблица.Упаковка,
    |        Таблица.СуммаСкидки,
    |        Таблица.СуммаБезСкидки,
    |        Таблица.Содержание,
    |        Таблица.ЭтоВозвратнаяТара
    |    ИЗ
    |        Товары КАК Таблица
    |            ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
    |            ПО ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора
    |             И ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора
    |             И ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка
    |
    |    ГДЕ
    |        Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |        ИЛИ (Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |            И ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие),
    |                                                                                  ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
    |
    |    ОБЪЕДИНИТЬ ВСЕ
    |
    |    ВЫБРАТЬ
    |        ВременнаяТаблицаНаборы.Ссылка,
    |        ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
    |        ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
    |        ВременнаяТаблицаНаборы.НоменклатураНабора,
    |        ВременнаяТаблицаНаборы.ХарактеристикаНабора,
    |        ЛОЖЬ КАК ЭтоКомплектующие,
    |        ИСТИНА КАК ЭтоНабор,
    |        ВременнаяТаблицаНаборы.НомерСтроки,
    |        ВременнаяТаблицаНаборы.НоменклатураНабора,
    |        ВременнаяТаблицаНаборы.Количество,
    |        ВременнаяТаблицаНаборы.КоличествоУпаковок,
    |        ВЫБОР
    |            КОГДА &ОтображатьСкидки ТОГДА
    |                ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0 ТОГДА
    |                    (ВременнаяТаблицаНаборы.СуммаБезСкидки) / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
    |                ИНАЧЕ
    |                    0
    |                КОНЕЦ
    |            ИНАЧЕ
    |                ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0 ТОГДА
    |                    (ВременнаяТаблицаНаборы.Сумма) / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
    |                ИНАЧЕ
    |                    0
    |                КОНЕЦ
    |        КОНЕЦ КАК Цена,
    |        ВременнаяТаблицаНаборы.Сумма КАК Сумма,
    |        ВременнаяТаблицаНаборы.СтавкаНДС,
    |        ВременнаяТаблицаНаборы.СуммаНДС,
    |        ВременнаяТаблицаНаборы.ДатаОтгрузки,
    |        ВременнаяТаблицаНаборы.ХарактеристикаНабора,
    |        ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
    |        ВременнаяТаблицаНаборы.СуммаСкидки,
    |        ВременнаяТаблицаНаборы.СуммаБезСкидки,
    |        """",
    |        ЛОЖЬ
    |    ИЗ
    |        ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
    |    ГДЕ
    |        ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор),
    |                                                                            ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))
    |) КАК Товары
    |
    |УПОРЯДОЧИТЬ ПО
    |    Товары.НомерСтроки,
    |    ЭтоНабор УБЫВ
    |";
    
    Запрос.Текст = СтрЗаменить(Запрос.Текст,
        "&ТекстЗапросаКоэффициентУпаковки",
        Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
        "Товары.Упаковка",
        "Товары.Номенклатура"));
    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.УстановитьПараметр("ОтображатьСкидки", ОтображатьСкидки);
    Запрос.УстановитьПараметр("ПредставлениеДокумента",    НСтр("ru = 'Заказ клиента'"));
    Запрос.УстановитьПараметр("ПредставлениеВОшибке",    НСтр("ru = 'заказа клиента'"));
    Запрос.УстановитьПараметр("ВыводитьДопКолонкиНДС", Константы.ВыводитьДопКолонкиНДС.Получить());
    
    ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
    
    СтруктураДанныхДляПечати = Новый Структура;
    СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
    СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
    СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1]);
    
    Возврат СтруктураДанныхДляПечати;
    
КонецФункции
23 AlexNF
 
15.03.19
14:27
в этих запросах - я ни че не понимаю(
24 FIXXXL
 
15.03.19
14:30
ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеПечати.Менеджер.*ФизЛицо, "Основание");
*ФизЛицо или как оно там у тебя называется
25 AlexNF
 
15.03.19
14:43
В запросе вот так:
Документы.Менеджер.ФизическоеЛицо                        КАК Менеджер,

мне нужно вытянуть доп реквизит или физ лица или Пользователя "Менеджер"

Если брать из Менеджера, то видимо по образцу должно быть так:

ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеПечати.Менеджер.ДополнительныеРеквизитыИСведения, "Основание");

Но так не работает, ругается на ДополнительныеРеквизитыИСведения - посмотрел справочник физ лиз и пользователей - там есть только ДополнительныеРеквизиты, поэтому заменил на


ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеПечати.Менеджер.ДополнительныеРеквизиты, "Основание");

Пишет Метод объекта не обнаружен (методанные)

Хотя вроде как я беру доп реквизит менеджера - который является элементом справочника пользователей, у которых есть доп реквизит...

бля вообще запутался
26 AlexNF
 
15.03.19
14:48
Вот так вот:


ЗначениеМоегоРеквизита =ДанныеПечати.Менеджер;



Выводит ФИО физ лица
27 AlexNF
 
15.03.19
15:14
Видимо в ДанныеПечати.Менеджер - содержится только значение ?

А можно во внешней печатной форме обратится не с запросу, а непосредственно к значению реквизита документа?
28 AlexNF
 
15.03.19
15:20
Хотя нет, вот так:
ЗначениеМоегоРеквизита =ДанныеПечати.Менеджер.ДатаРождения;

Выводится дата рождения!

Почему же вот так:

ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеПечати.Менеджер.ДополнительныеРеквизиты, "Основание");

Метод объекта не обнаружен (методанные) ???
29 AlexNF
 
15.03.19
15:31
Ошибка ссылается на вторую строку функции:

Функция ЗначениеСвойства(Объект, Свойство) Экспорт
    ПолучатьРеквизиты = УправлениеСвойствамиСлужебный.ЭтоОбъектМетаданныхСДополнительнымиРеквизитами(Объект.Метаданные());
    
    Результат = ЗначенияСвойств(Объект, ПолучатьРеквизиты, Истина, Свойство);
    Если Результат.Количество() = 1 Тогда
        Возврат Результат[0].Значение;
    КонецЕсли;
КонецФункции
30 FIXXXL
 
15.03.19
17:02
(29) ЗначениеСвойства(ДанныеПечати.Менеджер, "Основание");
31 AlexNF
 
18.03.19
08:47
Спасибо тебе, добрый человек. Заработало!
32 AlexNF
 
19.03.19
12:34
А не подскажите еще, как доп реквизит самого документа вытянуть (заказ покупателя), во внешнюю печатную форму?
Доп Реквизит называется "Установка"
33 AlexNF
 
19.03.19
13:41
ЗначениеМоегоРеквизита = ЗначениеСвойства(ДанныеДокумента, "Установка");


вот так ругается на методанные
Метод объекта не обнаружен (методанные)