Как обратиться к документу в 1с
Надо сделать печатную форму у документа который вводится на основании,но данные в печатной форме будут браться из документа,который является основанием
надо хранить ссылку на документ основание
См. «Счет-Фактура выданный»
1- как хранить ссылку?
(3) иметь реквизит, в который при создании документа на основании будет заноситься ссылка на документ-основание. уф.
(3) В реквизите.
Процедура ОбработкаЗаполнения(Основание)
Если ТипЗнч(Основание) = Тип(«ДокументСсылка.Расходная») Тогда
// Заполнение шапки
ДокОснование=Основание.Ссылка;
Покупатель = Основание.Контрагент;
Контакт=покупатель.КонтактноеЛицо;
КонтТелефон=покупатель.КонтТелефон;
КонецЕсли;
КонецПроцедуры
Для Каждого ТекСтрока из ДокОснование.Товар цикл
ТабОбл.Параметры.Товар=ДокОснование.Товар.номеклатура;
ТабОбл.Параметры.кол=ДокОснование.Товар.кол;
КонецЦикла;
Шаблон кода: Как в 1С обратиться к элементу формы
Для того чтобы обратиться к элементу формы из модуля объекта этой формы и передать значение в переменную:
Шаблон кода:
мМойДокумент = ЭтотОбъект.Ссылка.ПолучитьФорму(«ФормаДокумента»); // получаем форму документа
НашаПеременная = мМойДокумент.ЭлементыФормы.Дата.Значение; // передаем значение переменной
Для того чтобы обратиться к элементу формы из модуля формы документа:
Шаблон кода:
УПРАВЛЯЕМЫЕ ФОРМЫ
Для того чтобы обратиться к элементу формы из модуля формы документа:
Для того чтобы программно установить значение поля в табличной части документа в :
В данном случае при изменении поля ТекущаяДата происходит автозаполнение поля ОстатокОплаченыхДней.
Еще один пример — заполнение полей табличной части формы при начале редактирования:
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
ТекущаяДата = Формат (ТекущаяДата (), «ДФ=dd.MM.yyyy» );
Если НоваяСтрока И Не Копирование Тогда
Элемент.ТекущиеДанные.ТекущаяДата = ТекущаяДата;
Элемент.ТекущиеДанные.Комментарий = «наш комментарий»;
КонецЕсли;
КонецПроцедуры
Для того чтобы записать какие-то данные в поле управляемой формы нужно создать прямо на форме элемент (реквизит создавать не нужно), например, поле ввода и прописать для него, например, результат функции в модуле формы:
Процедура ПриОткрытии(Отказ)
Реквизит1 = ПодсчетИтогаКассы();
КонецПроцедуры
Как обратиться к реквизиту документа в форме документа?
Рассмотрим ситуацию, когда мы находимся в форме документа и нам нужно получить какой-либо его реквизит. Например, номер документа или значение реквизита Поставщик .
Данные объекта, которые отображаются в форме (в нашем случае данные документа), находятся всегда в основном реквизите формы. В подавляющем большинстве случаев этот реквизит имеет имя Объект . По крайней мере именно такое имя дает ему платформа, когда с помощью конструктора создает форму объекта. В нашем случае это именно так:
Основной реквизит формы содержит набор подчиненных реквизитов, соответствующих реквизитам прикладного объекта. Поэтому для того, чтобы обратиться, например, к поставщику, указанному в документе, нужно указать имя основного реквизита формы и через точку – имя подчиненного реквизита, хранящего ссылку на поставщика.
В нашем случае, для того чтобы получить ссылку на поставщика, нужно будет выполнить следующий код:
ПоставщикДокумента = Объект.Поставщик;
Обратиться к документу из модуля объекта

Не устроил ответ?
Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.
Реклама
Новые вакансии
- Вакансия «Прораммист/разработчи 1С» Екатеринбург от Денис Спеиалист
Вчера в 13:10 - Вакансия Стажер Аналитик от Elizavetashkr
17 ноября 2023 г. - Вакансия Стажер Программист 1С от Elizavetashkr
17 ноября 2023 г.
