Найдено публикаций: 15
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
Если ВыбраннаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
ОткрытьЗначение(ВыбраннаяСтрока[Колонка.Имя]);
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки.Отгружен.ЦветФона = ?(ДанныеСтроки.Отгружен, WebЦвета.СветлоРозовый, WebЦвета.БледноБирюзовый);
КонецПроцедуры
Субконто.PredefinedDataName
Функция МенеджерСсылкиПоМенеджеруМД(МенеджерМД)
Результат = Неопределено;
ПозицияТочки = Найти(МенеджерМД, ".");
Результат = Лев(МенеджерМД, ПозицияТочки - 2) + "Ссылка" + Сред(МенеджерМД, ПозицияТочки);
Возврат Результат;
КонецФункции
&НаСервере
Процедура МенеджерОбъектаСтрокойПриИзмененииНаСервере()
МенеджерСсылка = МенеджерСсылкиПоМенеджеруМД(Объект.МенеджерОбъектовСтрокой);
Элементы.Ссылка.ОграничениеТипа = Новый ОписаниеТипов(МенеджерСсылка);
КонецПроцедуры
Функция СчетБазы(База,КодСчета,Предопределенный = Истина)
Если Предопределенный Тогда
Результат = База.ПланыСчетов.Хозрасчетный[КодСчета];
Иначе
Результат = База.ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета);
КонецЕсли;
Возврат Результат;
КонецФункции
Функция СубконтоБазы(База,ИмяСубконто,Предопределено = Истина,ИмяПВХСубконто = "ВидыСубконтоХозрасчетные")
Если Предопределено = Истина Тогда
Результат = База.ПланыВидовХарактеристик[ИмяПВХСубконто][ИмяСубконто];
Иначе
Результат = База.ПланыВидовХарактеристик[ИмяПВХСубконто].НайтиПоНаименованию(ИмяСубконто);
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура УстановитьСубконтоБазы(База,Счет, Субконто, ИмяСубконто, ЗначениеСубконто)
База.БухгалтерскийУчет.УстановитьСубконто(Счет, Субконто, ИмяСубконто, ЗначениеСубконто);
КонецПроцедуры
РаботаВБезопасномРежимеКлиент.ОткрытьДиалогНастройкиИспользованияПрофилейБезопасности();
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ИмяПоля = Сред(Поле.Имя,СтрДлина(Элемент.Имя) + 1);
ПоказатьЗначение(Новый ОписаниеОповещения, Элемент.ТекущиеДанные[ИмяПоля]);
КонецПроцедуры
ПутьКФорме = "ПланОбмена.ИмяПланаОбмена.Форма.ФормаВыгрузкиНоменклатуры";
ОткрываемаяФорма = ПолучитьФорму(ПутьКФорме,,,ПутьКФорме);
Если ОткрываемаяФорма.Открыта() Тогда
ОткрываемаяФорма.Активизировать();
Иначе
ОткрываемаяФорма.Открыть();
КонецЕсли;
```
/*******************************************************
Отключение (DETACH) баз MS SQL с отбором по вхождению в имя
*******************************************************/
DECLARE @SQL VARCHAR(max) = ''
DECLARE @StrNewLine CHAR
SET @StrNewLine = CHAR(10) + CHAR(13)
SELECT
@SQL += 'alter database ['+ name + '] SET SINGLE_USER WITH ROLLBACK IMMEDIATE' + '' + @StrNewLine
--+ 'GO' + @StrNewLine
+ 'EXEC master.dbo.sp_detach_db @dbname = '+ name + ';' + @StrNewLine
from master.sys.databases AS SysDB
WHERE SysDB.name LIKE 'tvs_%'
PRINT @SQL
EXEC (@SQL)
```
#Область ПроверкаЗаполненностиПолей
Функция ПроверкаЗаполненностиРеквизитовОбъекта(ОбъектПроверки, ПоляПроверкиШапки = "Дата, Номер", ПоляПроверкиТЧ = "Номенклатура, Количество", ИмяТЧ = "Товары") Экспорт
НеЗаполненныеПоля = "";
Результат = Ложь;
РезультатПроверкиШапки = ПоляЗаполнены(ОбъектПроверки, ПоляПроверкиШапки);
РезультатПроверкиТЧ = ПоляЗаполнены(ОбъектПроверки[ИмяТЧ], ПоляПроверкиТЧ);
Результат = ?(РезультатПроверкиШапки = Ложь Или РезультатПроверкиТЧ = Ложь, Ложь, Истина);
Возврат Новый Структура("Результат, НеЗаполненныеПоля", Результат, НеЗаполненныеПоля);
КонецФункции
Функция ПоляЗаполнены(ОбъектПроверки, ПоляПроверки, НеЗаполненныеПоля = "") Экспорт
Результат = Истина;
ПоляПроверкиМассив = СтрРазделить(ПоляПроверки, ",", Ложь);
Для Каждого Поле Из ПоляПроверкиМассив Цикл
Поле = СокрЛП(Поле);
ЗначениеПоля = ОбъектПроверки[Поле];
Если ЗначениеЗаполнено(ЗначениеПоля) Тогда
Продолжить;
КонецЕсли;
Результат = Ложь;
НеЗаполненныеПоля = ?(НеЗаполненныеПоля = "", "", ", ") + Поле;
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
Функция ЭтоТипСсылка(ТипДанных, ВсеТипыСсылок = Неопределено) Экспорт
Результат = Ложь;
Если ВсеТипыСсылок = Неопределено Тогда
ВсеТипыСсылок = ОписаниеТипаВсеСсылки();
КонецЕсли;
Если ТипЗнч(ТипДанных) = Тип("ОписаниеТипов") Тогда
ТипыВнутри = ТипДанных.Типы();
Для каждого Тип Из ТипыВнутри Цикл
Если ВсеТипыСсылок.СодержитТип(Тип) Тогда
Результат = Истина;
КонецЕсли;
КонецЦикла;
Иначе
Если ВсеТипыСсылок.СодержитТип(ТипДанных) Тогда
Результат = Истина;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ПустаяТаблицаЗначенийПоКолонкамИсточника(Данные, ДобавлятьСсылочныеТипы = Истина) Экспорт
Перем ВсеТипыСсылок; //для кэширования
Если ТипЗнч(Данные) = Тип("РезультатЗапроса") Или ТипЗнч(Данные) = Тип("ТаблицаЗначений") Или ТипЗнч(Данные) = Тип("ВременнаяТаблицаЗапроса") Тогда
КолонкиЗапроса = Данные.Колонки;
Иначе
Возврат Неопределено;
КонецЕсли;
Результат = Новый ТаблицаЗначений;
КолонкиТЗ = Результат.Колонки;
Для Каждого ТекущаяКолонкаЗапроса Из КолонкиЗапроса Цикл
Если ДобавлятьСсылочныеТипы = Ложь Тогда
Если ЭтоТипСсылка(ТекущаяКолонкаЗапроса.ТипЗначения, ВсеТипыСсылок) Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
НоваяКолонкаТЗ = КолонкиТЗ.Добавить(ТекущаяКолонкаЗапроса.Имя, ТекущаяКолонкаЗапроса.ТипЗначения);
ЗаполнитьЗначенияСвойств(НоваяКолонкаТЗ, ТекущаяКолонкаЗапроса);
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ЭтоТипСсылка(ТипДанных, ВсеТипыСсылок = Неопределено) Экспорт
Результат = Ложь;
Если ВсеТипыСсылок = Неопределено Тогда
ВсеТипыСсылок = ОписаниеТипаВсеСсылки();
КонецЕсли;
Если ТипЗнч(ТипДанных) = Тип("ОписаниеТипов") Тогда
ТипыВнутри = ТипДанных.Типы();
Для каждого Тип Из ТипыВнутри Цикл
Если ВсеТипыСсылок.СодержитТип(Тип) Тогда
Результат = Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Результат;
КонецФункции
#Область Логирование
// Процедура - Добавляет к логу данные действуя в зависимости от типа (строка или массив)
//
// Параметры:
// Лог - Массив, Строка - Лог
// Данные - Строка - Данные для добавления
//
Процедура ДобавитьВЛог(Лог, Данные) Экспорт
Если ТипЗнч(Лог) = Тип("Строка") Тогда
Лог = Лог + ?(Лог = "", "", Символы.ПС) + Данные;
ИначеЕсли ТипЗнч(Лог) = Тип("Массив") Тогда
Лог.Добавить(Данные);
ИначеЕсли ТипЗнч(Лог) = Тип("ТекстовыйДокумент") Тогда
лог.ДобавитьСтроку(Данные);
ИначеЕсли ТипЗнч(Лог) = Тип("Неопределено") Тогда //по умолчанию лог это массив
Лог = Новый Массив;
Лог.Добавить(Данные);
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьВЛогЗаголовок(Лог, Данные) Экспорт
РазделительЛога = "--------------------------------------------------------------------------";
Если ТипЗнч(Лог) = Тип("Массив") Тогда
СтрокВЛоге = Лог.Количество();
Если СтрокВЛоге > 0 Тогда
ПоследняяСтрокаЛога = Лог.Получить(СтрокВЛоге - 1);
Если РазделительЛога <> ПоследняяСтрокаЛога Тогда
ДобавитьВЛог(Лог, РазделительЛога);
КонецЕсли;
КонецЕсли;
КонецЕсли;
ДобавитьВЛог(Лог, Данные);
ДобавитьВЛог(Лог, РазделительЛога);
КонецПроцедуры
#КонецОбласти
//быстрая запись в строку из массива для большого объема строк
Функция МассивСтрокВСтроку(Строки) Экспорт
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
Для Каждого ТекущаяСтрока Из Строки Цикл
Запись.ЗаписатьБезОбработки(ТекущаяСтрока + Символы.ПС);
КонецЦикла;
Возврат Запись.Закрыть();
КонецФункции
Функция ЛогСтрокой(Лог) Экспорт
Если ТипЗнч(Лог) = Тип("ТекстовыйДокумент") Тогда
Лог.ПолучитьТекст();
ИначеЕсли ТипЗнч(Лог) = Тип("Массив") Тогда
Результат = МассивСтрокВСтроку(Лог);
ИначеЕсли ТипЗнч(Лог) = Тип("Строка") Тогда
Результат = Лог;
КонецЕсли;
Возврат Результат;
КонецФункции
DECLARE @SqlText VARCHAR(max) = ''
SELECT @SqlText += 'alter database ['+name+'] set recovery simple' + ';' + CHAR(10) + CHAR(13)
from master.sys.databases
where database_id > 4 and state_desc = 'online' AND recovery_model_desc <> 'SIMPLE'
PRINT @SqlText
EXEC (@SqlText)
Функция СодержитДанные(ЗначениеДляПроверки) Экспорт
Результат = Ложь;
Если ЗначениеДляПроверки <> Неопределено Тогда
Если ТипЗнч(ЗначениеДляПроверки) = Тип("ТаблицаЗначений")
Или ТипЗнч(ЗначениеДляПроверки) = Тип("Массив")
Или ТипЗнч(ЗначениеДляПроверки) = Тип("СписокЗначений")
Тогда
Если ЗначениеДляПроверки.Количество() > 0 Тогда
Результат = Истина;
КонецЕсли;
Иначе
Результат = ЗначениеЗаполнено(ЗначениеДляПроверки);
КонецЕсли
КонецЕсли;
Возврат Результат;
КонецФункции