ПРИМЕРЫ (КОД ИСПОЛНЕНИЯ) |
|
|
21.05.2006 Перечисления
Для каждого ТекП Из Метаданные.Перечисления Цикл Сообщить(Символы.ПС+"Имя: "+ТекП.Имя+"; Синоним: "+ТекП.Синоним+"; Комментарий: "+ТекП.Комментарий+"; Кол-во "+Перечисления[ТекП.Имя].Количество()+Символы.ПС); Для каждого ТекЭ Из Метаданные.Перечисления[ТекП.Имя].ЗначенияПеречисления Цикл Сообщить("Имя: "+ТекЭ.Имя+"; Синоним: "+ТекЭ.Синоним+"; Комментарий: "+ТекЭ.Комментарий); КонецЦикла; КонецЦикла; // Конкретное перечисление: Попытка НайденнаяСсылка = Перечисления["ВидыДоговоровКонтрагентов"]["Спокупателем"]; Сообщить(Символы.ПС+Перечисления["ВидыДоговоровКонтрагентов"]["Спокупателем"]); Если НЕ НайденнаяСсылка = Неопределено Тогда Сообщить("Ссылка - Найдена! "); КонецЕсли; Исключение Сообщить("Ссылка - Найдена! "); КонецПопытки;
|
19.05.2006 Определяем ссылку реквизита
Спр = Справочники["ДоговорыКонтрагентов"]; РефТип=Метаданные["Справочники"]["ДоговорыКонтрагентов"].Реквизиты["ВалютаВзаиморасчетов"].Тип.Типы()[0]; //РТип=Метаданные["Справочники"]["ДоговорыКонтрагентов"].Реквизиты["ВалютаВзаиморасчетов"].Тип; ОбъектСсылка = Новый(РефТип); Сообщить("Полное имя: "+ОбъектСсылка.Метаданные().ПолноеИмя()); Сообщить("Имя: "+ОбъектСсылка.Метаданные().Имя);
|
16.05.2006 Справочник добавление групп и элементов
Спр = Справочники["Контрагенты"]; ИмяГр = "Группа"; НайденнаяСсылка = Спр.НайтиПоНаименованию(ИмяГр, Истина); Если Не НайденнаяСсылка = Спр.ПустаяСсылка() Тогда Если Не НайденнаяСсылка.ЭтоГруппа Тогда Предупреждение("ВНИМАНИЕ! Найден элемент справочника с указанным наименованием!"+ Символы.ПС+"Группа с таким же наименованием создана не будет!"); Возврат; // Здесь сволочь ругается - хотя все правильно! КонецЕсли; КонецЕсли; Родитель = НайденнаяСсылка; Если НайденнаяСсылка = Спр.ПустаяСсылка() Тогда //Если не находим группу по наименованию НоваяГруппа = Спр.СоздатьГруппу(); НоваяГруппа.Наименование = ИмяГр; НоваяГруппа.Записать(); Родитель = НоваяГруппа.Ссылка; КонецЕсли; // Добавляем новый элемент справочника!!! НовыйЭлемент = Спр.СоздатьЭлемент(); НовыйЭлемент.Наименование = "Новый элемент"; НовыйЭлемент.Родитель = Родитель; НовыйЭлемент.Записать();
|
11.05.2006 Перебор реквизитов 2
Для каждого РеквМД Из Метаданные.Справочники.ДоговорыКонтрагентов.Реквизиты Цикл Сообщить(РеквМД.Тип); // Для получения полного наименования необходимо исключить примитивные типы, иначе получимшибку. Попытка ОбъектСсылка = Новый(РеквМД.Тип.Типы()[0]); Сообщить(ОбъектСсылка.Метаданные().ПолноеИмя()); Исключение КонецПопытки; КонецЦикла;
|
10.05.2006 Перебор реквизитов 1
МД = "Справочники"; Для Каждого РеквМД из Метаданные[МД]["ДоговорыКонтрагентов"].Реквизиты Цикл Для каждого типРекв из РеквМД.Тип.Типы() Цикл мета=Метаданные.НайтиПоТИпу(типРекв); Попытка Если Метаданные[МД].Содержит(мета) = Истина Тогда Сообщить("Справочник."+мета.Имя); КонецЕсли; Исключение; КонецПопытки; Попытка Если Метаданные.Перечисления.Содержит(мета) = Истина Тогда //Сообщить("Перечисление."+мета.Имя); КонецЕсли; Исключение; КонецПопытки; Попытка Если Метаданные.Документы.Содержит(мета) = Истина Тогда Сообщить("Документ."+мета.Имя); КонецЕсли; Исключение; КонецПопытки; КонецЦикла КонецЦикла;
|
10.05.2006 Получение владельцев справочника
Для каждого Владелец Из Метаданные.Справочники.БанковскиеСчета.Владельцы Цикл Сообщить(Владелец.ПолноеИмя()); КонецЦикла;
|
02.05.2006 Таблица с флажками
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Пометка",Новый ОписаниеТипов("Булево"),"Пометка",4); ТЗ.Колонки.Добавить("НомерСтроки",ПолучитьОписаниеТиповЧисла(6,0),"N",6); ТЗ.Колонки.Добавить("ППП", ,"Вкл",4); НоваяКолонка = ТЗ.Колонки.Добавить("ККК", Новый ОписаниеТипов("Булево"), "КККК"); НоваяКолонка.Ширина = СтрДлина("КККК"); //ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"),"ХарактеристикаНоменклатуры",5); ЭлементыФормы.ТП_ЗАПРОС.Значение=ТЗ; ЭлементыФормы.ТП_ЗАПРОС.СоздатьКолонки(); ТекКолонка = ЭлементыФормы.ТП_ЗАПРОС.Колонки[0]; ТекКолонка.УстановитьЭлементУправления(Тип("Флажок")); ТекКолонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ТекКолонка.Формат="БЛ=;БИ=;"; ТекКолонка.ОтображатьВШапке = Истина; ТекКолонка.ОтображатьВПодвале = Истина; ЭлементыФормы.ТП_ЗАПРОС.ДобавитьСтроку(); ЭлементыФормы.ТП_ЗАПРОС.ДобавитьСтроку(); ЭлементыФормы.ТП_ЗАПРОС.ДобавитьСтроку(); // --------------- !!!!!!!! ----------------- ЭлементыФормы.ТП_ЗАПРОС.Колонки.ППП.ДанныеФлажка="Пометка"; ЭлементыФормы.ТП_ЗАПРОС.Колонки.ППП.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; // --------------- !!!!!!!! -----------------
|
01.05.2006 Число прописью
ФорматнаяСтрока = "Л=ru_RU"; ПараметрыПредметаИсчисления= ",,,,,,,,0"; Предупреждение("C округлением: "+Символы.ПС+ЧислоПрописью(222.56, ФорматнаяСтрока, ПараметрыПредметаИсчисления),2); ФорматнаяСтрока = "Л=ru_RU; ДП=Истина"; ПараметрыПредметаИсчисления = "целая, целых, целых, ж, сотая, сотой, сотых, ж, 2"; Предупреждение("Поный формат: "+Символы.ПС+ЧислоПрописью(222.56, ФорматнаяСтрока, ПараметрыПредметаИсчисления),2);
|
01.05.2006 Формат даты
// Время ТекущееВремя = Формат(ТекущаяДата(), "ДЛФ=В"); Предупреждение(ТекущееВремя);
|
01.05.2006 Кодировка символов
Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку("Список кодов символов"); //Текст.УстановитьТипФайла(КодировкаТекста.ANSI); Текст.УстановитьТипФайла(КодировкаТекста.OEM); Для Ч=0 по 2000 Цикл Стр = Строка(Ч)+" - "+Символ(Ч); Текст.ДобавитьСтроку(Стр); КонецЦикла; Текст.Показать();
|
01.05.2006 Программное открытие форм МД
Форма = Справочники.Номенклатура.ПолучитьФормуСписка(); Форма.Открыть(); //Спр=Справочники.Получить("Контрагенты"); //Спр=Справочники["Контрагенты"].ПолучитьФормуСписка(); //Спр.Открыть(); Форма = Константы.ПолучитьФорму(); //<Имя> если имя не указано, то основная форма констант Форма.Открыть(); ФормаВыбора = Документы.АвансовыйОтчет.ПолучитьФормуВыбора(); ФормаВыбора.Открыть();
|
01.05.2006 XBase
Путь=""; ДБФ = Новый XBase; //ДБФ.Кодировка = КодировкаXBase.ANSI; ДБФ.Кодировка = КодировкаXBase.OEM; ДБФ.Поля.Добавить("CODE", "S", 6); ДБФ.Поля.Добавить("NAME", "S", 50); ДБФ.Поля.Добавить("INFO", "S", 254); ДБФ.Поля.Добавить("TYPE", "S", 1); ДБФ.СоздатьФайл(Путь + "sql.dbf", Путь + "sql.cdx"); ДБФ.Индексы.Добавить("IDXCODE", "CODE"); ФлИБД = ДБФ.СоздатьИндексныйФайл(Путь + "sql.cdx"); ДБФ.Переиндексировать(); Сообщить("созданы файлы: "+Путь + "sql.dbf, sql.cdx "); ДБФ.АвтоСохранение = Истина; ДБФ.Добавить(); ДБФ.CODE = "1"; ДБФ.NAME = "Наименование №1"; ДБФ.Info = "Описание, "+Символ(34)+"элемента №1"+Символ(34)+" таблицы DBF"; ДБФ.TYPE = "1"; ДБФ.Добавить(); ДБФ.CODE = "2"; ДБФ.NAME = "Наименование №2"; ДБФ.Info = "Описание, "+Символ(34)+"элемента №2"+Символ(34)+" таблицы DBF"; ДБФ.TYPE = "1"; ДБФ.ЗакрытьФайл(); // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Путь=""; НайденныеФайлы = НайтиФайлы(Путь, "sql.dbf"); // Если файл не находится в подкаталоге открытой обработки ... Если НайденныеФайлы.Количество() = 0 Тогда Сообщить("Нужно выбрать каталог!", СтатусСообщения.Важное); Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Фильтр = "Файлы DBF(*.dbf)|*.dbf"; Диалог.Заголовок = "Укажите файл ..."; КонецЕсли; ДБФ = Новый XBase; ДБФ.ОткрытьФайл(Путь + "sql.dbf", Путь + "sql.cdx"); ДБФ.ТекущийИндекс = ДБФ.Индексы.IDXCODE; ДБФ.АвтоСохранение = Истина; //Сообщить(ДБФ.КоличествоЗаписей()); ДБФ.Последняя(); ТЗ_ДБФ = Новый ТаблицаЗначений; ТЗ_ДБФ.Колонки.Добавить("Элементы",ПолучитьОписаниеТиповСтроки(50),"Элементы",); ТЗ_ДБФ.Колонки.Добавить("Описание",ПолучитьОписаниеТиповСтроки(200),"Описание",); ТЗ_ДБФ.Колонки.Добавить("Код",ПолучитьОписаниеТиповЧисла(6),"Код",); ТЗ_ДБФ.Колонки.Добавить("Тип",ПолучитьОписаниеТиповСтроки(1),"Тип",); Для Ъ=1 ПО ДБФ.КоличествоЗаписей() Цикл ДБФ.Перейти(Ъ); ОК = Ложь; Строка = ТЗ_ДБФ.Добавить(); Строка.Установить(0,ДБФ.NAME); Строка.Установить(1,ДБФ.INFO); Строка.Установить(2,ДБФ.CODE); Строка.Установить(3,ДБФ.TYPE); КонецЦикла; ЭлементыФормы.ТП_Запрос.Значение = ТЗ_ДБФ; ЭлементыФормы.ТП_Запрос.СоздатьКолонки(); ТЗ_ДБФ.Сортировать("Код");
|
01.05.2006 Предупреждение (Глобальный контекст)
// Синтаксис: Предупреждение(<Текст предупреждения>, <Таймаут>, <Заголовок>) Предупреждение ("Внимание! Не забывайте обнавлять базу данных!",1,"Explorer-1c"); // =-=-=-=-=-= Многосточное предупреждение =-=-=-=-=-= Предупреждение ("Заходи на: "+Символы.ПС+"WWW.e-1c.narod.ru",1,"Explorer-1c");
|
01.05.2006 Сообщение (Глоюбальный Контекст)
Сообщить("Пиктограмма - синий треугольник"); Сообщить("Без пиктограммы. ", СтатусСообщения.БезСтатуса); Сообщить("Пиктограмма - два красных восклицательных знака.", СтатусСообщения.Важное); Сообщить("Пиктограмма - красный восклицательный знак", СтатусСообщения.Внимание); Сообщить("Пиктограмма - символ [i] ", СтатусСообщения.Информация); Сообщить("Пиктограмма - три красных восклицательных знака. ", СтатусСообщения.ОченьВажное); // =-=-=-=-=-= Многосточное сообщение =-=-=-=-=-= Сообщить("Заходи на: "+Символы.ПС+"WWW.e-1c.narod.ru");
|
|
|
|