Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Форма списка документа: отделить ряд документов по определенному признаку, разместить вверху          
Constantus Подменю пользователя
сообщение 27.08.19, 10:35
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
1с.8.3.12, самопис, УФ, БСП

Полный бред, конечно, но вот уперлись хозяева жизни...

Имеется форма списка документа "Установка цен".
Требуется каким-то образом отделить ряд этих документов по определенному признаку (пусть это будет булевский реквизит "Особые" на форме), выделить их черным жирным (условное форматирование), и, главное, они должны быть всегда вверху, независимо от даты.

В идеале отделить их каким-либо разделителем, наподобие как в конфигураторе или на рабочем столе разделителем можно мышью отодвигать...

Или как можно в рамках одной формы расположить 2-е формы с разным отбором документов по признаку?

Насколько такое можно осуществить?

Создал новую форму списка. Туда добавил 2-а динамических списка с разным отбором по "Особому".

Визуальный эффект получился.

А как мне можно будет к этим 2-м динамическим формам привязать 2-е разные формы документа. Т.к. расчет на формах документа из каждого списка будет разный.

Например, из "верхнего" при нажатии "Создать" нужно открыть форму, где будет автоматом устанавливаться реквизит "Особый" = Истина.

Т.е. вызывать свои формы из каждого динамического списка? Создам еще 2-е формы документа и их нужно привязать к своим динамическим спискам...

pablo Подменю пользователя
сообщение 27.08.19, 10:39
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

1. Можно динамически конструировать форму документа в зависимости от этого признака.
2. Можно при открытии формы по умолчанию проверять это признак, закрывать форму по умолчанию и открывать нужную форму. В таком случае можно не заморачиваться с кнопками в ДС.
3. Либо создать кнопки для "нестандартного" ДС так, чтобы они работали с "нужными" формами.

Сообщение отредактировал pablo - 27.08.19, 10:39


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Constantus Подменю пользователя
сообщение 27.08.19, 11:13
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Пытаюсь открыть форму существующего документа нестандартной формы:

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

СтандартнаяОбработка = Ложь;
ОткрытьФорму("Документ.УстановкаЦенНаАртикулированныеСтелы.Форма.ФормаДокумента1", Новый Структура("Ключ",ВыбраннаяСтрока.Ссылка));
КонецПроцедуры


выдает ошибку: Поле объекта не обнаружено (Ссылка)

Как правильно открыть форму?

Vofka Подменю пользователя
сообщение 27.08.19, 11:34
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

ОткрытьФорму("Документ.УстановкаЦенНаАртикулированныеСтелы.Форма.ФормаДокумента1", Новый Структура("Ключ", ВыбраннаяСтрока));

?

Спасибо сказали: Constantus,

Constantus Подменю пользователя
сообщение 27.08.19, 11:48
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Vofka @ Сегодня, 15:34 * ,


а как теперь открыть форму для редактировании (карандашик) и при копировании из форма списка для открытия нужной формы?

Vofka Подменю пользователя
сообщение 27.08.19, 11:57
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Constantus @ 27.08.19, 12:48) *
а как теперь открыть форму для редактировании (карандашик)

При открытии формы не указывается открыть её на редактирование или на просмотр. Редактирование/не редактирование регулируется либо правами в ролях либо из кода играться свойствами Доступность, ТолькоПросмотр.

Цитата(Constantus @ 27.08.19, 12:48) *
и при копировании из форма списка для открытия нужной формы?

Вы хотите, что бы при нажатии кнопки скопировать открывалась копия выбранного документа (но по факту это новый документ) с возможностью там что-то поменять?

sava1 Подменю пользователя
сообщение 27.08.19, 12:08
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Vofka @ 27.08.19, 12:57) *
При открытии формы не указывается открыть её на редактирование или на просмотр

не надо...
ТолькоПросмотр - это параметр формы и его можно указать при открытии формы

написано же -

Цитата(pablo @ 27.08.19, 11:39) *
2. Можно при открытии формы по умолчанию проверять это признак, закрывать форму по умолчанию и открывать нужную форму. В таком случае можно не заморачиваться с кнопками в ДС.



как вариант - использовать ПриПолученииФормы

Constantus Подменю пользователя
сообщение 27.08.19, 13:17
Сообщение #8

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Цитата(Vofka @ 27.08.19, 15:57) *
Вы хотите, что бы при нажатии кнопки скопировать открывалась копия выбранного документа (но по факту это новый документ) с возможностью там что-то поменять?


Да, это должен быть новый документ с полным наборам данных документа источника. Классическое открытие при копировании

Цитата(pablo @ 27.08.19, 14:39) *
2. Можно при открытии формы по умолчанию проверять это признак, закрывать форму по умолчанию и открывать нужную форму. В таком случае можно не заморачиваться с кнопками в ДС.


А как правильно сначала открыть, потом закрыть? На какое событие ставить?

Vofka Подменю пользователя
сообщение 27.08.19, 13:19
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Constantus, вот что я нагуглил на скорую руку:

&НаКлиенте
Процедура Команда(Команда)

Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта");
ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
Форма.Открыть();

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

// Можно использовать безконтекстный вызов, оптимизируем передачу данных

&НаСервереБезКонтекста

Функция ЗаполнитьДокументНаСервере(ДанныеФормы);

Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ

Док = Документы.НашДокумент.СоздатьДокумент();

// Заполняем реквизиты объекта или другие действия ********

ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ

КонецФункции

sava1 Подменю пользователя
сообщение 27.08.19, 13:43
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Constantus @ 27.08.19, 14:17) *
На какое событие ставить?

ПриОткрытии - открываем нужнуюФорму - ЭтаФорма.Закрыть();

Сообщение отредактировал sava1 - 27.08.19, 13:45

mut Подменю пользователя
сообщение 27.08.19, 20:31
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

По-моему, это проще сделать без программирования, настройками формы. Группировка по признаку Особый, упорядочивание, чтобы были сверху, условное оформление чтобы выделить цветом.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 14:00
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!