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″);
ОбластьПодписи.Параметры.Менеджер = СсылкаНаДокумент.Менеджер;
ТабличныйДокумент.Вывести(ОбластьПодписи);
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции
0 / 0 / 0 Регистрация: 02.06.2014 Сообщений: 34 |
|
1 |
|
17.05.2019, 01:02. Показов 5960. Ответов 16
у номенклатуры есть 2 доп реквизита ТУ и Хранение.В документе Реализация товара нужно вывести в печатную форму номенклатуру какая была в документе и рядом каждой её ТУ и Хранение. В конструкторе как правильно сделать запрос, а то у меня получается сперва список с ТУ а Хранение пустые.ниже тоже самое только ТУ пустые Хранение заполнено.
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
|
18.05.2019, 08:26 |
2 |
кингофф, Попробуй к просьбе приложить свой код. Помогает понять что надо человеку.
0 |
кингофф 0 / 0 / 0 Регистрация: 02.06.2014 Сообщений: 34 |
||||
19.05.2019, 21:41 [ТС] |
3 |
|||
0 |
polax 1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
||||
20.05.2019, 11:20 |
4 |
|||
кингофф,
0 |
0 / 0 / 0 Регистрация: 02.06.2014 Сообщений: 34 |
|
20.05.2019, 23:12 [ТС] |
5 |
Так же получается, только непонятно откуда он другие наименования взял. в накладной внесено только первые 2шт Миниатюры
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
|
21.05.2019, 01:15 |
6 |
кингофф, ну немного напрягись, поставь сам условие на свой массивОбъектов
0 |
polax 1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
||||
21.05.2019, 09:15 |
7 |
|||
кингофф, Дошло о чем ты. Тогда попробуй:
0 |
0 / 0 / 0 Регистрация: 02.06.2014 Сообщений: 34 |
|
29.05.2019, 23:39 [ТС] |
8 |
а откуда берется реквизит РеализацияТоваровУслугТовары.Характеристика в бухгалтерии его нет
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
|
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,395 |
|
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,395 |
|
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,395 |
|
30.05.2019, 18:46 |
15 |
кингофф, Что-то не так делаешь. Запрос работает. Миниатюры
0 |
0 / 0 / 0 Регистрация: 02.06.2014 Сообщений: 34 |
|
31.05.2019, 09:02 [ТС] |
16 |
попробуйте пожалуйста запустить у себя этот макет может что с базой у меня, а не с кодом
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,395 |
|
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 Печатная форма Печатная форма Печатная форма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 17 |
Добрый день.
Есть организация, занимающаяся мелкооптовой торговлей.
Работа только с юрлицами и исключительно по безналу с комплектом документов: счет+Торг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. Вывод реквизита объекта
Выведем ИНН физического лица в печатную форму Трудовой договор микропредприятий.
Для этого необходимо:
- Открыть сервис Настраиваемые печатные формы, найти и открыть на редактирование печатную форму Трудовой договор микропредприятий.
- В табличной части Доступные поля открыть Личные данные – Физическое лицо – ИНН и перенести его в соседнюю табличную часть — Выбранные поля.
- В макете печатной формы найти место, куда требуется вывести этот параметр и перетащить его мышью из табличной части Выбранные поля.
Пример 2. Вывод дополнительных реквизитов
Пусть в дополнительных реквизитах (Администрирование – Дополнительные реквизиты) для документа Командировка создали новый реквизит под названием Способ передвижения с несколькими заданными значениями.
Теперь в документе Командировка имеется возможность указать способ, которым сотрудник отправляется в командировку:
Выведем информацию о способе передвижения в печатную форму приказа о командировке № Т-9.
Для этого необходимо:
- В сервисе Настраиваемые печатные формы открыть на редактирование печатную форму Т-9.
- В таблице Доступные поля найти дополнительный реквизит: Ссылка на объект – Способ передвижения (Командировки (Т-9)) и перенести этот реквизит в таблицу Выбранные поля.
- Вывести поле в необходимое место макета печатной формы:
Пример 3. Использование пользовательских полей
Добавим в печатную форму Расчетная ведомость (Т-51) отдельной колонкой сведения о суммах, начисленных по виду расчета Оплата по окладу, а также сведения о количестве часов, которые отработаны в ночное время.
Для этого в Настраиваемых печатных формах необходимо открыть макет отчета Расчетная ведомость (Т-51).
Далее в таблице Доступные поля открыть папку Пользовательские поля и добавить 2 новых пользовательских поля.
В первом будет рассчитываться сумма начислений по виду начисления Оплата по окладу. Для этого необходимо добавить условное выражение, которое на основании кода вида начисления будет отбирать суммы, относящиеся только к виду начисления Оплата по окладу:
Текст условия:
Выбор
Когда ВидРасчета.Код = «ОКЛ»
Тогда Сумма
Иначе 0
Конец
Во втором пользовательском поле на основании кода вида начисления Доплата за работу в ночное время будет отбираться оплаченное время по этому виду начисления:
Текст условия:
Выбор
Когда ВидРасчета.Код = «НОЧН»
Тогда ОплаченоЧасов
Иначе 0
Конец
После создания этих пользовательских полей, их необходимо перенести в таблицу Выбранные поля и вывести в макет печатной формы, предварительно создав новые колонки в таблице печатной формы:
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Оцените публикацию
(3 оценок, среднее: 5,00 из 5)
Загрузка…
В типовых конфигурациях при формировании печатных форм продажи товаров (ТОРГ-12, счет-фактура, УПД) в колонку Код можно вывести на выбор или артикул или внутренний код товара. Бывают ситуации, когда у пользователей возникает необходимость вывести туда какое-то третье значение — артикул поставщика, идентификатор товара на сайте и прочее. В то же время у них может не быть возможности использовать для этого поле Артикул, так как там тоже находится нужная информация.
Именно для такого случая и создана данная обработка. Она позволяет заполнять колонку Код в ТОРГ-12, счет-фактуре и УПД на основе любого выбранного дополнительного реквизита номенклатуры.
Рассмотрим конкретный пример, допустим есть такое поле в товарной карточке:
Его будем выводить на печать. После добавления обработки в интерфейс в списке команд печати документа Реализация товаров и услуг добавятся новые команды:
Команда Настройки печати типовых форм добавляется после установки файла product586 (Счет на оплату):
Перед печатью необходимо выбрать дополнительный реквизит для подстановки в печатные формы. Для этого в списке команд печати выберем Настройки печати типовых форм. В открывшемся окне заполним нужное свойство. Нажимаем Сохранить и закрыть.
Так выглядит результат в ТОРГ-12:
Т.к. в счет-фактуре нет отдельной колонки для кода, значение реквизита указывается в наименовании товара:
В УПД печатаем в отдельную колонку:
Распечатывать можно как отдельный документ, так и список.
Релиз 586.1.1.2 от 31.01.2019
Добавлена возможность вывода дополнительного реквизита в счет на оплату (прикрепляется к заказу клиента):
Релиз 586.1.1.3 от 07.08.2019
Теперь можно выводить в колонку Код еще и штрихкод номенклатуры.
Релиз 586.1.1.4 от 05.07.2021
Разработка адаптирована под новые редакции УПД и счет-фактуры (по постановлению 534).
Релиз 586.1.1.5 от 03.10.2021
Теперь в печатных формах можно выводить дополнительные реквизиты не только номенклатуры, но и характеристик.
Дмитрий Медведков
Программист, консультант 1С
Начал работать с 1С в 2012-м, специализируюсь на УТ 11
По мере использования 1С, у многих предприятий возникает потребность создать для какого-либо объекта информационной базы реквизит, позволяющий хранить дополнительную информацию, например, добавление дополнительного специфического, характерного для вашей продукции описания номенклатуры в текстовом виде или же в виде числовых характеристик. Для удовлетворения данной потребности есть два пути либо заказать доработку конфигурации у фирмы 1С:Франчайзи, либо воспользоваться механизмом добавления дополнительных реквизитов.
В данной статье будет описан второй вариант. Использование механизма дополнительных реквизитов позволяет добавить реквизит в режиме 1С Предприятия, не прибегая к помощи «конфигуратора». Если ваша цель ограничена лишь добавлением дополнительной аналитики объекта и последующего использования этой аналитики в типовых отчетах (например, использование дополнительного реквизита в качестве условия отбора или простого вывода в табличный документ), то не понадобится даже помощь программиста. Однако стоит сразу оговориться, что более сложные задачи, связанные с дополнительным реквизитом, например, вывод в печатную форму, все же потребует изменений в программном коде.
Дополнительные реквизиты можно найти на форме объекта – Ещё – Изменить состав дополнительных реквизитов или же через НСИАдминистрирование – Общие настройки, как показано на рисунке 1. На данном рисунке видно, что сначала необходимо проставить флажок для включения интересующей нас опции. Так же видно, что помимо реквизитов, есть и дополнительные сведения. С точки зрения пользователя они отличаются тем, что доп. реквизиты вынесены на форму, а сведения вызываются отдельной формой специальной командой из кнопки Ещё на форме объекта.
Рисунок 1 – Настройка дополнительных реквизитов и сведений через Общие настройки
На рисунке 2 можно увидеть окно, в котором можно увидеть список доп. реквизитов, а также возможность создать их.
Рисунок 2 – Окно «Дополнительные реквизиты»
На рисунке 3 изображено окно непосредственного создания нового реквизита.
Пользователю доступны следующие настройки:
1. Наименование – Имя реквизита, которое видит пользователь
2. Для разработчиков, Имя – Уникальное имя реквизита, по которому разработчик сможет получатьизменять значения, модифицировать элемент формы связанный с доп. реквизитом.
3. Тип значения:
- Строка – доступна настройка длины строки, настройки элемента ввода элемента (однострочноемногострочное поле ввода)
- Число – доступны настройки длины числа, точности, флажок неотрицательное, представления нуля и отрицательных чисел.
- Булево – Просто флажок.
- Дата – Есть возможность выбора формата даты, состава даты (дата, время, дата и время), а также представления пустой даты
- Составной тип данных – Пользователь сам выбирает тип данных при вводе.
- Дополнительные значения – При выборе данного типа значения задаются на вкладке «значения», рисунок 3.
- Пользователь – значение из справочника пользователи.
4. Настройки видимости, доступности и обязательности заполнения элемента формы.
Рисунок 3 – Окно создания дополнительного реквизита
Добавим дополнительные реквизиты для справочника Организации, рисунок 4, 5. Дополнительные реквизиты, в зависимости от структуры элемента формы, добавляются на закладку «Дополнительно» или в подраздел «Дополнительные реквизиты» в порядке создания реквизитов.
Рисунок 4 – Добавленные реквизиты
Рисунок 5 – Элементы формы дополнительных реквизитов
Теперь попробуем применить новые элементы справочника Организации на примере отчета «Универсальный отчет» и выведем их на экран. Как видно из рисунка 6, к новым реквизитам (у данных реквизитов после названия в скобках указан справочник, которому они принадлежат) можно обратиться «через точку».
Рисунок 6 – Использование новых реквизитов при настройке варианта отчета
Рисунок 7 – Вывод дополнительных реквизитов на экран с помощью «универсального отчета»
В итоге на рисунке 7 мы видим, что возможно добавление новой аналитики в отчет, не прибегая к помощи разработчиков используя механизм дополнительных реквизитов.
Нужна помощь с 1С?
Мы можем взять на себя ваш бухгалтерский учет. Вам не нужно будет думать о расчете налогов и сдаче отчетности. Мы будем вести финансовую ответственность за ошибки. Мы — команда профессионалов, а не один бухгалтер, мы не заболеем, не пропадем и не уйдем внезапно в отпуск. Сосредоточьтесь на управлении. А учет и отчетность мы возьмем на себя. Чтобы получить бесплатную консультацию по автоматизации своего бизнеса Вы можете пообщаться с нашими специалистами в офисе компании или позвонив по телефону: 8-800-707-01-02.
Сопровождение 1С
Наш специалист
Специалист отдела разработки
Чем мы можем быть вам полезны?
-
Добрый день!
Имеется УНФ 1С:Предприятие 8.3 (8.3.15.1489), необходимо создать печатную форму для документа «Заказ на производство», причем в документ добавлен дополнительный реквизит с наименованием «Места выдачи». Проблема в том, что
не могу получить значение дополнительного реквизита. Делаю так:ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Места выдачи»);
Значение = СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДопСвойство);
ОбластьШапки.Параметры.МестаВыдачи = Значение;В результате получаю пустое поле (ошибок не выдается). Что здесь не так?
-
Offline
1cUserAndrew
Профессионал в 1С
Команда форума- Регистрация:
- 27 май 2010
- Сообщения:
- 5.153
- Симпатии:
- 217
- Баллы:
- 104
Попробуйте так:
Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
-
Большое спасибо! Сработало!
-
Столкнулся с неожиданной проблемой:
Имеется три дополнительных реквизита, все три пытаюсь выводить так:ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Дополнительный реквизит1»);
Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
ОбластьШапки.Параметры.ТипКлиента = Значение;В результате Дополнительный реквизит1 и Дополнительный реквизит2 выводятся нормально, а вместо значения Дополнительный реквизит3 — пустое поле. Что может быть не так с третьим реквизитом? Может быть дело в том, что первые два реквизита относятся к документу, для которого делается печатная форма, а третий к справочнику Контрагенты?
-
Offline
1cUserAndrew
Профессионал в 1С
Команда форума- Регистрация:
- 27 май 2010
- Сообщения:
- 5.153
- Симпатии:
- 217
- Баллы:
- 104
Ну да, в параметр СсылкаНаОбъект нужно передавать владельца доп.свойства.
В третьем случае, получается, что нужно передавать не документ, а контрагента. -
Не совсем понял: из документа «Заказы на производство» единственный путь добраться до справочника Контрагенты через поле «Заказ покупателя», т.е. так СсылкаНаОбъект.ЗаказПокупателя.Контрагент, пробовал так:
Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект.ЗаказПокупателя.Контрагент, ДопСвойство);
— безрезультатно.
-
Offline
1cUserAndrew
Профессионал в 1С
Команда форума- Регистрация:
- 27 май 2010
- Сообщения:
- 5.153
- Симпатии:
- 217
- Баллы:
- 104
Точнее, к сожалению, не могу сказать. Нужно разбираться с конкретным случаем.
В общем случае, судя по описанию, вроде, все верно. -
Помогла статья http://1c-bezproblem.ru/blog/v-pomo…polnitelnye-rekvizity-v-1c-8-3-na-primere-unf . Работоспособным оказался следующий код:
ЗакКонтрагент = СсылкаНаОбъект.ЗаказПокупателя.Контрагент;
…ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Тип клиента (Контрагенты)»);
Значение = ЗакКонтрагент.ДополнительныеРеквизиты.Найти(ДопСвойство).Значение;