Получить форму существующего документа на клиенте (УФ)
ПолучитьФорму(«Документ.НазваниеДокумента.Форма.ФормаДокумента», Новый Структура(«Ключ», СсылкаНаДокумент));
Читать далееПолучитьФорму(«Документ.НазваниеДокумента.Форма.ФормаДокумента», Новый Структура(«Ключ», СсылкаНаДокумент));
Читать далееДля клиент-серверного варианта работы 1С, когда сервер 1С расположен на отдельном компьютере, если необходимо сохранить/открыть файл на сервере, к примеру *.xlsx открыть средствами Excel через COM/OLE:
1 2 3 4 5 6 7 8 |
&НаКлиенте Процедура ПрочитатьФайл(Команда) Файл = Новый ДвоичныеДанные(ИмяФайла); Адрес = ПоместитьВоВременноеХранилище(Файл, ЭтаФорма.УникальныйИдентификатор); ОбработатьНаСервере(Адрес); КонецПроцедуры |
Читать далее
Открываем форму нового элемента справочника «ВидыИсходящихДокументов» с параметрами для заполнения ряда реквизитов Также передаем в седьмом параметре описание оповещения с обработчиком, вызываемым при закрытии формы созданного договора:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
&НаКлиенте Процедура СоздатьДоговорЗаказчика(Команда) тПараметр = Новый Структура; ТекДок = Новый ОписаниеОповещения("ВыполнитьПослеЗаписиДоговора", ЭтотОбъект, тПараметр); СтруктураНачУстановок = Новый Структура; СтруктураНачУстановок.Вставить("Проект", Объект.Ссылка); СтруктураНачУстановок.Вставить("Получатель", Объект.Заказчик); СтруктураНачУстановок.Вставить("ВидДокумента", ПредопределенноеЗначение("Справочник.ВидыИсходящихДокументов.Договор")); ОткрытьФорму("Справочник.ИсходящиеДокументы.ФормаОбъекта", СтруктураНачУстановок, ЭтаФорма,,,,ТекДок); КонецПроцедуры |
Обработчик, вызываемый при закрытии созданного договора:
Читать далееКак программно сгруппировать по реквизиту динамический список:
1 2 3 4 5 6 |
&НаКлиенте Процедура СгруппироватьПоТипу(Команда) ГруппировкаСписка = Список.Группировка.Элементы; ЭлементГруппировки = ГруппировкаСписка.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ЭлементГруппировки.Поле = Новый ПолеКомпоновкиДанных("ТипНоменклатуры"); КонецПроцедуры |
Как программно изменить оформление по условию в динамическом списке:
Читать далееМодуль управляемого приложения Предназначен в основном для того чтобы поймать момент запуска приложения и момент завершения работы. Здесь же находятся обработчики, которые позволяют перехватить внешнее событие от оборудования. В модуле управляемого приложения отслеживается именно интерактивный запуск системы. События модуля управляемого приложения срабатывают при запуске тонкого клиента, Веб-клиента и Толстого клиента управляемого приложения. В модуль упр. приложения можно попасть из палитры свойств корневого узла конфигурации или из контекстного меню вызванного на корневом узле конфигурации.
Читать далееОпределить место для хранения булева значения, например это может быть сохраняемый реквизит формы. Например реквизит имеет имя “НеИнформироватьПользователяОПустомСписке” Разместить код обработки реакции пользователя:
1 2 3 4 5 6 7 8 9 |
&НаКлиенте Процедура ОбработкаРеакцииПользователя(Параметр1,Параметр2) Экспорт Если Неопределено=Параметр1 Тогда Возврат; КонецЕсли; Параметр1.Свойство("БольшеНеЗадаватьЭтотВопрос", НеИнформироватьПользователяОПустомСписке); КонецПроцедуры |
Добавляем реквизит объекта “ДанныеКартинки” тип ХранилищеЗначения Добавляем в реквизит формы реквизи “СсылкаНаКартинку”, типа неограниченная строка Переносим его на форму и меняем вид на “Поле картинки”, свойство “РазмерКартинки”=АвтоРазмер Добавляем команду “ВыбратьИзображение”, переносим на форму и прописываем код обработки команды. пример:
Читать далееЗадача. Например, на форме расположен реквизит «Услуга» с типом «СправочникСсылка.Номенклатура», значением которого по логике может быть только элемент номенклатуры, который является услугой. Соответственно, необходимо сделать так, чтобы при открытии формы выбора из данного поля ввода отображались только те позиции номенклатуры, у которых установлен флаг «Услуга» в значение Истина. Решение.
Читать далее
1 2 3 4 |
&НаКлиенте Процедура СоздатьКнопку(Команда) СоздатьКнопкуНаСервере(); КонецПроцедуры |
Как оповестить одну форму при выполнении действий (событий) на другой управляемой форме. На управляемой форме где выполняется какое либо действие/событие (к примеру после записи) размещаем вызов «оповестить»
1 |
Оповестить("НаименованиеСобытия"); |
На управляемой форме которая должна среагировать на оповещение вставляем обработчик события «ОбработкаОповещения»
Читать далее
1 2 3 4 |
&НаКлиенте Процедура ИмяПроцедуры() ПредопределенноеЗначение("Перечисление.ВидыДС.НаличныйРасчетКасса") КонецПроцедуры |
1 2 3 4 5 |
СписокВидовДС = Новый Массив(); СписокВидовДС.Добавить(ПредопределенноеЗначение("Перечисление.ВидыДС.Наличные")); СписокВидовДС.Добавить(ПредопределенноеЗначение("Перечисление.ВидыДС.Безналичные")); Элементы.ВидКонтрагента.СписокВыбора.ЗагрузитьЗначения(СписокВидовДС); |
На форму кидаем реквизит для выбора значения отбора
Читать далее
1 |
Если ТипЗнч(ТекОбъект) = Тип("СправочникСсылка.Номенклатура") Тогда |