Программирование в 1СПятница, 22.11.2024, 06:52

| RSS
Главная | Каталог статей
Меню сайта

Категории раздела
Основы [36]
Общие вопросы по 1С 7.7 [88]
1С: Бухгалтерия 7.7 [7]
1С: Торговля 7.7 [4]
1С:Зарплата и кадры 7.7 [1]
1С 7.7: Проблемы и решения [33]
УРБД [3]
Управление Распределенными Базами Данных
OLE [2]
Механизм обмена данными между базами 1С через OLE
SQL [1]
Сервер терминалов [1]
Интеграция с внешними приложениями [3]
FAQ по 1С v.7.7 [7]
FAQ по 1С v.7.7

Поиск

Поиск по сайту

Главная » Статьи » 1С v.7.7 » Общие вопросы по 1С 7.7

Как при записи периодического реквизита установить значение документа, изменившего реквизит?
Как при записи периодического реквизита установить значение документа, изменившего реквизит?
 
При нажатии кнопки «История» выводится таблица периодических реквизитов справочника. В ней имеется колонка, в которой указывается значение документа, изменившего реквизит. Как при записи периодического реквизита установить значение этого документа программно?

Используйте метод:
УстановитьРеквизитСправочника(,,,,,,);

Синтаксис:
УстановитьРеквизитСправочника(<ЭлементСправочника>, <НазваниеРеквизита>, <Значение>, <ДатаУстановки>, <ИмяТипа>, <Длина>, <Точность>)

Назначение:
Записать значение периодического реквизита справочника с привязкой к проведению документа.

Параметры:
– элемент справочника, в который будет запись;
– название периодического реквизита справочника;
– новое значение периодического реквизита;
– дата установки нового значения периодического реквизита. Дата установки имеет смысл только для не оперативных документов.
– необязательный параметр. Строковое выражение – название типа данных (или Вид субконто);
– необязательный параметр. Число – длина числового или строкового значения; – необязательный параметр. Число знаков после десятичной точки.

    У реквизита справочника, который будете устанавливать документом должен быть поднят флаг “Изменяется Документами”.

Пример:
Процедура ЗаписатьПоставщика()
СпрПост=СоздатьОбъект(«Справочник.Поставщики»);
СпрПост.ИспользоватьВладельца(Товар);
Если СпрПост.НайтиПоРеквизиту(«Поставщик»,Контрагент,0)=1 Тогда
   СпрПост.КодПоставщика = КодПоставщика
   СпрПост.Записать(); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"Цена",ЦенаБезНДС); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"Валюта",Валюта); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"ДатаПоследнейПоставки",ДатаДок);
Иначе 
   СпрПост.Новый(); 
   СпрПост.Наименование = Контрагент.Наименование
   СпрПост.Поставщик = Контрагент
   СпрПост.КодПоставщика = КодПоставщика
   СпрПост.Записать(); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"Цена",ЦенаБезНДС); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"Валюта",Валюта); 
   УстановитьРеквизитСправочника(СпрПост.ТекущийЭлемент(),"ДатаПоследнейПоставки",ДатаДок);
КонецЕсли;
СпрПост=0;
КонецПроцедуры

Процедура ОбработкаПроведения()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл 
   ЗаписатьПоставщика();
КонецЦикла;
КонецПроцедуры
Категория: Общие вопросы по 1С 7.7 | Добавил: Spacer (08.08.2008)
Просмотров: 11269 | Теги: Периодический реквизит
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Copyright 1C:Programmer © 2024
    Бесплатный конструктор сайтов - uCoz