29 авг. 2018 г.

Получить предыдущее значения реквизита

Перем ПредыдущееЗначениеОрганизации; // значение реквизита "Организация" до записи объекта в базу Процедура ПередЗаписью(Отказ) ПредыдущееЗначениеОрганизации = ...; // с помощью запроса выясняем значение до записи объекта в базу КонецПроцедуры Процедура ПриЗаписи(Отказ) Если ПредыдущееЗначениеРеквизита <> Организация Тогда // отрабатываем изменение значения реквизита при записи ... КонецЕсли; КонецПроцедуры

Перебрать \ получить значения реквизитов формы

МассивРеквизитов = ПолучитьРеквизиты(); СтруктураРеквизитов = Новый Структура; Для Каждого Эл Из МассивРеквизитов Цикл СтруктураРеквизитов.Вставить(Эл.Имя, ЭтаФорма[Эл.Имя]); КонецЦикла;

Найти и удалить Windows (универсальные) приложения

How To Find Removable AppxPackages

######### Create Variables ################ $appxpackages = Get-AppxPackage -AllUsers | % {if($_.SignatureKind -eq “store”){$_.name}} $output = “$env:USERPROFILE\desktop\appxpackages.txt” ######### Get All AppxPackges That Are Removable ################ foreach ($app in $appxpackages){ ######### Get The Location Of The AppxPackage ################ foreach ($location in (Get-AppxPackage -name $app).InstallLocation){ ######### Get The Executable Files Of The AppxPackage ################ $exes = Get-Childitem $location *.exe -Recurse ######### Get Each Individual Executable File Of The AppxPackage ################ foreach ($exe in $exes){ ######### Get The Name Executable File Of The AppxPackage ################ $name = ($exe).name ######### Verify Accesabiliy To The Executable File Of The AppxPackage ################ $testpath = Test-Path “$location\$name“ if ($testpath -eq $true){ foreach ($n in $name) { ######### Get The Application Name Of The Executable File Of The AppxPackage ################ $appname = (Get-Item “$location\$name“).versioninfo.productname if ($appname -ne $null){ ######### Output The Application Name And AppxPackage Name To The User’s Desktop ################ if ($appname -ne “”){ “Application Name: $appname“| Out-File $output -NoClobber -Append “AppxPackage Name: $app” | Out-File $output -NoClobber -Append “———————————-| Out-File $output -NoClobber -Append } } } } } } }

Оригинал

Открыть форму выбора с отбором 1С

&НаКлиенте Процедура СтрокиТаблицыНаФормеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ЗначениеОтбора = Новый Структура("ТипНоменклатуры", ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Материалы")); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаВыбора", ПараметрыВыбора, Элемент); КонецПроцедуры

Установить курсор на строке таблицы значений 1С

Что бы установить курсор на последней строке таблицы значений, пишем

Элементы.ТаблицаЗначений.ТекущаяСтрока = ЭтаФорма.ТаблицаЗначений.Получить(ТаблицаЗначений.Количество()-1).ПолучитьИдентификатор();

Элементы.ТаблицаЗначений.ТекущаяСтрока = Объект.ТаблицаЗначений.Получить(Объект.ТаблицаЗначений.Количество()-1).ПолучитьИдентификатор(); //установить актиувную строку

Перенести файл с клиента на сервер

Если при нажатии на клиенте кнопку нужно формировать файл на сервере, а потом результат формирования перенести назад на клиента тогда

&НаКлиенте Процедура СформироватьXLSX(Команда) //сохранение файла Если ПустаяСтрока(ПутьКФайлу) Тогда Режим = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытия.Каталог = ""; ДиалогОткрытия.МножественныйВыбор = Ложь; ДиалогОткрытия.Заголовок = "Выберите каталог"; Если ДиалогОткрытия.Выбрать() Тогда ПутьКФайлу = ДиалогОткрытия.Каталог + "\"; Иначе Предупреждение("Каталог не выбран!"); Возврат; КонецЕсли; КонецЕсли; ИмяФайлаНаДиске = ПутьКФайлу+ИмяФайла+".xlsx"; //сохранение файла //формирование прайса МассивПрайсовДД = СформироватьXLSXСКлиента(ИмяФайлаНаДиске ); //формирование прайса Если МассивПрайсовДД = Неопределено Тогда Возврат; КонецЕсли; //перенос файла на клиент ПереместитьПрайсы(МассивПрайсовДД, ИмяФайлаНаДиске); //перенос файла на клиент КонецПроцедуры &НаКлиенте Процедура ПереместитьПрайсы(МассивПрайсовДД, ИмяФайлаНаДиске) // Создаем описание получаемых файлов. ОписанияФайлов = Новый Массив; Для Каждого ПрайсДД Из МассивПрайсовДД Цикл ОписаниеФайла = Новый ОписаниеПередаваемогоФайла(ПолучитьИмяВременногоФайла(), ПрайсДД); ОписанияФайлов.Добавить(ОписаниеФайла); КонецЦикла; // Сохраняем файлы из временного хранилища в локальную файловую систему. ПолученныеФайлы = Новый Массив; ПолучитьФайлы(ОписанияФайлов, ПолученныеФайлы, , Ложь); // Открываем файлы. Для Каждого ПолученныйФайлы Из ПолученныеФайлы Цикл дд = Новый ДвоичныеДанные(ПолученныйФайлы.Имя); дд.Записать(ИмяФайлаНаДиске); //Предупреждение("Файл сохранен "+ ИмяФайлаНаДиске); ЗапуститьПриложение(ИмяФайлаНаДиске); КонецЦикла; КонецПроцедуры Функция СформироватьXLSXСКлиента(ИмяФайлаНаДиске) //сохранение прайса на сервере дд = Новый ДвоичныеДанные(ИмяФайлаНаДиске); //C:\\1.xls АдресаВоВременномХранилище = Новый Массив; АдресаВоВременномХранилище.Добавить(ПоместитьВоВременноеХранилище(дд, ЭтаФорма.УникальныйИдентификатор)); Возврат АдресаВоВременномХранилище; //возврат адрес прайса на сервере КонецФункции
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07