XMLTsdMagazinVasilek/Catalogs/ПодключаемоеОборудование/Ext/ObjectModule.bsl

99 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
// Процедура производит инициализацию параметров устройства.
//
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ЭтоНовый() Тогда
Параметры = Новый ХранилищеЗначения(Новый Структура());
КонецЕсли;
КонецПроцедуры // ПередЗаписью()
// При записи
//
Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
// Процедура производит очистку реквизитов, которые не должны копироваться.
// Следующие реквизиты очищаются при копировании:
// "Параметры" - параметры устройства сбрасываются в Неопределено;
// "Наименование" - устанавливается отличное от исходного наименования.
Процедура ПриКопировании(ОбъектКопирования)
УстройствоИспользуется = Истина;
Параметры = Неопределено;
Наименование = НСтр("ru='%Наименование% (копия)'");
Наименование = СтрЗаменить(Наименование, "%Наименование%", ОбъектКопирования.Наименование);
КонецПроцедуры
// Процедура проверяет уникальность наименования элемента справочника
// для данного компьютера.
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если Не ПустаяСтрока(Наименование) Тогда
Запрос = Новый Запрос("
|ВЫБРАТЬ
| 1
|ИЗ
| Справочник.ПодключаемоеОборудование КАК ПодключаемоеОборудование
|ГДЕ
| ПодключаемоеОборудование.Наименование = &Наименование
| И ПодключаемоеОборудование.РабочееМесто = &РабочееМесто
| И ПодключаемоеОборудование.Ссылка <> &Ссылка
|");
Запрос.УстановитьПараметр("Наименование", Наименование);
Запрос.УстановитьПараметр("РабочееМесто", РабочееМесто);
Запрос.УстановитьПараметр("Ссылка" , Ссылка);
Если Не Запрос.Выполнить().Пустой() Тогда
ОбщегоНазначенияБПО.СообщитьПользователю(НСтр("ru='Укажите уникальное наименование.'"), ЭтотОбъект, , , Отказ);
КонецЕсли;
КонецЕсли;
Если ТипОборудования <> Перечисления.ТипыПодключаемогоОборудования.ККТ
И ТипОборудования <> Перечисления.ТипыПодключаемогоОборудования.ФискальныйРегистратор
И ТипОборудования <> Перечисления.ТипыПодключаемогоОборудования.ПринтерЧеков Тогда
ИндексЭлемента = ПроверяемыеРеквизиты.Найти("Организация");
Если ИндексЭлемента <> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(ИндексЭлемента);
КонецЕсли;
КонецЕсли;
Если ТипОборудования <> Перечисления.ТипыПодключаемогоОборудования.ККТ Тогда
ИндексЭлемента = ПроверяемыеРеквизиты.Найти("СпособФорматноЛогическогоКонтроля");
Если ИндексЭлемента <> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(ИндексЭлемента);
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ОбработкаПроверкиЗаполнения()
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ОбщегоНазначенияБПО.ИспользуетсяФорматноЛогическийКонтроль() Тогда
Если НЕ ЗначениеЗаполнено(СпособФорматноЛогическогоКонтроля) Тогда
СпособФорматноЛогическогоКонтроля = Перечисления.СпособыФорматноЛогическогоКонтроля.РазделятьСтроки;
ДопустимоеРасхождениеФорматноЛогическогоКонтроля = 0.01;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли