Гость
Форумы / [игнор отключен] [закрыт для гостей] / Форма с нуля / 20 сообщений из 20, страница 1 из 1
25.01.2016, 10:19
    #39154289
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Не могу в конфигураторе с нуля создать форму списка с колонками в таблице.
в нете все описывается программно об интерактивном создании примеров не нашел
Я хочу с помощью интеракивных средств создать форму для иерархического справочника как проводник windows - слева дерево, справа строки, потому что представление справочника в виде дерева некомпактно.

Плиз дайте пожалуйста ссылки или раскритикуйте идею.
...
Рейтинг: 0 / 0
25.01.2016, 10:37
    #39154301
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Draginsv, такого полно в типовых конфигурациях, просто посмотрите как там сделано. например, список номенклатуры в ут11
...
Рейтинг: 0 / 0
25.01.2016, 10:39
    #39154303
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Draginsv,
...
Рейтинг: 0 / 0
25.01.2016, 10:49
    #39154311
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapecker ,

Спасибо буду разбираться. Но как говориться самому с нуля это отличная тренировка в развитии.
Никак не уясню себе что в 1С танцуют от реквизита в форме, старая привычка от акцеса сидит крепко - все начинается от элементов управления.
...
Рейтинг: 0 / 0
25.01.2016, 12:33
    #39154415
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Как в отборе списка при интерактивной настройке в конфигураторе сослаться на значение к.н. элемента управления?
...
Рейтинг: 0 / 0
25.01.2016, 13:28
    #39154483
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
DraginsvКак в отборе списка при интерактивной настройке в конфигураторе сослаться на значение к.н. элемента управления? насколько мне известно, интерактивно никак
...
Рейтинг: 0 / 0
25.01.2016, 13:49
    #39154523
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
а я мучаюсь методом тыка. Значит только программно через элементы отбора.
А вообще какой оптимальный метод решения такой постановки задачи:
Два динамических списка - слева дерево, справа строки, при позиционировании по дереву обновляются строки.
В списке дерева - представление в виде дерева путь к данным -реквизит не основной справочник.номенклатура отбор настроен интерактивно этогруппа истина. Далее я хочу получить ссылку в дереве и применить ее для отбора по родителю в списке строк справа, который ссылается на основной реквизит и тоже справочник.номенклатура.
Только вот как через отбор или произвольный запрос?
И как получить ссылку в дереве?
Пытался через текущие данные, говорит ссылка недоступна. Как вытянуть?
...
Рейтинг: 0 / 0
25.01.2016, 19:32
    #39154990
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Удалось через запрос решить задачку следующим образом

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
&НаКлиенте
Процедура ДеревоГруппПриАктивизацииСтроки(Элемент)
	
	ТекСсылка = Неопределено;
	ТекСтр = Элементы.ДеревоГрупп.ТекущиеДанные;
	Если ТекСтр <> Неопределено Тогда
		ТекСсылка = Элементы.ДеревоГрупп.ТекущиеДанные.Ссылка;
	КонецЕсли;
	ДеревоГруппПриИзмененииНаСервере(ТекСсылка);
	
КонецПроцедуры

&НаСервере
Процедура ДеревоГруппПриИзмененииНаСервере(Ссылка)
	Если Ссылка = Неопределено Тогда
		 Ссылка = Справочники.Номенклатура.ПустаяСсылка();
	 КонецЕсли;
	 
	СтрокиГрупп.ТекстЗапроса ="
	|	ВЫБРАТЬ
	|	СправочникНоменклатура.Ссылка,
	|	СправочникНоменклатура.ПометкаУдаления,
	|	СправочникНоменклатура.Родитель,
	|	СправочникНоменклатура.ЭтоГруппа,
	|	СправочникНоменклатура.Код,
	|	СправочникНоменклатура.Наименование,
	|	СправочникНоменклатура.Артикул,
	|	СправочникНоменклатура.ЕдиницыИзмерения,
	|	СправочникНоменклатура.ЦенаПродажи,
	|	СправочникНоменклатура.Предопределенный,
	|	СправочникНоменклатура.ИмяПредопределенныхДанных
	|ИЗ
	|	Справочник.Номенклатура КАК СправочникНоменклатура
	|ГДЕ
	|	СправочникНоменклатура.Родитель = &Родитель";
	
	СтрокиГрупп.Параметры.УстановитьЗначениеПараметра("Родитель", Ссылка);
	Элементы.СтрокиГрупп.Обновить();
	
КонецПроцедуры



Никак в привычку не войдет что в 1С ссылка т е Id везде вылазит в виде наименования.
Все что видно в колонках таблицы то и доступно через ТекущиеДанные, стоит у колонки видимость убрать как поле становится недоступным. Тогда я включил в колонки деревогрупп только саму ссылку она все равно в виде наименования в форме.
Сейчас отрабатываю отбор.
...
Рейтинг: 0 / 0
25.01.2016, 19:52
    #39155005
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
С отбором не работает, что не так?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
&НаСервере
Процедура ДеревоГруппПриИзмененииНаСервере(Ссылка)
	Если Ссылка = Неопределено Тогда
		 Ссылка = Справочники.Номенклатура.ПустаяСсылка();
	 КонецЕсли;
	
	СтрокиГрупп.Отбор.Элементы.Очистить();
	ЭлОтбора = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");
	ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора.ПравоеЗначение = Ссылка;
	ЭлОтбора.Использование = Истина;
	ЭлОтбора1 = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоГруппа");
	ЭлОтбора1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора1.ПравоеЗначение = Истина;
	ЭлОтбора1.Использование = Истина;
	Элементы.СтрокиГрупп.Обновить();
	
КонецПроцедуры



заменена только серверная процедура
...
Рейтинг: 0 / 0
25.01.2016, 21:04
    #39155061
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Почитал в нете про отбор вычитал следующее
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
	СтрокиГрупп.Отбор.Элементы.Очистить();	 
	

	ГруппаОтбора = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	
	ЭлОтбора = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора.Родитель = ГруппаОтбора;
	ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");
	ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора.Использование = Истина;
	ЭлОтбора.ПравоеЗначение = Ссылка;
	
	
	ЭлОтбора = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора.Родитель = ГруппаОтбора;
	ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоГруппа");
	ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора.Использование = Истина;
	ЭлОтбора.ПравоеЗначение = Ложь;

	Элементы.СтрокиГрупп.Обновить();


Отлаживаю и не пойму почему с первой строчки ЭлОтбора.Родитель = ГруппаОтбора;
перескакивает на СтрокиГрупп.Отбор.Элементы.Очистить(); и так до бесконечности.
Это глюк или мои ошибки?
...
Рейтинг: 0 / 0
25.01.2016, 21:21
    #39155075
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
реставрировал
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
	СтрокиГрупп.Отбор.Элементы.Очистить();	 
	
	ГруппаОтбора = СтрокиГрупп.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	ГруппаОтбора.Использование = Истина;
	ЭлОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");
	ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора.Использование = Истина;
	ЭлОтбора.ПравоеЗначение = Ссылка;
	ЭлОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоГруппа");
	ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ЭлОтбора.Использование = Истина;
	ЭлОтбора.ПравоеЗначение = Ложь;
	
	Элементы.СтрокиГрупп.Обновить();



результат : высвечиваются группы и раскрывается только та которая выделена слева остальные пустые.
Как с отбором добиться чтобы в списке были только подчиненные записи а не сами группы?
...
Рейтинг: 0 / 0
25.01.2016, 22:24
    #39155113
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
При существующих настройках СтрокиГрупп Отображение ИерархическийСписок через произвольный запрос все работало
при отборе результат в предыдущем топике.
Изменил настройки СтрокиГрупп Отображение Список - заработало при отборе. Высвечиваются только подчиненные позиции без групп.
...
Рейтинг: 0 / 0
25.01.2016, 22:26
    #39155115
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapeckerDraginsv, такого полно в типовых конфигурациях, просто посмотрите как там сделано. например, список номенклатуры в ут11
В Управление торговлей, редакция 11.1 (11.1.10.176) не нашел подобных форм.
...
Рейтинг: 0 / 0
26.01.2016, 12:38
    #39155429
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Draginsv,
...
Рейтинг: 0 / 0
26.01.2016, 13:22
    #39155474
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapecker,

посмотрел, реализовано через отбор и примерно такой же подход. Отличие - сложный код вложенности с идентификацией разного рода настроек компоновки данных. М б если придется обобщать то тоже придем к разного рода вложенностям но это надо быть очень очень скрупулезным. Многих кого спрашивал не любят 1С из-за сложной вложенности в коде их типовых решений.
...
Рейтинг: 0 / 0
26.01.2016, 13:41
    #39155505
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapecker,

Заметил интересную вещь: В конфигураторе УТ11 и моей пробной - в конструкторе формы высота строк большая и одинаковая
в режиме 1С предприятие в УТ11 высота строк меньше чем в конфигураторе и моей пробной конфигурации. В свойствах и параметрах разницы не обнаружил. С чем это связано?
...
Рейтинг: 0 / 0
26.01.2016, 13:49
    #39155526
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Высота строк в конфигураторе УТ11 отличается от 1С предприятия
...
Рейтинг: 0 / 0
26.01.2016, 15:05
    #39155652
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
Draginsv,В свойствах и параметрах разницы не обнаружил. С чем это связано? наверное с тем что в конфигураторе при конструировании формы у вас интерфейс такси, а в режиме предприятия нет.
...
Рейтинг: 0 / 0
26.01.2016, 15:27
    #39155685
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapecker,
а какой здесь интерфейс?
...
Рейтинг: 0 / 0
29.01.2016, 10:55
    #39158305
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма с нуля
javapecker,

Нашел как уменьшить высоту строк в формах: Свойства формы "Вариант масштаба" - "Компактный".

Теперь еще бы в панелями такси решить подобный вопрос.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Форма с нуля / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]