Справочные материалы по 1С
Работа с формами в 1С 8.x
Как открыть форму документа?
ФормаДокумента = СсылкаНаДокумент.ПолучитьФорму();
ФормаДокумента.Открыть();
Как открыть форму внешней обработки?
Обработка = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Обработка.Открыть();
Обработка = ВнешниеОбработки.ПолучитьФорму("C:\Внешние\СпецОтчет.epf", ИмяФормы, , Ключ);
Обработка.Открыть();
Как отрыть форму отчета так, чтобы она не перекрывала собой ту форму, из которой она открыта?
Форма = Отчеты.ОтчетДиаграмма.ПолучитьФорму("ФормаОсновная", ЭтаФорма);
Форма.ПоложениеОкна = ВариантПоложенияОкна.НеПерекрыватьВладельца;
Форма.Открыть();
Как открыть форму отчета на весь экран?
СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
ИзмененятьСпособОтображенияОкна = ИзменениеСпособаОтображенияОкна.Запретить;
Как из формы документа открыть форму списка данного документа, спозиционировавшись на нем же?
ФормаСписка = Документы[Метаданные().Имя].ПолучитьФормуСписка();
ФормаСписка.ПараметрТекущаяСтрока = Ссылка;
ФормаСписка.Открыть();
ФормаСписка = Документы[Метаданные().Имя].ПолучитьФормуСписка( , , Новый УникальныйИдентификатор());
В документе есть реквизит "Контрагент". Как открыть форму подчиненного ему справочника "ДоговорыКонтрагентов"?
Если Не Контрагент.Пустая() Тогда
ФормаПодчиненныхДоговоров = Справочники.ДоговорыКонтрагентов.ПолучитьФормуСписка();
ФормаПодчиненныхДоговоров.ПараметрОтборПоВладельцу = Контрагент;
ФормаПодчиненныхДоговоров.Открыть();
КонецЕсли;
Как в форме отобразить картинку, сохраненную в реквизите справочника?
// Значение, сохраненное в реквизите справочника, имеющем тип
// ХранилищеЗначения, можно только получить.
СохраненнаяКартинка = Фотография.Получить();
Если СохраненнаяКартинка <> Неопределено Тогда
// Если в хранилище было что-нибудь заранее записано…
ЭлементыФормы.Фото.Картинка = СохраненнаяКартинка;
КонецЕсли;
Как в журнале документов "УчетКадров" отобрать только документы "ПриемНаРаботу"?
ЖурналДокументовСписок.Отбор.ВидДокумента.Установить(Метаданные.Документы.ПриемНаРаботу);
Как узнать интервал дат в открытом текущем журнале?
Если ЖурналДокументовСписок.Отбор.Дата.Использование Тогда
Сообщить(ЖурналДокументовСписок.Отбор.Дата);
Иначе
Сообщить("Без ограничения по датам");
КонецЕсли;
Как при открытии справочника сделать отбор по контрагентам, входящим в список?
Процедура ПриОткрытии()
СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
СправочникСписок.Отбор.Ссылка.Значение = СписокКонтрагентов;
СправочникСписок.Отбор.Ссылка.Использование = Истина;
КонецПроцедуры
Как обеспечить, чтобы для выбора значения покупателя в расходной накладной справочник контрагенты открывался сразу с открытой группой "Покупатели"?
Процедура КонтрагентНачалоВыбора(Элемент, СтандартнаяОбработка)
Если Элемент.Значение.Пустая() Тогда
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора( , Элемент);
ФормаВыбора.ВыборПокупателя = Истина;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
Если ВыборПокупателя Тогда
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина;
ЭлементыФормы.СправочникСписок.ТекущийРодитель = Константы.ГруппаПокупатели.Получить();
КонецЕсли;
Если ВыборПокупателя Тогда
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина;
ЭлементыФормы.СправочникСписок.ТекущийРодитель = Справочники.Контрагенты.Покупатели;
КонецЕсли;
Как в форме обеспечить выбор реквизита, подчиненного Владельцу?
// При начале выбора реквизита Помещение вызывается процедура:
Процедура ПомещениеНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.ПереченьПомещенийОбъекта.ПолучитьФормуВыбора( , Элемент);
ФормаВыбора.СправочникСписок.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно;
ФормаВыбора.СправочникСписок.Отбор.Владелец.Использование = Истина;
ФормаВыбора.СправочникСписок.Отбор.Владелец.Значение = Владелец;
Помещение = ФормаВыбора.ОткрытьМодально();
Если Помещение <> неопределено Тогда
ЭлементыФормы.Помещения.ТекущаяСтрока.Помещение = Помещение;
КонецЕсли;
КонецПроцедуры
Как не открывая форму внешней обработки выполнить ее процедуру для определенного объекта?
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Обработка.Печать(Ссылка);
Как вывести многострочное предупреждение?
Предупреждение("На складе: " + Остаток + Символы.ПС + "В резерве : " +
Зарезервировано + Символы.ПС + "Свободный остаток: " +
(Остаток - Зарезервировано), 20, "Состояние остатков");
Как задать вопрос пользователю?
Если Товары.Количество() > 0 Тогда
Ответ = Вопрос("Табличная часть будет очищена! Продолжить?",
РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да, "Внимание!");
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Товары.Очистить();