Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 12:20

Как в 1С 8.2 при проведении документа заполнить элемент справочника информацией из документа?

Автор Галина55555, 01 июл 2014, 10:11

0 Пользователей и 1 гость просматривают эту тему.

Галина55555

В конфигурации создан документ "Регистрация договоров". В нем задаются контрагент, номер и дата регистрации договора, вид договора (договор подряда, договор покупки и т.д.), валюта договора, информация о форме оплаты, сумма договора.
Необходимо, чтобы при его проведении выполнялось следующее:
1)   В справочнике Договора создавался новый элемент, владельцем которого является контрагент,
2)   В справочник записались номер и дата регистрации, вид договора, валюта договора, ссылка на документ, создавший эту запись в    справочнике.
3)   В документ записалась ссылка на этот элемент справочника.
4)   Если в дальнейшем будут внесены корректировки в документ, необходимо, чтобы соответствующие изменения были сделаны и в элементе справочника.

Галина55555

Всем спасибо. Сама себе ответила. Может это будет кому-то полезно

Процедура ПередЗаписью(Отказ)
   // Вставить содержимое обработчика.
   Если СсылкаНаДоговор.Пустая()= Истина Тогда
      ТекСпрДоговор=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
      ТекСпрДоговор.Владелец=Контрагент;
      ТекСпрДоговор.Дата=Дата;
      ТекСпрДоговор.Номер=Номер;
      ТекСпрДоговор.Наименование=""+ВидДоговораОрганизации.Наименование+" № "+Номер+" от "+Дата;
      ТекСпрДоговор.ВалютаВзаиморасчетов=ВалютаВзаиморасчетов;
      ТекСпрДоговор.ВидУсловийДоговора=Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий;
      ТекСпрДоговор.ВидДоговора=ВидДоговораОрганизации.ВидДоговора;
      ТекСпрДоговор.СсылкаНаДокументРегистрацияДоговораОрганизации=Ссылка;
      ТекСпрДоговор.Записать();
      СсылкаНаДоговор=ТекСпрДоговор.Ссылка;
   Иначе
      
      ТекСпрДоговор = СсылкаНаДоговор.ПолучитьОбъект();
      Если ТекСпрДоговор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
          Сообщить(" еще нет");
      Иначе
         ТекСпрДоговор.Владелец=Контрагент;
         ТекСпрДоговор.Дата=Дата;
         ТекСпрДоговор.Номер=Номер;
         ТекСпрДоговор.Наименование=""+ВидДоговораОрганизации.Наименование+" № "+Номер+" от "+Дата;
         ТекСпрДоговор.ВалютаВзаиморасчетов=ВалютаВзаиморасчетов;
         ТекСпрДоговор.ВидУсловийДоговора=Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий;
         ТекСпрДоговор.ВидДоговора=ВидДоговораОрганизации.ВидДоговора;
         ТекСпрДоговор.СсылкаНаДокументРегистрацияДоговораОрганизации=Ссылка;
         ТекСпрДоговор.Записать();
      КонецЕсли;

   КонецЕсли;   

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

Теги:
Рейтинг@Mail.ru

Поиск