Вывод старого юридического адреса организации при печати документов задним числом для 1С: УПП

15.05.12

Задачи пользователя - Адаптация типовых решений

Иногда возникает необходимость с определенной даты во всех печатных формах выводить новые реквизиты организации. Сделать это элементарно, просто меняем реквизиты организации в справочнике. Но что делать, когда бухгалтерия настаивает, чтобы до определенной даты печатные формы ВСЕХ ПЕРВИЧНЫХ ДОКУМЕНТОВ содержали старые реквизиты, а начиная с конкретной даты - новые?

Казалось бы, тривиальная проблема... В условиях российского бизнеса многие организации меняли свой юридический адрес, и не один раз. Но почему-то 1С в этой ситуации не предлагает никакого другого выхода, кроме как создание внешних печатных форм со старым адресом для печати документов задним числом. Это неудобно как минимум по 2 причинам:

1. Первичных документов много, для каждого делать отдельную печатную форму очень лениво.

2. Есть потенциальная вероятность того, что какие-либо реквизиты метаданных документа поменяются с выходом очередного релиза,  и тогда придется переделывать в том числе и созданные внешние печатные формы, опять таки это не по фэн-шую.

Как бы сделать по-удобнее?

Решение достаточно простое. Знаете наверно про регистр сведений "Ответственные лица организации". Правильно, он периодический и с ним никаких проблем не возникает, с определенной даты можно в печатные формы выводить нужное ответственное лицо. Так что помешало 1С сделать то же самое, например, для регистра "Контактная информация", содержащего в частности юридический адрес организации? Но не сделали.... видимо, посчитали, что это достаточно редкая ситуация, чтобы ее автоматизировать.

У меня такая ситуация возникла, бухгалтерия поставила задачу сделать так, чтобы до определенной даты все документы печатались со старым юридическим адресом, а после этой даты - с новым. Делать внешние печатные формы ко всем документам мне было лень, в итоге, что я сделал:

в Общем модуле УправлениеКонтактнойИнформацией внутри функции СведенияОЮрФизЛице() перед строкой

Возврат Сведения;

добавил строку

Сведения = МойДополнительныйМодуль.СведенияОЮрФизЛицеДополненные(Сведения, ЮрФизЛицо, ДатаПериода);

 

Внутри добавленного в конфигурацию общего модуля МойДополнительныйМодуль прописал следующую функцию: 

// Функция используется для замены в печатных формах юридического адреса нашей организации 
// на старый юридический адрес для документов, распечатываемых задним числом до 10 мая 2012 года

Функция СведенияОЮрФизЛицеДополненные(Сведения, ЮрФизЛицо, ДатаПериода) Экспорт
 
 Если ДатаПериода >= Дата(2012, 05, 10) Тогда
     // печатаем актуальные на текущий момент сведения
     Возврат Сведения;
 КонецЕсли;
 
  // если это более ранний документ, тогда заменяем юридический адрес организации
 Если ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Организации") Тогда
     ЮридическийАдресДляЗамены = Неопределено;
     Если Сведения.Свойство("ЮридическийАдрес", ЮридическийАдресДляЗамены) Тогда
          Сведения.Вставить("ЮридическийАдрес", "Тут пишем строку со старым юридическим адресом организации");
     КонецЕсли;
 КонецЕсли;
 
 Возврат Сведения;
 
КонецФункции

Вот собственно и вся хитрость. Можно сделать универсальнее: ввести свой периодический регистр сведений для хранения контактной информации и забить старый адрес туда, соответствующим образом переделав и указанную выше функцию. Но мне кажется, чем проще и быстрее можно выполнить какую-то задачу, тем лучше, т.к. можно переключиться на решение других более интересных и актуальных задач.

См. также

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4179    15    1    

33

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6009    14    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6724    73    10    

30

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

21.05.2024    20301    dimanich70    81    

145

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    4104    3    John_d    11    

57
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikhailv 20 16.05.12 11:45 Сейчас в теме
Вцелом, хоть что-то. Но не хватает универсальности: изменяться может не только юр.адрес, но и другие адреса, телефоны, наименование наконец. И как у организации, так и у контрагентов.
Можно, например, так еще сделать. Перед изменением делать "архивную копию" организации: копируем элемент справочника и в наименовании пишем "до дд.мм.гггг". Добавляем РСВ периодический. Измерение "Организация", ресурс "организация для печати". Соотв., после изменения реквизитов регистр будет выглядеть так:

01.01.0001 "Рога и копыта" "РиК до 01.05.2012"
01.05.2012 "Рога и копыта" "Рога и копыта"

Соответственно, в общем модуле не вручную будем дописывать каждый раз, а один раз подмену организуем:) Типа

Функция СведенияОЮрФизЛице(ЮрФизЛицо, ДатаПериода, ДляФизЛицаТолькоИнициалы = Истина, БанковскийСчет = Неопределено) Экспорт

	Сведения = Новый Структура("Представление, ПолноеНаименование, КодПоОКПО, ИНН, КПП, Телефоны, ЮридическийАдрес, Банк, БИК, КоррСчет, НомерСчета, АдресБанка");
	Запрос   = Новый Запрос;
	Данные   = Неопределено;

	Если НЕ ЗначениеЗаполнено(ЮрФизЛицо) Тогда
		Возврат Сведения;
	ИначеЕсли ТипЗнч(ЮрФизЛицо) = Тип("Строка") Тогда
		Сведения.Вставить("Представление",      ЮрФизЛицо);
		Сведения.Вставить("полноеНаименование", ЮрФизЛицо);
		Возврат Сведения;
	КонецЕсли;

	Если БанковскийСчет = Неопределено ИЛИ БанковскийСчет.Пустая() Тогда
		ТекБанковскийСчет = ЮрФизЛицо.ОсновнойБанковскийСчет;
	Иначе
		ТекБанковскийСчет = БанковскийСчет;
	КонецЕсли;
	//new+
	Срез = РегистрыСведений.СтарыеЗначенияРеквизитов.ПолучитьПоследнее(ДатаПериода, Новый Структура("ЮрФизЛицо", ЮрФизЛицо));
 
	Если Не Срез.ЮрФизЛицоДляПечати.ПустаяСсылка() Тогда
		ЮрФизЛицо = Срез.ЮрФизЛицоДляПечати;
	КонецЕсли;
	//new-
	// Выберем основные сведения о контрагенте и банковском счете
	Если ТекБанковскийСчет.БанкДляРасчетов.Пустая() Тогда
		ИмяРеквизитаБанка = "Банк";
	Иначе
		ИмяРеквизитаБанка = "БанкДляРасчетов";
	КонецЕсли;

...
Показать


Универсально: для организации и для контрагентов
2. w22u 30 12.08.12 23:09 Сейчас в теме
(1) Miffka, Теперь понятно, из - за какой организации, налоговая начала требовать краткое и полное название в сф )))
3. Linda1C 19.02.14 11:12 Сейчас в теме
Спасибо! Полезная статья!)
Оставьте свое сообщение