Карта сайта
Обслуживание компьютеров, ремонт компьютеров, 1С предприятие, обслуживание серверов,создание сайтов, продвижение сайтов, доработка 1С предприятие
О компании | Статьи | | Примеры разработки на платформе 8.х

« Назад « На главную

Примеры разработки на платформе 8.х

 


Как запретить пользователю изменять порядок следования колонок в табличном поле?


// Запрет изменения позиций ВСЕХ колонок
ЭлементыФормы.ТабличноеПоле.ИзменятьПозициюКолонок = Ложь;

// Запрет для некоторых
ЭлементыФормы.ТабличноеПоле.Колонки.Картинка.ИзменятьПозицию = Ложь;
ЭлементыФормы.ТабличноеПоле.Колонки.Код.ИзменятьПозицию = Ложь;
ЭлементыФормы.ТабличноеПоле.Колонки.Наименование.ИзменятьПозицию = Ложь;

 


Как запретить пользователю изменять любые настройки колонок табличного поля?


// Запрет изменения настроек ВСЕХ колонок
ЭлементыФормы.ТабличноеПоле.ИзменятьНастройкуКолонок = Ложь;

// Запрет для некоторых
ЭлементыФормы.ТабличноеПоле.Колонки.Картинка.ИзменятьНастройку = Ложь;
ЭлементыФормы.ТабличноеПоле.Колонки.Код.ИзменятьНастройку = Ложь;
ЭлементыФормы.ТабличноеПоле.Колонки.Наименование.ИзменятьНастройку = Ложь;

 


Как вывести информацию о том, какой отбор установлен в журнале документов?


// Вывод в надпись
ЭлементыФормы.НадписьОтбор.Заголовок = СписокДокументов.Отбор;

// Вывод в строку сообщений
УстановленныйОтбор = СписокДокументов.Отбор;
Сообщить("Элементы отбора:");

Для Каждого ЭлементОтбора из УстановленныйОтбор Цикл
Сообщить(Строка(ЭлементОтбора) + " использование = " + ЭлементОтбора.Использование);
КонецЦикла;

 


Как в форме справочника установить курсор на элемент с известным наименованием?


ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Справочники.Контрагенты.НайтиПоНаименованию("ПОСТАВЩИКИ", Истина);

 


Как в форме списка сделать отбор по значению реквизита?


СправочникСписок.Отбор.СтавкаНДС.Установить(Перечисления.СтавкиНДС.НДС18); 

// Еще вариант
СправочникСписок.Отбор.СтавкаНДС.Значение = Перечисления.СтавкиНДС.НДС18; // По какому значению отбор
СправочникСписок.Отбор.СтавкаНДС.ВидСравнения = ВидСравнения.Равно; // Вид сравнения (равно, не равно, в списке и пр.)
СправочникСписок.Отбор.СтавкаНДС.Использование = Истина; // Признак того, что отбор используется

 


Как запретить выдачу сообщения: "Введенные данные не отображены в списке, так как не соответствуют отбору" при добавлении новых элементов в справочник?


ЭлементыФормы.ПолеСписка.ПроверкаОтображенияНовойСтроки = ВариантПроверкиОтображенияНовойСтроки.НеПроверять;

 


Как заполнить ячейку табличного поля данными?


Процедура ТабличноеПолеЗаказовЗаказПриИзменении(Элемент) 

// Получить текущую строку табличного поля.
СтрокаТаблицы = ЭлементыФормы.ТабличноеПолеЗаказов.ТекущаяСтрока;

// Ввести значения в ячейки строки.
СтрокаТаблицы.Контрагент = СтрокаТаблицы.Заказ.Контрагент;
СтрокаТаблицы.ДатаОтгрузки = СтрокаТаблицы.Заказ.ДатаОтгрузки;
КонецПроцедуры

 


Как изменить цвет фона ячейки табличного поля в зависимости от значения, выводимого в нее?


Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) 

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
ЗначениеЯчейкиОстаток = ОформлениеСтроки.Ячейки.Остаток.Значение;

Если ЗначениеЯчейкиОстаток <> Неопределено Тогда

Если ЗначениеЯчейкиОстаток < 10 Тогда
ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Красный;
ИначеЕсли ЗначениеЯчейкиОстаток > 100 Тогда
ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Желтый;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры

 


Как в табличное поле "ВыбранныеКонтрагенты" добавить новую колонку "ОсновнойДоговор", заполнить ее значения и дать возможность открытия этих значений?


Если ТаблицаКонтрагентов.Колонки.Найти("ОсновнойДоговор") = Неопределено Тогда 
МассивТипов = Новый Массив();
МассивТипов.Добавить(Тип("СправочникСсылка.ДоговорыКонтрагентов"));
ОписаниеНужныхТипов = Новый ОписаниеТипов(МассивТипов);
ТаблицаКонтрагентов.Колонки.Добавить("ОсновнойДоговор", ОписаниеНужныхТипов);
КонецЕсли;

Для Каждого СтрокаТаблицы из ТаблицаКонтрагентов Цикл
СтрокаТаблицы["ОсновнойДоговор"] = СтрокаТаблицы["Контрагент"]["ОсновнойДоговорКонтрагента"];
КонецЦикла;

ЭлементыФормы.ВыбранныеКонтрагенты.СоздатьКолонки();
ЭлементыФормы.ВыбранныеКонтрагенты.Колонки.ОсновнойДоговор.ЭлементУправления.КнопкаОткрытия = Истина;

 


Как задать список выбора для колонки "ВидДокумента" табличного поля?


Процедура ПриОткрытии() 

СписокВидовДокументов = Новый СписокЗначений;

Для Каждого ДокументКонфигурации из Метаданные.Документы Цикл
СписокВидовДокументов.Добавить(ДокументКонфигурации.Имя);
КонецЦикла;

ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.СписокВыбора = СписокВидовДокументов;
КонецПроцедуры


ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.КнопкаСпискаВыбора = Истина;

 


Как обеспечить возможность отбора и сортировки данных по реквизитам, не отображаемым в табличном поле формы списка справочника?


ЭлементыФормы.СправочникСписок.НастройкаОтбора.ОсновнойПоставщик.Доступность = Истина; 
ЭлементыФормы.СправочникСписок.НастройкаПорядка.ОсновнойПоставщик.Доступность = Истина;

 


Как реализовать перетаскивание между элементами управления?


Процедура НоменклатураНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) 

// Получить значение, переданное системой.
Значение = ПараметрыПеретаскивания.Значение;

// В любом случае значением будет массив.
МассивЗначений = Новый Массив;

// Если перетаскивается группа, то в массив записываем входящие в нее элементы.
Если Значение.ЭтоГруппа Тогда
Выборка = Справочники.Номенклатура.Выбрать(Значение);
Пока Выборка.Следующий() Цикл
Если Не Выборка.ЭтоГруппа Тогда
МассивЗначений.Добавить(Выборка.Ссылка);
КонецЕсли;
КонецЦикла;
Иначе
МассивЗначений.Добавить(Значение);
КонецЕсли;

// Заполненный массив записываем в параметры.
ПараметрыПеретаскивания.Значение = МассивЗначений;

КонецПроцедуры


Процедура ТоварыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

СтандартнаяОбработка = Ложь;

КонецПроцедуры


Процедура ТоварыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)

ПолученныйМассив = ПараметрыПеретаскивания.Значение;
Если ТипЗнч(ПолученныйМассив) = Тип("Массив") Тогда
Для Каждого Значение Из ПолученныйМассив Цикл
НоваяСтрока = ДокументОбъект.Товары.Добавить();
НоваяСтрока.Номенклатура = Значение;
НоваяСтрока.Количество = 1;
КонецЦикла;
КонецЕсли;

КонецПроцедуры

 


Как вывести остатки на складах в списке номенклатуры?


Процедура СписокНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок) 

Запрос = Новый Запрос("ВЫБРАТЬ
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
| ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Товар
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура В (&МассивТоваров)) КАК ТоварыНаСкладахОстатки");

МассивНоменклатуры = Новый Массив; // для передачи в параметр запроса
Соответствие = Новый Соответствие; // для заполнения остатков в строках табличного поля

Для Каждого Строка из ОформленияСтрок Цикл
МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка);
Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка);
КонецЦикла;

Запрос.УстановитьПараметр("МассивТоваров", МассивНоменклатуры);

Выборка = Запрос.Выполнить().Выбрать();

// Вывести остаток в строку, найденную в соответствии по номенклатуре
// из запроса.
Пока Выборка.Следующий() Цикл
Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = Выборка.Остаток;
КонецЦикла;

КонецПроцедуры

25 Август 2011 г.



метки:



Вверх

Подписаться на RSS

  • Новости
  • Статьи
  • Разделы статей

    Наши контакты

    +7 922 292-00-34

    +7(343)361-52-00

    Напишите нам через форму!!!

    Быстрая форма связи с нами

     
    Ваше имя?*
    Как с Вами связаться?*
    Опишите вопрос или сообщение*
    Введите код *


    Знаком (*) выделены обязательные поля.
    Каталог интернет ресурсов - ИнфоПитер
    Наверх

    ООО "Бизнес Технологии"© 2010 г.

    Написать автору

    Карта сайта