Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.80.143.34] |
|
Страницы: (4) 1 2 [3] 4 все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Как заполнить ячейку табличного поля данными?
Процедура ТабличноеПолеЗаказовЗаказПриИзменении(Элемент) // Получить текущую строку табличного поля. СтрокаТаблицы = ЭлементыФормы.ТабличноеПолеЗаказов.ТекущаяСтрока; // Ввести значения в ячейки строки. СтрокаТаблицы.Контрагент = СтрокаТаблицы.Заказ.Контрагент; СтрокаТаблицы.ДатаОтгрузки = СтрокаТаблицы.Заказ.ДатаОтгрузки; КонецПроцедуры |
Сообщ.
#32
,
|
|
|
Как изменить цвет фона ячейки табличного поля в зависимости от значения, выводимого в нее?
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ЗначениеЯчейкиОстаток = ОформлениеСтроки.Ячейки.Остаток.Значение; Если ЗначениеЯчейкиОстаток <> Неопределено Тогда Если ЗначениеЯчейкиОстаток < 10 Тогда ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Красный; ИначеЕсли ЗначениеЯчейкиОстаток > 100 Тогда ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Желтый; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
Сообщ.
#33
,
|
|
|
Как в табличное поле "ВыбранныеКонтрагенты" добавить новую колонку "ОсновнойДоговор", заполнить ее значения и дать возможность открытия этих значений?
Если ТаблицаКонтрагентов.Колонки.Найти("ОсновнойДоговор") = Неопределено Тогда МассивТипов = Новый Массив(); МассивТипов.Добавить(Тип("СправочникСсылка.ДоговорыКонтрагентов")); ОписаниеНужныхТипов = Новый ОписаниеТипов(МассивТипов); ТаблицаКонтрагентов.Колонки.Добавить("ОсновнойДоговор", ОписаниеНужныхТипов); КонецЕсли; Для Каждого СтрокаТаблицы из ТаблицаКонтрагентов Цикл СтрокаТаблицы["ОсновнойДоговор"] = СтрокаТаблицы["Контрагент"]["ОсновнойДоговорКонтрагента"]; КонецЦикла; ЭлементыФормы.ВыбранныеКонтрагенты.СоздатьКолонки(); ЭлементыФормы.ВыбранныеКонтрагенты.Колонки.ОсновнойДоговор.ЭлементУправления.КнопкаОткрытия = Истина; |
Сообщ.
#34
,
|
|
|
Как задать список выбора для колонки "ВидДокумента" табличного поля?
Процедура ПриОткрытии() СписокВидовДокументов = Новый СписокЗначений; Для Каждого ДокументКонфигурации из Метаданные.Документы Цикл СписокВидовДокументов.Добавить(ДокументКонфигурации.Имя); КонецЦикла; ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.СписокВыбора = СписокВидовДокументов; КонецПроцедуры ЭлементыФормы.ПодборДанных.Колонки.ВидДокумента.ЭлементУправления.КнопкаСпискаВыбора = Истина; |
Сообщ.
#35
,
|
|
|
Как обеспечить возможность отбора и сортировки данных по реквизитам, не отображаемым в табличном поле формы списка справочника?
ЭлементыФормы.СправочникСписок.НастройкаОтбора.ОсновнойПоставщик.Доступность = Истина; ЭлементыФормы.СправочникСписок.НастройкаПорядка.ОсновнойПоставщик.Доступность = Истина; |
Сообщ.
#36
,
|
|
|
Как реализовать перетаскивание между элементами управления?
Процедура НоменклатураНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) // Получить значение, переданное системой. Значение = ПараметрыПеретаскивания.Значение; // В любом случае значением будет массив. МассивЗначений = Новый Массив; // Если перетаскивается группа, то в массив записываем входящие в нее элементы. Если Значение.ЭтоГруппа Тогда Выборка = Справочники.Номенклатура.Выбрать(Значение); Пока Выборка.Следующий() Цикл Если Не Выборка.ЭтоГруппа Тогда МассивЗначений.Добавить(Выборка.Ссылка); КонецЕсли; КонецЦикла; Иначе МассивЗначений.Добавить(Значение); КонецЕсли; // Заполненный массив записываем в параметры. ПараметрыПеретаскивания.Значение = МассивЗначений; КонецПроцедуры Процедура ТоварыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка) СтандартнаяОбработка = Ложь; КонецПроцедуры Процедура ТоварыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка) ПолученныйМассив = ПараметрыПеретаскивания.Значение; Если ТипЗнч(ПолученныйМассив) = Тип("Массив") Тогда Для Каждого Значение Из ПолученныйМассив Цикл НоваяСтрока = ДокументОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = Значение; НоваяСтрока.Количество = 1; КонецЦикла; КонецЕсли; КонецПроцедуры |
Сообщ.
#37
,
|
|
|
Как вывести остатки на складах в списке номенклатуры?
Процедура СписокНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок) Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток, | ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Товар |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура В (&МассивТоваров)) КАК ТоварыНаСкладахОстатки"); МассивНоменклатуры = Новый Массив; // для передачи в параметр запроса Соответствие = Новый Соответствие; // для заполнения остатков в строках табличного поля Для Каждого Строка из ОформленияСтрок Цикл МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка); Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка); КонецЦикла; Запрос.УстановитьПараметр("МассивТоваров", МассивНоменклатуры); Выборка = Запрос.Выполнить().Выбрать(); // Вывести остаток в строку, найденную в соответствии по номенклатуре // из запроса. Пока Выборка.Следующий() Цикл Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = Выборка.Остаток; КонецЦикла; КонецПроцедуры |
Сообщ.
#38
,
|
|
|
Другие элементы управления
В форме есть панель со страницами. Как разместить картинку на закладке? ЭлементыФормы.ОсновнаяПанель.Страницы.СчетаУчета.КартинкаЗаголовка = БиблиотекаКартинок.ДебетКредит; |
Сообщ.
#39
,
|
|
|
Как обеспечить, чтобы при открытии формы уже записанного элемента справочника "Контрагенты" активной была закладка "СчетаИДоговоры" панели "Панель"?
Процедура ПриОткрытии() Если ЭтоНовый() = Ложь Тогда ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы.СчетаИДоговоры; КонецЕсли; КонецПроцедуры |
Сообщ.
#40
,
|
|
|
Как организовать выбор из нескольких списков документов для открытия?
Док = Метаданные.Документы; СписокДокументов = Новый СписокЗначений(); СписокДокументов.Добавить(Док.ПлатежноеПоручениеИсходящее, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеПоручениеВходящее, , Ложь); СписокДокументов.Добавить(Док.АккредитивПереданный, , Ложь); СписокДокументов.Добавить(Док.АккредитивПолученный, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеТребованиеВыставленное, , Ложь); СписокДокументов.Добавить(Док.ПлатежноеТребованиеПолученное, , Ложь); СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПереданное, , Ложь); СписокДокументов.Добавить(Док.ИнкассовоеПоручениеПолученное, , Ложь); СписокДокументов.Добавить(Док.ПлатежныйОрдерСписаниеДенежныхСредств, , Ложь); СписокДокументов.Добавить(Док.ПлатежныйОрдерПоступлениеДенежныхСредств, , Ложь); Если СписокДокументов.ОтметитьЭлементы("Укажите, какие списки документов открыть") Тогда Для Каждого НазваниеДокумента из СписокДокументов Цикл Если НазваниеДокумента.Пометка Тогда ФормаСписка = Документы[НазваниеДокумента.Значение.Имя].ПолучитьФормуСписка(); ФормаСписка.Открыть(); КонецЕсли; КонецЦикла; КонецЕсли; |
Сообщ.
#41
,
|
|
|
Как можно организовать подстановку обращения к персоне?
Процедура ПерсонаОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) Значение = Новый СписокЗначений(); Значение.Добавить("Уважаемый " + Текст); Значение.Добавить("Уважаемая " + Текст); Значение.Добавить("Уважаемое " + Текст); Значение.Добавить("Уважаемые " + Текст); Значение.Добавить(Текст); СтандартнаяОбработка = Ложь; КонецПроцедуры |
Сообщ.
#42
,
|
|
|
Как в командной панели создать подменю с кнопками?
КнопкиКоманднойПанели = ЭлементыФормы.КоманднаяПанельФормы.Кнопки; // Проверить, нет ли уже на командной панели кнопки "Сформировать". // Если есть - удалить. Индекс = КнопкиКоманднойПанели.Индекс(КнопкиКоманднойПанели.Найти("Сформировать")); Если Индекс = -1 Тогда Индекс = 0; Иначе КнопкиКоманднойПанели.Удалить(Индекс); КонецЕсли; // Создать подменю "Сформировать". ПодменюСформировать = КнопкиКоманднойПанели.Вставить(Индекс, "Сформировать", ТипКнопкиКоманднойПанели.Подменю, "Сформировать"); // Добавить картинку. ПодменюСформировать.Картинка = БиблиотекаКартинок.Сформировать; ПодменюСформировать.Отображение = ОтображениеКнопкиКоманднойПанели.НадписьКартинка; // Опросить перечисление о возможных вариантах периодичности. Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Перечисление.Периодичность"); Выборка = Запрос.Выполнить().Выбрать(); //Добавить кнопки к подменю. Пока Выборка.Следующий() Цикл Период = Выборка.Ссылка; ПодменюСформировать.Кнопки.Добавить("кн" + Период, ТипКнопкиКоманднойПанели.Действие, "Сформировать за " + Период, Новый Действие("КнопкаСформироватьНажатие")); КонецЦикла; Процедура КнопкаСформироватьНажатие(Элемент) НазваниеПериодичности = СтрЗаменить(Элемент.Имя, "кн", ""); КонецПроцедуры |
Сообщ.
#43
,
|
|
|
Как созданной кнопке назначить "горячие клавиши"?
СозданнаяКнопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.L, Истина, Истина,); |
Сообщ.
#44
,
|
|
|
Как реализовать заполнение возможных значений поля выбора "ОбрабатываемаяТабличнаяЧасть" при заполнении поля ввода "ОбрабатываемыйДокумент"?
Процедура ОбрабатываемыйДокументПриИзменении(Элемент) СписокВыбора = ЭлементыФормы.ОбрабатываемаяТабличнаяЧасть.СписокВыбора; СписокВыбора.Очистить(); Если Элемент.Значение <> Неопределено И Не(Элемент.Значение.Пустая()) Тогда ТабличныеЧасти = Элемент.Значение.Метаданные().ТабличныеЧасти; Для Каждого ТабличнаяЧасть из ТабличныеЧасти Цикл СписокВыбора.Добавить(ТабличнаяЧасть); КонецЦикла; КонецЕсли; КонецПроцедуры Процедура ОбрабатываемыйДокументОчистка(Элемент, СтандартнаяОбработка) ОбрабатываемаяТабличнаяЧасть = ""; КонецПроцедуры |
Сообщ.
#45
,
|
|
|
Если пользователь указал несколько дат в поле календаря - как их перебрать?
КоллекцияДат = ЭлементыФормы.ПолеКалендаря.ВыделенныеДаты; Для каждого ДатаКалендаря из КоллекцияДат Цикл Сообщить(ДатаКалендаря); КонецЦикла; ЭлементыФормы.ПолеКалендаря.РежимВыделения = РежимВыделенияДаты.Множественный; |