1 2 3 4 5 6 7 8 |
ALTER DATABASE trade_korzh SET EMERGENCY GO ALTER DATABASE trade_korzh SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO DBCC CHECKDB ('trade_korzh', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE trade_korzh SET MULTI_USER GO |
1 2 3 4 5 6 7 8 |
ALTER DATABASE trade_korzh SET EMERGENCY GO ALTER DATABASE trade_korzh SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO DBCC CHECKDB ('trade_korzh', REPAIR_ALLOW_DATA_LOSS) GO ALTER DATABASE trade_korzh SET MULTI_USER GO |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
use Bitrix\Main\Loader; Loader::includeModule("iblock"); use Bitrix\Iblock\InheritedProperty; $ipropTemplates = new InheritedProperty\ElementTemplates(12, 250); $ipropTemplates->set(array( "ELEMENT_META_KEYWORDS" => "keywords", "ELEMENT_META_DESCRIPTION" => "DESCR", //Удалить шаблон )); $ipropValues = new InheritedProperty\ElementValues(12, 250); //Получить значения $values = $ipropValues->getValues(); var_dump($values); |
Для установки пользовательских настроек из варианта, определенного разработчиком, нужно сделать так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки) Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); .... КонецПроцедуры &НаСервере Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки) //Сброс пользовательских настроек Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных(); // можно ещё для начала Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(РеквизитФормыВЗначение("Отчет").СхемаКомпоновкиДанных)); //Загрузка настроек в "Отчет.КомпоновщикНастроек.Настройки" - на этапе выбора варианта Компоновщик.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.Настройки); Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Компоновщик.ПользовательскиеНастройки); КонецПроцедуры |
Странно, что команда “Установить стандартные настройки” на форме отчета с СКД по умолчанию есть, а вызвать ее программно нельзя. Можно сделать это очевидно необходимое действие только через пляску с бубном.
Навели на решение здесь Отборы в отчётах. Нюансы работы компоновщика настроек.
Статью распечатываю и вдумчиво читаю…
Часто актуально для внешних обработок, т.к. (неочевидная очевидность)
в безопасном режиме УстановитьПривилегированныйРежим() НЕ РАБОТАЕТ
В случае, когда код метода регламентного задания должен быть запущен с полными правами, а модуль в котором он определен не имеет признака “Привилегированный”, можно определить от какого пользователя задание должно исполняться. Для этого необходимо указать пользователя в соответствующем регламентном задании. Это можно сделать, например, так:
1 2 3 4 5 6 7 |
Отбор = новый Структура(); Отбор.Вставить("Наименование", "Сайт - Каталог (Полная ночная)"); Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор) ; Для каждого З из Задания Цикл З.ИмяПользователя = "mike"; З.Записать(); КонецЦикла; |
Работает если есть локальные админские права на сервере с SQL.
1. Запускаем с правами админа консоль.
2. Останавливаем все службы SQL
3. Стартуем из консоли сервер с параметрами
“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe” -m -sSQLEXPRESS -T7806
-m – монопольный режим. Нужен, чтобы локальные (dedicated) админы стали админами инстанса.
-s – имя инстанса
-T7806 – ключ, без которого, -m на 2008м не работает.
см. здесь https://www.mssqltips.com/sqlservertip/2538/enabling-dedicated-administrator-connection-in-sql-server-2008-express-edition/
и здесь https://msdn.microsoft.com/ru-ru/library/dd207004(v=sql.105).aspx
4. Заходим в менеджмент студио и наруливаем новый пароль для sa. И добавляем локальным админам право sysadmin, чтобы больше дурью не маяться.
Документ “Установка цен номенклатуры” при записи большого количества цен вылетает с ошибкой “Запись с такими ключевыми полями уже существует”. При этом, обнаружить дубли номенклатуры не удается. Есть основания полагать, что проблема кроется где то в механизме формирования движений по регистру сведений.
Поставил периодичность для регистра “В пределах секунды”.
1. Добавить в схему возможность выгрузки значений множественного свойства.
2. Указать, что свойство множественное в классификаторе
1 2 3 4 5 6 7 8 |
XDTOСвойство = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOСвойствоТип); XDTOСвойство.Ид = XMLСтрока(ТекСвойство.Идентификатор); XDTOСвойство.НомерВерсии = Б_ОбщиеПроцедурыИФункцииОбменаССайтом.ПолучитьВерсиюОбъекта(ПараметрыОбмена, ТекСвойство.ВерсияДанных, "Свойств"); XDTOСвойство.ПометкаУдаления = XMLСтрока(ТекСвойство.ПометкаУдаления); XDTOСвойство.Наименование = Лев(ТекСвойство.СвойствоНаименование, 250); //mike(b) множественные XDTOСвойство.Множественное = КастомныеПроцедурыСервер.ЭтоМножественноеСвойство(ТекСвойство.СвойствоНоменклатуры); //mike(е) множественные |
3. Выгрузить свойства как множественные
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
ВыборкаСвойств = Выборка.Выбрать(); XDTOЗначенияСвойств = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOЗначенияСвойствТип); Пока ВыборкаСвойств.Следующий() Цикл Если НЕ КастомныеПроцедурыСервер.ЭтоМножественноеСвойство(ВыборкаСвойств.ИдентификаторСвойства) Тогда //Штатный механизм XDTOЗначенияСвойства = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOЗначенияСвойстваТип); XDTOЗначенияСвойства.Ид = XMLСтрока(ВыборкаСвойств.ИдентификаторСвойства); XDTOЗначенияСвойства.Значение.Добавить(XMLСтрока(ВыборкаСвойств.ИдентификаторЗначения)); XDTOЗначенияСвойств.ЗначенияСвойства.Добавить(XDTOЗначенияСвойства); иначе //mike (b) Выгрузка множественного свойства XDTOЗначенияСвойства = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOЗначенияСвойстваТип); XDTOЗначенияСвойства.Ид = XMLСтрока(ВыборкаСвойств.ИдентификаторСвойства); ЗначенияЭлемента = КастомныеПроцедурыСервер.ПолучитьСписокЗначенийМножественногоСвойства(ВыборкаНоменклатуры.Номенклатура,ВыборкаСвойств.ИдентификаторСвойства); Для каждого Значение из ЗначенияЭлемента Цикл ЗначениеСвойства = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOЗначенияСвойстваТип.Свойства.Получить("ЗначениеСвойства").Тип); ЗначениеСвойства.Значение = XMLСтрока(Значение); XDTOЗначенияСвойства.ЗначениеСвойства.Добавить(ЗначениеСвойства); КонецЦикла; XDTOЗначенияСвойств.ЗначенияСвойства.Добавить(XDTOЗначенияСвойства); КонецЕсли; КонецЦикла; Владелец.ЗначенияСвойств = XDTOЗначенияСвойств; |
Полное описание здесь http://remontka.pro/chto-za-file-hiberfil-sys-i-kak-udalit/
Кратко: powercfg -h off