Вывод на печать дополнительных реквизитов 1с

   HD_DoG

5 — 04.09.20 — 16:19

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;

    МассивНазначений = Новый Массив;

    МассивНазначений.Добавить(«Документ.ЗаказКлиента»);

    ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»);  

    ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);

    ПараметрыРегистрации.Вставить(«Наименование», «ЗаказКлиентаКоличественный»);

    ПараметрыРегистрации.Вставить(«БезопасныйРежим», ЛОЖЬ);

    ПараметрыРегистрации.Вставить(«Версия», «1.0»);

    ПараметрыРегистрации.Вставить(«Информация», «Изготовлено wpg»);

    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(ТаблицаКоманд, «Заказ клиента количественный(шаблон)», «ЗаказКлиентаКоличественный», «ВызовСерверногоМетода», Истина, «ПечатьMXL»);

    ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьТаблицуКоманд()

    Команды = Новый ТаблицаЗначений;

    Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));

    Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»));

    Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»));

    Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));

    Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));

    Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = «»)

    НоваяКоманда = ТаблицаКоманд.Добавить();

    НоваяКоманда.Представление = Представление;

    НоваяКоманда.Идентификатор = Идентификатор;

    НоваяКоманда.Использование = Использование;

    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;

    НоваяКоманда.Модификатор = Модификатор;

    
КонецПроцедуры

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, «ЗаказКлиентаКоличественный», «Заказ клиента с ячейками хранения», СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));

КонецПроцедуры // Печать()

Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)

ТабличныйДокумент = Новый ТабличныйДокумент;

ТабличныйДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКлиента_ЗаказКлиентаКоличественный»;

МакетОбработки = ПолучитьМакет(«ПФ_MXL_ЗаказКлиента_Количественный»);

ОбластьЗаголовок=МакетОбработки.ПолучитьОбласть(«Заголовок»);

ОбластьЗаголовок.Параметры.ТекстЗаголовка = «Заказ клиента № «+СсылкаНаДокумент.Номер+» от «+ СсылкаНаДокумент.Дата;

ТабличныйДокумент.Вывести(ОбластьЗаголовок);

ОбластьПоставщик=МакетОбработки.ПолучитьОбласть(«Поставщик»);

ОбластьПоставщик.Параметры.ПредставлениеОрганизации =  СсылкаНаДокумент.Организация;

ТабличныйДокумент.Вывести(ОбластьПоставщик);

ОбластьПокупатель=МакетОбработки.ПолучитьОбласть(«Покупатель»);

ОбластьПокупатель.Параметры.ПредставлениеПартнера = СсылкаНаДокумент.Партнер;

        
    Запрос = Новый Запрос;

    Запрос.Текст =

        «ВЫБРАТЬ

        |    ПартнерыКонтактнаяИнформация.Представление КАК Представление

        |ИЗ

        |    Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация

        |ГДЕ

        |    ПартнерыКонтактнаяИнформация.Ссылка = &Ссылка»;

    
    Запрос.УстановитьПараметр(«Ссылка», СсылкаНаДокумент.Партнер.Ссылка);

    
    РезультатЗапроса = Запрос.Выполнить();

    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    
    ВыборкаДетальныеЗаписи.Следующий() ;

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Адрес = ВыборкаДетальныеЗаписи.Представление;

ОбластьПокупатель.Параметры.Адрес = Адрес;

ТабличныйДокумент.Вывести(ОбластьПокупатель);

ОбластьШапкаТаблицы=МакетОбработки.ПолучитьОбласть(«ШапкаТаблицы»);

ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);

ОбластьСтрокаТаблицы=МакетОбработки.ПолучитьОбласть(«СтрокаТаблицы»);

    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    
    Запрос = Новый Запрос;

    Запрос.Текст =

        «ВЫБРАТЬ

        |    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,

        |    ЗаказКлиентаТовары.Номенклатура.Артикул КАК НоменклатураАртикул,

        |    ЗаказКлиентаТовары.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,

        |ВЫБОР

        |    КОГДА ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель <> 0

        |    ТОГДА ЗаказКлиентаТовары.Номенклатура.ВесЧислитель / ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель * ЗаказКлиентаТовары.Количество

        |    ИНАЧЕ &Ничего

        |КОНЕЦ КАК Вес,

        |ВЫБОР

        |    КОГДА ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель <> 0

        |    ТОГДА ЗаказКлиентаТовары.Номенклатура.ВесЕдиницаИзмерения

        |    ИНАЧЕ &Ничего

        |КОНЕЦ КАК ВесЕдИзм,

        |    ЗаказКлиентаТовары.Цена КАК Цена,

        |    ЗаказКлиентаТовары.Количество КАК Количество,

        |    ЗаказКлиентаТовары.Сумма КАК Сумма,

        |    ЗаказКлиентаТовары.НомерСтроки КАК НомерСтроки

        |ИЗ

        |    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары

        |ГДЕ

        |    ЗаказКлиентаТовары.Ссылка = &Ссылка»;

           
    Запрос.УстановитьПараметр(«Ссылка», СсылкаНаДокумент.Ссылка);

    Запрос.УстановитьПараметр(«Ничего», «—«);

    
    РезультатЗапроса = Запрос.Выполнить();

    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    КоличествоСтрок =  ВыборкаДетальныеЗаписи.Количество();

    
    СуммаКоличество = 0;

    СуммаВес = 0;

    СуммаОбъем = 0;

    

    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

        ОбластьСтрокаТаблицы.Параметры.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки;

        ОбластьСтрокаТаблицы.Параметры.Товар = ВыборкаДетальныеЗаписи.Номенклатура;

        ОбластьСтрокаТаблицы.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество;

//        ОбластьСтрокаТаблицы.Параметры.Цена = ВыборкаДетальныеЗаписи.Цена;

//        ОбластьСтрокаТаблицы.Параметры.Сумма = ВыборкаДетальныеЗаписи.Сумма;

        ОбластьСтрокаТаблицы.Параметры.Артикул = ВыборкаДетальныеЗаписи.НоменклатураАртикул;

        ОбластьСтрокаТаблицы.Параметры.ЕдИзм = ВыборкаДетальныеЗаписи.НоменклатураЕдиницаИзмерения;

        ОбластьСтрокаТаблицы.Параметры.ЯчейкаХранения = ;

        Если ВыборкаДетальныеЗаписи.Вес = «—» Тогда

            ОбластьСтрокаТаблицы.Параметры.Вес = ВыборкаДетальныеЗаписи.Вес;

        Иначе

            ОбластьСтрокаТаблицы.Параметры.Вес = Формат(Окр(ВыборкаДетальныеЗаписи.Вес,1),»ЧДЦ=1″);

        КонецЕсли;

        
        ОбластьСтрокаТаблицы.Параметры.ВесЕдИзм = ВыборкаДетальныеЗаписи.ВесЕдИзм;

        
        ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы);

        
        ТекущВес=ВыборкаДетальныеЗаписи.Вес;

        Если ТекущВес = «—» Тогда

            ТекущВес = 0;

        КонецЕсли;

        
        
        СуммаКоличество =  СуммаКоличество +  ВыборкаДетальныеЗаписи.Количество;

        СуммаВес = СуммаВес + ТекущВес;

        
    
    
  
    КонецЦикла;

//    

//    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

ОбластьПодвалТаблицы=МакетОбработки.ПолучитьОбласть(«ПодвалТаблицы»);

    ОбластьПодвалТаблицы.Параметры.ИтогКоличество = СуммаКоличество;

    ОбластьПодвалТаблицы.Параметры.ИтогВес = Формат(окр(СуммаВес,1),»ЧДЦ=1″);

ТабличныйДокумент.Вывести(ОбластьПодвалТаблицы);

ОбластьПодписи=МакетОбработки.ПолучитьОбласть(«Подписи»);

ТекстИтоговойСтроки = НСтр(«ru = ‘Всего наименований %ВсегоНаименований% на сумму %Сумма% руб.'»);

ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,»%ВсегоНаименований%», КоличествоСтрок);

ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,»%Сумма%», СсылкаНаДокумент.СуммаДокумента);

ОбластьПодписи.Параметры.ИтоговаяСумма =  ТекстИтоговойСтроки;

ОбластьПодписи.Параметры.СуммаПрописью = ЧислоПрописью(СсылкаНаДокумент.СуммаДокумента,»Л = ru_RU; ДП = Истина»,»рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2″);

ОбластьПодписи.Параметры.Менеджер = СсылкаНаДокумент.Менеджер;

ТабличныйДокумент.Вывести(ОбластьПодписи);

ТабличныйДокумент.АвтоМасштаб = Истина;

Возврат ТабличныйДокумент;

КонецФункции

Добрый день.
Есть организация, занимающаяся мелкооптовой торговлей.
Работа только с юрлицами и исключительно по безналу с комплектом документов: счет+Торг12 (НДС нет, ибо УСН).
Набор контрагентов более-менее стабильный (их штук 30-40), но контактные лица у контрагентов зачастую меняются.
В день — три-пять развозок.
Из-за смены контактных лиц у покупателей часто бывает проблема с тем, что экспедитор приезжает на адрес, и не может найти нужного человека, ибо периодичность доставок — где-то раз в две-три недели, и за это время контактный человек может смениться (а в телефон экспедитор слышит «что вы мне звоните я уже месяц там не работаю!»)
Насколько я знаю, у 1С Бухгалтерии есть механизм сохранения дополнительных сведений и, возможно, его было бы удобно использовать в моей ситуации, например, при выписке счета сразу в этих дополнительных сведениях указывать, кого искать на адресе при разгрузке.
Единственное, что я не понял в справке 1С — это как с этими доп.сведениями работать.
Может быть, здесь есть кто-то, кто мог бы «на пальцах» объяснить или посоветовать, где почитать при применение их в такой ситауции.
1С Бухгалтерия 8.3, редакция 3.0.60.44

Заранее благодарен за дельные советы!

Цитата (Ctocopok):Из-за смены контактных лиц у покупателей часто бывает проблема с тем, что экспедитор приезжает на адрес, и не может найти нужного человека, ибо периодичность доставок — где-то раз в две-три недели, и за это время контактный человек может смениться (а в телефон экспедитор слышит «что вы мне звоните я уже месяц там не работаю!»)

А как вам в этом могут помочь доп. сведения?
Ваш сотрудник приезжает и только потом узнает, что сделку заключает другое лицо… Что вы напишете в доп сведения?
Или вы все-таки знали, что у клиента новое контактное лицо, но ему об этом не сообщили?

Заполнить и подать уведомление об исчисленных суммах налогов и взносов

Возможно, я плохо сформулировал задачу 😀
Смысл в том, что при выписке счёта по телефонной ли или электронно-почтовой заявке, я уже знаю, кого искать на адресе. Эти данные я старательно записываю ручкой на бумажку, которую прикладываю к счёту. К следующей заявке-поставке эта бумажка может стать не актуальной. А может остаться актуальной, но потеряться. А может случиться так, что бумажка потеряется уже из рук экспедитора 😀
Я предполагал, что заведя доп-сведение (аналог подчиненного справочника в терминах 1С 7.7) на каждого контрагента, я мог бы как-то эту информацию в печатную форму вывести прямо в рамочке какой-то «Информация для экспедитора». И водителю удобно, не мой почерк разбирать, и буквы крупные, с плохим зрением не было бы проблемно прочитать. А если в печатную форму еще красиво оформить, то и бухгалтерию «на том конце» эти сведения бы не напугали.
Но во-первых, я не понимаю, как именно завести эти доп-сведения, во-вторых — как их в форме выписки счёта отобразить. Ну и в-втретьих, как вывести на печатную форму (решив первые две проблемы, третья, наверное решилась бы уже достаточно просто).

Цитата (Ctocopok):Смысл в том, что при выписке счёта по телефонной ли или электронно-почтовой заявке, я уже знаю, кого искать на адресе. Эти данные я старательно записываю ручкой на бумажку, которую прикладываю к счёту. К следующей заявке-поставке эта бумажка может стать не актуальной. А может остаться актуальной, но потеряться. А может случиться так, что бумажка потеряется уже из рук экспедитора 😀

Тогда понятно. А не проще обратиться к специалистам?
Самое простое на форму счета в шапку добавить поле Контактное лицо, чтобы его можно было выбрать. В печатную форму добавить Адрес доставки и контактное лицо.

Цитата (Ctocopok):Но во-первых, я не понимаю, как именно завести эти доп-сведения

Я тоже плохо представляю, как их использовать для вашего случая. Попробуйте. Администрирование — Общие настройки — Дополнительные реквизиты и сведения

Цитата (Встроенная справка):Дополнительные реквизиты и сведения — включите флажок, для того чтобы использовать дополнительные свойства для справочников и документов.
Реквизиты и сведения с общим списком значений — включите флажок, для того чтобы разрешить добавление реквизитов, у которых общий список значений с другими реквизитами (команда Добавить — Из другого набора — Сделать копию по образцу). Общие реквизиты и сведения — включите флажок, для того чтобы разрешить добавление реквизитов сразу к нескольким объектам программы одновременно (команда Добавить — Из другого набора — Сделать реквизит общим и добавить в набор).  Дополнительные реквизиты — настройка состава дополнительных реквизитов для справочников и документов. Дополнительные сведения — настройка состава дополнительных сведений для справочников и документов.

Потом надо определиться, что это будет реквизит или сведения.

Цитата (Встроенная справка):Дополнительные реквизиты и сведения объектов делятся на две категории:
■ Дополнительные реквизиты – хранятся в самом объекте (в специальной табличной части). Дополнительные реквизиты создаются для реализации таких свойств, которые являются неотъемлемой частью объекта, вводятся при его редактировании и доступны для редактирования тем же пользователям, которым доступен и сам объект со свойствами;
■ Дополнительные сведения – предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта. Дополнительные сведения, как правило, доступны для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Дополнительные сведения редактируются в отдельной форме, которую можно открыть из формы объекта.

[img big=/Files/ForumUpload/2028012_big.Реквизит.id-o_1cd0bog026v51qs38us1eb41400d.JPG]/Files/ForumUpload/2028012.Реквизит.id-o_1cd0bog026v51qs38us1eb41400d.JPG[/img]
[img big=/Files/ForumUpload/2028012_big.Сведения.id-o_1cd0bosorhejj9u1m0u10je1o6di.JPG]/Files/ForumUpload/2028012.Сведения.id-o_1cd0bosorhejj9u1m0u10je1o6di.JPG[/img]

Спасибо, Kamushek.
Приведенные цитаты из справочника я читал в первоисточнике, но точного понимания смысла не приобрел.
Контактные лица — они отъемлемые или неотъемлемые части моего объекта? Или что у меня объект? Счёт на оплату или контрагент в нем?

Я уж не говорю о том, что не смог победить редакцию формы счеты (отображаемая экранная форма интерфейса).
пожалуй, действительно, мне стоит поискать совета у «технарей» на форумах, которые не по учёту, а по модификациям специализируются.

Спасибо за потраченное время.

Заполняйте платежки с актуальными на сегодня КБК, кодами дохода и другими обязательными реквизитами

Ctocopok, здравствуйте.

Кроме как внешней печатной формой желаемое вряд ли можно реализовать. Ну, или расширением конфигурации, что опять же нужно заказывать программистам 1С. 

В форме документа можно штатно вывести только основное ответственное лицо контрагента, но в печатную форму счёта оно всё равно не попадает, причём при перезаписи или проведении документа, в форме документа ответственное лицо меняется на актуальное (если оно менялось).

Можно в форме списка документа отобразить значение дополнительного реквизита, но в печатную форму оно опять же попадает. Причём, если значение этого реквизита изменить на другое, то оно поменяется и для всех остальных документов с данным контрагентом в форме списка.

Проще (и дешевле) всего, сразу в имеющейся печатной форме в подходящем месте написать вручную контактное лицо и всё вместе распечатать. Разумеется, введённые данные не сохранятся в самом счёте — только на бумаге.

P.S. Чтобы каждый раз вручную не вводить, придётся вставлять значение из какого-нибудь текстового или  эксельного файлика, где будет вестись история изменений контактных лиц для разных контрагентов.

Сергей, здравствуйте.
Я предполагал (для начала) завести для счета на оплату дополнительное поле , хотя бы просто строковое, которое хранилось бы вместе со счётом, и, соответственно, копировалось бы при копировании счёта (ибо количество контрагентов конечно и использование их периодично).
Насколько я понял, печатную форму для стандартных документов можно изменять даже не запуская конфигуратор, возможно, ошибаюсь, но какие-то правки я вносил в какой-то из мириадов баз, с которыми приходилось работать.
Расширение конфигурации для меня сложно, а бюджета для заказа решения на стороне — нет. Я попробую найти аналогичные примеры использования штатного функционала. Пока что-то не везёт в поисках.

К счету я прикрепила объект Дополнительные сведения и показала, как вы это увидите.

Цитата (Ctocopok):Контактные лица — они отъемлемые или неотъемлемые части моего объекта?

Это объект, который вы создаете сами, заполняете сами и редактируете сами. Это — дополнительные сведения. Это не очень хорошее решение, потому что оно само по себе, но у каждого счета надо выбрать свое. Никакой привязки к справочнику Контрагенты или Контактные лица нет. Попробуйте создать Доп. сведения и подтянуть их в печатную форму. 

Цитата (Kamushek):Самое простое на форму счета в шапку добавить поле Контактное лицо, чтобы его можно было выбрать. В печатную форму добавить Адрес доставки и контактное лицо.

Это простое и нормальное решение, но требует создания внешней формы.

Цитата (Ctocopok):но точного понимания смысла не приобрел.

А что вы не понимаете, просто создайте объект к счету на оплату, там просто добавить. Оно не на что не повлияет. Это дополнительные данные, которые обычно используют в отчетах, в списках.

Цитата (Ctocopok):Я уж не говорю о том, что не смог победить редакцию формы счеты (отображаемая экранная форма интерфейса).

Это вообще не надо трогать, это делает специалист, если речь идет о Контактном лице.

Формировать транспортные накладные в веб‑сервисе для ведения учета и сдачи отчетности

В 1С ЗУП 3.1.8 версии КОРП появилась возможность настраивать вывод в печатные формы любых реквизитов объектов, к которым привязана эта печатная форма, в том числе дополнительные реквизиты и сведения, а также описывать пользовательские поля с произвольной формулой и также использовать их в печатных формах. Рассмотрим эту новую возможность подробнее.

Содержание

  • Настраиваемые печатные формы
  • Примеры использования настраиваемых печатных форм
    • Пример 1. Вывод реквизита объекта
    • Пример 2. Вывод дополнительных реквизитов
    • Пример 3. Использование пользовательских полей

Настраиваемые печатные формы реализованы только в версии КОРП!

Настраиваемые печатные формы

Новый функционал доступен в разделе Настройка – Сервис – Настраиваемые печатные формы.

От возможности обычного редактирования макетов печатных форм он отличается тем, что предоставляет возможность определять и использовать в печатных формах дополнительные параметры из доступного списка реквизитов и показателей. Также предоставляется возможность добавлять пользовательские поля с определенной формулой, в которой можно использовать доступные реквизиты и поля. Рассмотрим использование функционала на примерах.

Примеры использования настраиваемых печатных форм

Пример 1. Вывод реквизита объекта

Выведем ИНН физического лица в печатную форму Трудовой договор микропредприятий.

Для этого необходимо:

  1. Открыть сервис Настраиваемые печатные формы, найти и открыть на редактирование печатную форму Трудовой договор микропредприятий.
  2. В табличной части Доступные поля открыть Личные данные – Физическое лицо – ИНН и перенести его в соседнюю табличную часть — Выбранные поля.
  3. В макете печатной формы найти место, куда требуется вывести этот параметр и перетащить его мышью из табличной части Выбранные поля.

Пример 2. Вывод дополнительных реквизитов

Пусть в дополнительных реквизитах (Администрирование – Дополнительные реквизиты) для документа Командировка создали  новый реквизит под названием Способ передвижения с несколькими заданными значениями.

Теперь в документе Командировка имеется возможность указать способ, которым сотрудник отправляется в командировку:

Выведем информацию о способе передвижения в печатную форму приказа о командировке № Т-9.

Для этого необходимо:

  1. В сервисе Настраиваемые печатные формы открыть на редактирование печатную форму Т-9.
  2. В таблице Доступные поля найти дополнительный реквизит: Ссылка на объект – Способ передвижения (Командировки (Т-9)) и перенести этот реквизит в таблицу Выбранные поля.
  3. Вывести поле в необходимое место макета печатной формы:

Пример 3. Использование пользовательских полей

Добавим в печатную форму Расчетная ведомость (Т-51) отдельной колонкой сведения о суммах, начисленных по виду расчета Оплата по окладу, а также сведения о количестве часов, которые отработаны в ночное время.

Для этого в Настраиваемых печатных формах необходимо открыть макет отчета Расчетная ведомость (Т-51).

Далее в таблице Доступные поля открыть папку Пользовательские поля и добавить 2 новых пользовательских поля.

В первом будет рассчитываться сумма начислений по виду начисления Оплата по окладу. Для этого необходимо добавить условное выражение, которое на основании кода вида начисления будет отбирать суммы, относящиеся только к виду начисления Оплата по окладу:

Текст условия:

Выбор­

Когда ВидРасчета.Код = «ОКЛ»

Тогда Сумма

Иначе 0

Конец

Во втором пользовательском поле на основании кода вида начисления Доплата за работу в ночное время будет отбираться оплаченное время по этому виду начисления:

Текст условия:

Выбор

Когда ВидРасчета.Код = «НОЧН»

Тогда ОплаченоЧасов

Иначе 0

Конец

После создания этих пользовательских полей, их необходимо перенести в таблицу Выбранные поля и вывести в макет печатной формы, предварительно создав новые колонки в таблице печатной формы:

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

(3 оценок, среднее: 5,00 из 5)

Загрузка…

0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

1

17.05.2019, 01:02. Показов 5964. Ответов 16


у номенклатуры есть 2 доп реквизита ТУ и Хранение.В документе Реализация товара нужно вывести в печатную форму номенклатуру какая была в документе и рядом каждой её ТУ и Хранение. В конструкторе как правильно сделать запрос, а то у меня получается сперва список с ТУ а Хранение пустые.ниже тоже самое только ТУ пустые Хранение заполнено.
PS я новичок, а учится надо.



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

18.05.2019, 08:26

2

кингофф, Попробуй к просьбе приложить свой код. Помогает понять что надо человеку.



0



кингофф

0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

19.05.2019, 21:41

 [ТС]

3

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
перем ТУ;    
перем Хранение;
ТУ="ТУ";
Хранение="Хранение";
 
    ТабДок = новый ТабличныйДокумент;
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Макет = ПолучитьМакет("Макет1111");
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество КАК Количество,
        |   NULL КАК ТУ,
        |   НоменклатураДополнительныеРеквизиты.Значение КАК Хранение
        |ИЗ
        |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары,
        |   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        |ГДЕ
        |   НоменклатураДополнительныеРеквизиты.Свойство.Заголовок = &Хранение
        |
        |СГРУППИРОВАТЬ ПО
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество,
        |   НоменклатураДополнительныеРеквизиты.Значение
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество,
        |   НоменклатураДополнительныеРеквизиты.Значение,
        |   NULL
        |ИЗ
        |   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        |       ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        |       ПО (РеализацияТоваровУслугТовары.Номенклатура.Наименование = НоменклатураДополнительныеРеквизиты.Ссылка.Наименование)
        |ГДЕ
        |   НоменклатураДополнительныеРеквизиты.Свойство.Заголовок = &ТУ
        |
        |СГРУППИРОВАТЬ ПО
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество,
        |   НоменклатураДополнительныеРеквизиты.Значение
        |
        |ОБЪЕДИНИТЬ
        |
        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество,
        |   НоменклатураДополнительныеРеквизиты.Значение,
        |   NULL
        |ИЗ
        |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        |       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        |       ПО РеализацияТоваровУслугТовары.Номенклатура.Наименование = НоменклатураДополнительныеРеквизиты.Ссылка.Наименование
        |ГДЕ
        |   РеализацияТоваровУслугТовары.Ссылка В(&МассивОбъектов)
        |
        |СГРУППИРОВАТЬ ПО
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Количество,
        |   НоменклатураДополнительныеРеквизиты.Значение
        |
        |УПОРЯДОЧИТЬ ПО
        |   Номенклатура
        |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    Запрос.УстановитьПараметр("ТУ", ТУ);
    Запрос.УстановитьПараметр("Хранение", Хранение);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА



0



polax

1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

20.05.2019, 11:20

4

кингофф,

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
    ВЫБОР КОГДА НоменклатураДополнительныеРеквизиты.Свойство.Заголовок = "ТУ"
        ТОГДА НоменклатураДополнительныеРеквизиты.Значение
    КОНЕЦ КАК ТУ,
        ВЫБОР КОГДА НоменклатураДополнительныеРеквизиты.Свойство.Заголовок = "Хранение"
        ТОГДА НоменклатураДополнительныеРеквизиты.Значение
    КОНЕЦ КАК Хранение,
    НоменклатураДополнительныеРеквизиты.Ссылка.Наименование КАК Наименование
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО (РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка)



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

20.05.2019, 23:12

 [ТС]

5

Так же получается, только непонятно откуда он другие наименования взял. в накладной внесено только первые 2шт

Миниатюры

Печатная форма с выводом Доп.Реквизитов 1с Бухгалтерия
 



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

21.05.2019, 01:15

6

кингофф, ну немного напрягись, поставь сам условие на свой массивОбъектов



0



polax

1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

21.05.2019, 09:15

7

кингофф, Дошло о чем ты. Тогда попробуй:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
    РеализацияТоваровУслугТовары.Количество КАК Количество,
    НоменклатураДополнительныеРеквизиты.Значение КАК ТУ
ПОМЕСТИТЬ ВТ_ТУ
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО (РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка)
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка В (&МассивОбъектов)
    И НоменклатураДополнительныеРеквизиты.Значение.Наименование = "ТУ"
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугТовары.Характеристика КАК Характеристика,
    РеализацияТоваровУслугТовары.Количество КАК Количество,
    НоменклатураДополнительныеРеквизиты.Значение КАК Хранение
ПОМЕСТИТЬ ВТ_Хранение
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка В (&МассивОбъектов)
    И НоменклатураДополнительныеРеквизиты.Значение.Наименование = "Хранение"
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫБОР
        КОГДА НЕ ВТ_ТУ.ТУ ЕСТЬ NULL
            ТОГДА ВТ_ТУ.Номенклатура
        ИНАЧЕ ВТ_Хранение.Номенклатура
    КОНЕЦ КАК Номенклатура,
    ВЫБОР
        КОГДА НЕ ВТ_ТУ.ТУ ЕСТЬ NULL
            ТОГДА ВТ_ТУ.Характеристика
        ИНАЧЕ ВТ_Хранение.Характеристика
    КОНЕЦ КАК Характеристика,
    ВЫБОР
        КОГДА НЕ ВТ_ТУ.ТУ ЕСТЬ NULL
            ТОГДА ВТ_ТУ.Количество
        ИНАЧЕ ВТ_Хранение.Количество
    КОНЕЦ КАК Количество,
    ВТ_ТУ.ТУ КАК ТУ,
    ВТ_Хранение.Хранение КАК Хранение
ИЗ
    ВТ_ТУ КАК ВТ_ТУ
        ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Хранение КАК ВТ_Хранение
        ПО (ВТ_ТУ.Номенклатура = ВТ_Хранение.Номенклатура)
            И (ВТ_ТУ.Характеристика = ВТ_Хранение.Характеристика)



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

29.05.2019, 23:39

 [ТС]

8

а откуда берется реквизит РеализацияТоваровУслугТовары.Характеристика в бухгалтерии его нет



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

29.05.2019, 23:42

9

кингофф, Нет, так просто убери. Хотя в БП Характеристика номенклатуре должна бы быть



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

29.05.2019, 23:47

 [ТС]

10

а вот этот весь запрос был составлен в конструкторе или руками написан?



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

29.05.2019, 23:49

11

кингофф, Скорей всего конструктор, но не факт, что в БП, не помню в какой конфе. Возможно УТ



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

30.05.2019, 00:51

 [ТС]

12

Запрос действительно был сделан в УТ, даже в ней создал дополнительные реквизиты все равно возвращает пустую таблицу.всю голову сломал



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

30.05.2019, 08:59

13

кингофф, МассивОбъектов назначил параметр?



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

30.05.2019, 09:44

 [ТС]

14

конечно.я делаю в консоле запросов он без параметра его не выполнял



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

30.05.2019, 18:46

15

кингофф, Что-то не так делаешь. Запрос работает.

Миниатюры

Печатная форма с выводом Доп.Реквизитов 1с Бухгалтерия
 



0



0 / 0 / 0

Регистрация: 02.06.2014

Сообщений: 34

31.05.2019, 09:02

 [ТС]

16

попробуйте пожалуйста запустить у себя этот макет может что с базой у меня, а не с кодом



0



1808 / 1228 / 442

Регистрация: 16.01.2015

Сообщений: 5,396

31.05.2019, 11:28

17

кингофф, ПОтратил столько времени….((( А ларчик просто открывался. Надо было просто точно скопировать мой запрос без своего творческого подхода. Заменил запрос и все заработало. В чем разница не стал разбираться, сам посмотришь



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

31.05.2019, 11:28

Помогаю со студенческими работами здесь

Печатная Форма 1с 8.2
Здравствуйте,помогите новичку
Вот печатная форма

Печатная форма
При попытке вставить значение СуммаИтог печатной формы документа выскакивает ошибка времени…

Печатная форма
Добрый день!!! у меня задание: Есть фрагмент печатной формы в документе &quot;Заказ-наряд&quot; с названием…

Печатная форма
Добрый день Уважаемые! У меня такая проблема нигде в сети не могу найти печатную форму…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

17

Понравилась статья? Поделить с друзьями:
  • Газель бизнес умз 4216 не сбрасывает обороты
  • Выгодно ли покупать салон красоты как бизнес
  • Все реквизиты по приморскому краю для оплаты
  • Газель бизнес умз 4216 регулировка сцепления
  • Выгодно ли разводить рыбу как бизнес в пруду