Форма ~ Отбор, Группировка, Порядок и Условное оформление через компоновку данных Выполним отбор по подразделению, если основной интерфейс пользователя кассир.
Код 1C v 8.х Если ПользователиИнформационнойБазы. ТекущийПользователь( ) . ОсновнойИнтерфейс. Имя = "ИнтерфейсКассира" Тогда
ДокументСписок. Отбор. Сбросить( ) ;
ДокументСписок. Отбор. Подразделение. ВидСравнения= ВидСравнения. Равно;
ДокументСписок. Отбор. Подразделение. Значение= ПараметрыСеанса. ТекущийПользователь. Подразделение;
ДокументСписок. Отбор. Подразделение. Установить( ) ;
Элементыформы. Список. НастройкаОтбора. Подразделение. Доступность = Ложь ;
КонецЕсли ;
Выполним отбор по дате в форме списка документа.
Код 1C v 8.2 УП ЭлементОтбора = Список. Отбор. Элементы. Добавить( Тип( "ЭлементОтбораКомпоновкиДанных" ) ) ;
ЭлементОтбора. ЛевоеЗначение = Новый ПолеКомпоновкиДанных( "Дата" ) ;
ЭлементОтбора. Использование = Истина ;
ЭлементОтбора. ВидСравнения = ВидСравненияКомпоновкиДанных. БольшеИлиРавно;
ЭлементОтбора. ПравоеЗначение = Дата1 ;
ЭлементОтбора. РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных. Обычный;
Элементы. Список. Обновить( ) ;
Группировка. Сгруппируем список документов по полю Клиент.
Код 1C v 8.2 УП ЭлементГруппировки = Список. Группировка. Элементы. Добавить( Тип( "ПолеГруппировкиКомпоновкиДанных" ) ) ;
ЭлементГруппировки. Использование = Истина ;
ЭлементГруппировки. Поле = Новый ПолеКомпоновкиДанных( "Клиент" ) ;
Элементы. Список. Обновить( ) ;
Порядок. Отсортируем список документов по полю ПлановаяДатаПоставки.
Код 1C v 8.2 УП Список. Порядок. Элементы. Очистить( ) ;
НовыйПорядок = Список. Порядок. Элементы. Добавить( Тип( "ЭлементПорядкаКомпоновкиДанных" ) ) ;
НовыйПорядок. Поле = Новый ПолеКомпоновкиДанных( "Список.ПлановаяДатаПоставки" ) ;
НовыйПорядок. Использование = Истина ;
НовыйПорядок. РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных. Обычный;
НовыйПорядок. ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных. Возр;
Элементы. Список. Обновить( ) ;
Условное оформление. Покрасим в красный цвет строки списка документов с незаполненной датой согласования счета.
Код 1C v 8.2 УП ЭлементОформления = Список. УсловноеОформление. Элементы. Добавить( ) ;
ЭлементОтбора = ЭлементОформления. Отбор. Элементы. Добавить( Тип( "ЭлементОтбораКомпоновкиДанных" ) ) ;
ЭлементОтбора. ЛевоеЗначение = Новый ПолеКомпоновкиДанных( "ДатаСогласованияСчета" ) ;
ЭлементОтбора. ВидСравнения = ВидСравненияКомпоновкиДанных. НеЗаполнено;
ЭлементОтбора. Использование = Истина ;
Элемент = ЭлементОформления. Оформление. Элементы[1 ];
Элемент. Использование = Истина ;
Элемент. Значение = Новый Цвет( 255 , 0 , 0 ) ;
Категория:
Работа с Формой (Диалог) и её элементами Получение списка зарегистрированных на текущем компьютере баз 1С Предприятие 1Cv7 Код 1C v 7.x
Процедура ПолучитьСписокИБ()
Попытка
ScrptCtrl= Новый COMObject( "MSScriptControl.ScriptControl" ) ;
ScrptCtrl. Language= "vbscript" ;
ScrptCtrl. AddCode( "
|Function Get1CV77Titles()
| const HKEY_CURRENT_USER = &H80000001
| Set oReg=GetObject("" winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"" )
| strKeyPath = "" Software\1C\1Cv7\7.7\Titles""
| oReg.EnumValues HKEY_CURRENT_USER, strKeyPath, arrValues
| strInfo=vbNullString
| Get1CV77Titles = strInfo
| On Error Resume Next
| For i = LBound(arrValues) To UBound(arrValues)
| call oReg.GetStringValue(HKEY_CURRENT_USER,strKeyPath,arrValues(i),Value)
| strInfo=strInfo & arrValues(i) & vbTab & Value & vbCrLf
| Next
| Get1CV77Titles = strInfo
|End Function
|" ) ;
Текст= СокрЛП( ScrptCtrl. Run( "Get1CV77Titles" ) ) ;
Исключение
Сообщить( ОписаниеОшибки( ) ) ;
Возврат ;
КонецПопытки ;
ТаблицаПути. Очистить( ) ;
Если НЕ ЗначениеЗаполнено( Текст) Тогда
Возврат ;
КонецЕсли ;
Для Ном= 1 По СтрЧислоСтрок( Текст) Цикл
СтрБазы= СтрПолучитьСтроку( Текст, Ном) ;
Разд= Найти( СтрБазы, Символы. Таб) ;
Путь= Лев( СтрБазы, Разд- 1 ) ;
Название= Прав( СтрБазы, СтрДлина( СтрБазы) - Разд) ;
НоваяСтрока = ТаблицаПути. Добавить( ) ;
НоваяСтрока. Имя = Название;
НоваяСтрока. Путь = Путь;
КонецЦикла ;
ТаблицаПути. Сортировать( "Имя" ) ;
КонецПроцедуры
Функция возвращает список значений содержащий список баз установленных на данном компьютаре. В котором в качестве значения указывается путь до базы, а в представлении название базы, так как она отображается в окне выбора баз при запуске 1С. Если баз не обнаруженно то возвращает строку "Error"
Код 1C v 7.x
функция сзПолучитьСписокБаз()
попытка
олеСкрипт = создатьобъект( "MSScriptControl.ScriptControl" ) ;
олеСкрипт. Language = "VBScript" ;
стрКод =
"function strGetListBase()
| const RootKey = &H80000001
| set Reg = GetObject("" winmgmts:{impersonationLevel=impersonate}!\\."" &_
| "" \root\default:StdRegProv"" )
| PathKey = "" Software\1C\1Cv7\7.7\Titles""
| Reg.EnumValues RootKey, PathKey, Arr
| Answer = "" {"" "" СписокЗначений"" "" ,{""
| for x = LBound(Arr) to UBound(Arr)
| call Reg.GetStringValue(RootKey, PathKey, Arr(x), Value)
| Answer = Answer & "" {{"" "" Строка"" "" ,"" "" "" &_
| Arr(x) & "" "" "" },"" "" "" & replace(Value, "" "" "" "" , "" "" "" "" "" "" ) &_
| "" "" "" ,"" "" 0"" "" }""
| if x <> UBound(Arr) then Answer = Answer & "" ,""
| next
| Answer = Answer & "" }}""
| strGetListBase = Answer
|end function" ;
олеСкрипт. AddCode( стрКод) ;
Ответ = значениеизстроки( олеСкрипт. Run( "strGetListBase" ) ) ;
Ответ. СортироватьПоПредставлению( ) ;
исключение
Ответ = "Error" ;
конецпопытки ;
возврат Ответ;
конецфункции
Еще примеры! Получение списка баз 1С 7.7 из реестра Категория:
Полезные, Универсальные Функции