Внешняя печатная форма М4 для документа Авансовый отчет (Конфигурация 1С: Бухгалтерия 8, ред. 2).
Нашел интересный момент — в конфигурации БП 2.0 (смотрел текущий релиз 2.0.26.8) в стандартном макете М4 (который используется в документе «Поступление товаров и услуг») в подвале печатной формы есть параметры «ДолжностьПоставщика» и «ДолжностьМОЛ», но в самом модуле вывода данной формы заполнение таких параметров непредусмотрено (наверное, так надо). И когда клиенты попросили во внешней печатной форме М4 для документа «Авансовый отчет» сделать вывод должностей пришлось обратиться к модулю печатной формы М2 документа «Доверенность» и любезно воспользоваться тамошним кодом. Так что теперь в обновленной печатной форме выводятся должности подотчетного лица и МОЛ склада, на который осуществляется поступление.
Правда, есть одно но… Для того, чтобы у вашего сотрудника выводилась должность в БП 2.0 по нему должна быть информация о принятии на работу. В нашем случае, вся зарплата ведется во внешней программе (1С:ЗУП) и данные по начислению загружаются сводно. Пришлось на время отключить параметр ведения зарплаты во внешней программе (Предприятие — Настройка параметров учета – Расчеты с персоналом, поставить значение «В этой программе») и принять на работу тех сотрудников, по которым делаются Авансовые отчеты. После этого все стало работать. Не забудьте вернуть параметр ведения зарплаты во внешней программе в исходное состояние.
Обновленная печатная форма стала также учитывать смену МОЛ на складах.
Все-таки решился — вынес на форму поставщика и его код — берется как поставщик из первой строки табличной части товары. Кому-то это будет полезно, кому-то не очень.
А теперь пришлось прописывать код для тех случаев, когда у пользователя могут быть не заполнены поля, связанные с поставщиками. Спасибо Art79 — помог с кодом.
Внешняя печатная форма М4 для документа Авансовый отчет (Конфигурация 1С: Бухгалтерия 8, ред. 2)
Перейти к публикации
Добрый день!
Очень не хватает этой формы. Скачала, все работает, но не заполняет, к сожалению, наименование поставщика и реквизиты сопрововодительного документа. Хотелось бы, чтоб заполнялось.
Добрый день!
К сожалению, в отличие от документа «Поступление товаров и услуг» в документе «Авансовый отчет» поставщиков и сопроводительных документов может быть несколько — они находятся в табличных частях. Какого из поставщиков и какой документ в таком случае брать? В случае одной строки такое возможно, а вот если строк несколько…
Мы в таких случаях вносили ФИО подотчетного лица со ссылкой на вансовый отчет. Поставщиков можно внести всех в одну строку. Очень надо скачать данную форму, но не хватает $m.
(1)(3) По многочисленным просьбам сделал возможным вывод на печатную форму Поставщика и его код, правда, берется он из первой строки табличной части товаров. Но может кому-нибудь пригодится.
Спасибо. Очень помогла ваша разработка.
(5)Большое пожалуйста!
Спасибо автору за его разработку — избавил меня от лишней работы перед отпуском.
… да ещё.Может кому пригодится.При первом же запуске внешней формы на печать из документа Авансового отчета у меня 1С выдало мне служебное сообщение «Индекс находится за границами массива», и как следствие процесс вывода «стопорился».В моём конкретном случае не был забит регистр сведений — Ответственные лица.РЕШЕНИЕ в регистре сведений обязательно должна быть забита строчка со структурным подразделением совпадающим со значением СКЛАД в документе авансового отчёта, с периодом не позже, чем дата в документе.
… внес ещё пару изменений в обработку чтобы не выдавало программных ошибок в 1С 8.2 Бухгалтерия ред 2
1. Когда табличная часть на закладке «Товары» пуста, то не откуда взять поставщика — сообщает, что-то вроде «…Индекс находится за границами массива…», тогда надо поправить код следующими строчками:
//в качестве поставщика возьмем первого — не совсем верно, но на безрыбье и рак …
Если ЗапросТовары.Количество()=0 Тогда // таблица может быть пустой
ПредставлениеКонтрагента = «»;
ОбластьМакетаЗаголовокДокумента.Параметры.ПоставщикНаименование = «»;
Иначе
ПредставлениеКонтрагента = ЗапросТовары[0].Поставщик;
//ПредставлениеКонтрагента = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ТекПоставщик, Шапка.ДатаДокумента), «ПолнНаименование,»);
ОбластьМакетаЗаголовокДокумента.Параметры.ПоставщикНаименование = СокрЛП(ПредставлениеКонтрагента.НаименованиеПолное);
// удаление ведущих нулей кода поставщика
ТекКодПоставщика = СокрЛП(ПредставлениеКонтрагента.Код);
КонецЕсли;
2. Это относится к предыдущему моему комментарию.Есть авансовые отчеты, где «бухи» не забили значение склад и вылетает в окно сообщений опять «Индекс находится за границами массива». Поэтому нужно поправить ещё несколько строчек:
РегОЛ = РегистрыСведений.ОтветственныеЛица.СрезПоследних(СсылкаНаОбъект.Дата,Отбор);
Если РегОЛ.Количество()=0 Тогда // таблица значений может быть пустой
ТекОЛ = «»;
Иначе
ТекОЛ = РегОЛ[0].ФизическоеЛицо;
КонецЕсли;
(9) Спасибо большое за комментарии! Внесу изменения и размещу обновленную форму в ближайшее время.
Просто так хочется, чтобы все было у пользователей идеально и не приходилось отслеживать подобные незаполненные случаи 🙂
Автору спасибо за обработку! Нам она очень пригодилась!!!
Все работает. Автору «+». Пригодилась.
спасибо большое,тоже спасли от лишней работы меня!
А я завела в базе поставщика «ТМЦ за наличный расчет» и в Приходном ордере указываю его. Это даже очень удобно для самопроверки. Сумма проводок 10-60 по поставщику ТМЦ… должна совпасть с суммой реестра документов по этому же поставщику. Увы, я бухгалтер. Приходится проверять всех и вся.
Спасибо автору!
Инфостарт опять спас от пары напрасно потерянных часов времени. 🙂
Огромное спасибо автору. ЗАмечательная обработка, которая спасла от лишних часов кодинга