18 нояб. 2018 г.

Только просмотр для элементов формы

Используя обычные формы не всегда возможно через Роли ограничить редактирование форм документа, поэтому, можно обойтись ниже вариантом

Процедура ДоступностьЭлементовФормы() Если Не РольДоступна("вх_МенеджерРядовый") Тогда Возврат; КонецЕсли; Для Каждого Элемент Из ЭлементыФормы Цикл Если Элемент.Имя = "ОсновныеДействияФормы" Или Элемент.Имя = "ДействияФормы" Тогда Продолжить; КонецЕсли; Если Элемент.Имя = "ОплатаПлатежнымиКартами" Тогда Для Каждого Колонка Из Элемент.Колонки Цикл Если Колонка.Имя = "ВидОплаты" Тогда Продолжить; КонецЕсли; Колонка.ТолькоПросмотр = Истина; КонецЦикла; Продолжить; КонецЕсли; Если ТипЗнч(Элемент) = Тип("ПолеВвода") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("КоманднаяПанель") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("Надпись") Тогда Элемент.Доступность = Ложь; ИначеЕсли ТипЗнч(Элемент) = Тип("ТабличноеПоле") Тогда Элемент.ТолькоПросмотр = Истина; ИначеЕсли ТипЗнч(Элемент) = Тип("Флажок") Тогда Элемент.Доступность = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры

Найти открытый документ

ТекущиеДанные = ЭлементыФормы.ПоступившиеЗаявки.ТекущиеДанные; Если ТекущиеДанные = Неопределено Тогда Предупреждение("Нет выбранной строки заказа"); Возврат; КонецЕсли; Заказ = ТекущиеДанные.ЗаявкаНаСервис; Товары = Заказ.Товары; ЗаказФормаДокумента = Заказ.ПолучитьФорму( , "ФормаДокумента"); Если ЗаказФормаДокумента.Открыта() Тогда Если Вопрос("Перед выполнением команды ранее открытый документ ""Заказ на сервис"" должен быть закрыт. Закрыть документ?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда Предупреждение("Документ ""Внутренний заказ"" не может быть создан при открытой форме документа владельца ""Заказ на сервис"""); Возврат; КонецЕсли; ЗаказФормаДокумента.Закрыть(); КонецЕсли;

Заблокировать ячейку табличной части

&НаКлиенте Процедура НаименованиеЯчейкиТаблицыЗначенийПриАктивизацииЯчейки(Элемент) Если Элементы.ТабличнаяЧасть.ТекущиеДанные.Формат = "ЗначениеЯчейкиТабличнойЧасти" Тогда Элементы.ТабличнаяЧасть.ПодчиненныеЭлементы.ФорматыВыгрузкиИерархия.ТолькоПросмотр = Истина; Иначе Элементы.ТабличнаяЧасть.ПодчиненныеЭлементы.ФорматыВыгрузкиИерархия.ТолькоПросмотр = Ложь; КонецЕсли; КонецПроцедуры

Отбор в ТаблицеЗначений через ПостроительЗапроса

Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаЗначений);
тОтбор = Построитель.Отбор.Добавить("КолонкаТЗ"); тОтбор.ВидСравнения = ВидСравнения.Равно; тОтбор.Значение = 1; тОтбор.Использование = Истина;
Построитель.Выполнить(); ТЗ_НЕХватаетНаФОП = Построитель.Результат.Выгрузить();

Несколько запросов в одном ADODB.Connection

Попытка #Область Подключение Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("driver=MySQL ODBC 5.1 Driver;database="+СокрЛП(DSN)+";server="+СокрЛП(ServerName)+";uid="+СокрЛП(UID)+";pwd="+СокрЛП(PWD)+";STMT=set character_set_results=cp1251;"); #КонецОбласти #Область Запрос Выборка = Connection.Execute("INSERT INTO orders |(id_user, status, first_name, last_name, phone, email, delivery, pay_method, address, comments, cost, price_delivery, name, liqpay_status, city, department, street, house, house_number, sale, city_np_code, department_np_code, promocod, bonus, is_no_call_me, is_gift, first_name_recipient, last_name_recipient, phone_recipient, created_at, updated_at) |VALUES |('429', 'new', 'Ivan', 'Ivanov', '0991234567', 'admin@admin.com', 'in_ukraine', 'nal_pay', 'Kiev, Ivanova 38', 'do 14:00', '228', '40', '', '0', 'Kiev', 'Отделение №3...', 'Ivanova', '38', '306', '0', 'Nova Poshta City Code Here', 'Nova Poshta Department Code Here', '', '96', '0', '1', 'Petr', 'Petrov', '0501234567', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());"); Выборка = Connection.Execute("SET @last_id = LAST_INSERT_ID();"); Выборка = Connection.Execute("INSERT INTO orders_product (id_order, id_product, count, price, params, sale) VALUES (@last_id, '113', '1', '350', '', '0');"); Выборка = Connection.Execute("SELECT @last_id;"); #КонецОбласти #Область ВыполнитьЗапрос Пока Выборка.EOF() = 0 Цикл LastID = Выборка.Fields("@last_id").Value; Выборка.MoveNext(); КонецЦикла; #КонецОбласти #Область ЗакрытьСоедениение Выборка.Close(); #КонецОбласти Исключение Сообщить(ОписаниеОшибки()); Возврат Неопределено; КонецПопытки;
 

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