Приветствую, Форумчане!
1с.8.3.12, самопис, УФ, БСП
Полный бред, конечно, но вот уперлись хозяева жизни...
Имеется форма списка документа "Установка цен".
Требуется каким-то образом отделить ряд этих документов по определенному признаку (пусть это будет булевский реквизит "Особые" на форме), выделить их черным жирным (условное форматирование), и, главное, они должны быть всегда вверху, независимо от даты.
В идеале отделить их каким-либо разделителем, наподобие как в конфигураторе или на рабочем столе разделителем можно мышью отодвигать...
Или как можно в рамках одной формы расположить 2-е формы с разным отбором документов по признаку?
Насколько такое можно осуществить?
Создал новую форму списка. Туда добавил 2-а динамических списка с разным отбором по "Особому".
Визуальный эффект получился.
А как мне можно будет к этим 2-м динамическим формам привязать 2-е разные формы документа. Т.к. расчет на формах документа из каждого списка будет разный.
Например, из "верхнего" при нажатии "Создать" нужно открыть форму, где будет автоматом устанавливаться реквизит "Особый" = Истина.
Т.е. вызывать свои формы из каждого динамического списка? Создам еще 2-е формы документа и их нужно привязать к своим динамическим спискам...
1. Можно динамически конструировать форму документа в зависимости от этого признака.
2. Можно при открытии формы по умолчанию проверять это признак, закрывать форму по умолчанию и открывать нужную форму. В таком случае можно не заморачиваться с кнопками в ДС.
3. Либо создать кнопки для "нестандартного" ДС так, чтобы они работали с "нужными" формами.
Пытаюсь открыть форму существующего документа нестандартной формы:
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьФорму("Документ.УстановкаЦенНаАртикулированныеСтелы.Форма.ФормаДокумента1", Новый Структура("Ключ",ВыбраннаяСтрока.Ссылка));
КонецПроцедуры
ОткрытьФорму("Документ.УстановкаЦенНаАртикулированныеСтелы.Форма.ФормаДокумента1", Новый Структура("Ключ", ВыбраннаяСтрока));
Vofka @ Сегодня, 15:34
,
а как теперь открыть форму для редактировании (карандашик) и при копировании из форма списка для открытия нужной формы?
Constantus, вот что я нагуглил на скорую руку:
&НаКлиенте
Процедура Команда(Команда)
Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта");
ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
Форма.Открыть();
КонецПроцедуры
// Можно использовать безконтекстный вызов, оптимизируем передачу данных
&НаСервереБезКонтекста
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);
Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ
Док = Документы.НашДокумент.СоздатьДокумент();
// Заполняем реквизиты объекта или другие действия ********
ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
КонецФункции
По-моему, это проще сделать без программирования, настройками формы. Группировка по признаку Особый, упорядочивание, чтобы были сверху, условное оформление чтобы выделить цветом.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua