|
Колонку из ТЧ на форму | ☑ | ||
---|---|---|---|---|
0
Dyspho
04.03.16
✎
08:20
|
В ТЧ есть ШаблонЭтикетки, хочу сделать, чтобы выбор этикетки был не в ТЧ(скрою видимость), а на форме(добавить реквизит?), подскажите как сделать
|
|||
1
Fedor-1971
04.03.16
✎
08:42
|
(0) в УФ просто вытащи из ТЧ на форму своё поле
для ОФ - сделай поле формы и в "Путь к данным" укажи поле из строки ТЧ Объекта Подойдёт? |
|||
2
Dyspho
04.03.16
✎
08:46
|
(1) УФ, выношу - не видит
|
|||
3
Dyspho
04.03.16
✎
08:47
|
(1) А не, это я баран, скрыл сначала, потом удивляюсь что не видит)
Думал надо добавлять реквизит в него помещать то, чтов тч,а в тч колонку скрыть) |
|||
4
Dyspho
04.03.16
✎
08:50
|
(1) Спасибо
|
|||
5
Fedor-1971
04.03.16
✎
08:53
|
(4) на здоровье
|
|||
6
Dyspho
04.03.16
✎
09:02
|
(5) Всё таки нетак надо)
Надо сделать, чтобы в реквизите на форме выбирался шаблон и подставлялся в ТЧ в скрытую колонку) |
|||
7
Fedor-1971
04.03.16
✎
09:09
|
(6) и? как в ТЧ выбирается шаблон? НачалоВыбора и ОбработкаВыбора - небось остались на ТЧ? подключи их к новому полю, и отладь работу
|
|||
8
Fedor-1971
04.03.16
✎
09:10
|
7+ или посмотри как заполняется СписокВыбора
|
|||
9
Dyspho
04.03.16
✎
09:12
|
(8) Надо именно, чтобы в ТЧ осталась колонка, но заполнялась при изменении реквизита на форме, выбрал в реквизите ШаблонЭтикетки 20х30 и сразу вТЧ в скрытой колонке выбралось тоже
|
|||
10
Dyspho
04.03.16
✎
09:25
|
Правильно понимаю, нужно событие у реквизита ПриИзменении и там как то указать, что при изменении Реквизит, колонка ТЧ ШаблонЭтикетки заполняется тем же значением?
|
|||
11
Fedor-1971
04.03.16
✎
09:34
|
(10) Ты сделал: из Объект-ТЧ-ШаблонЭтикетки - вытащил на форму рядом с таблицей. Проверил как он заполняется и исправил обработчики НачалоВыбора и ОбработкаВыбора и При Изменении с учётом того, что у тебя вынесен реквизит на форму (опора на Элемент уже не подойдёт)?
Если так, то ничего менять больше не нужно, если нет, тогда ПриИзменении пиши в таблицу |
|||
12
Dyspho
04.03.16
✎
09:39
|
(11) А нельзя создать новый реквизит,
и при его изменении что-то типа реквизит = объект.товары.шаблонэтикетки? |
|||
13
Fedor-1971
04.03.16
✎
09:45
|
(12) Конечно можно, только сделай отдельный реквизит формы. При активации строки заполняй его,при изменении пиши в ТЧ.
И направление присваивания перепутал. |
|||
14
Fedor-1971
04.03.16
✎
09:46
|
13+ Если сделал как в 11, то всё это будет делать платформа
|
|||
15
Dyspho
04.03.16
✎
09:47
|
(13) а как правильно обратиться к строке тч ? объект.товары.шаблонэтикетки - Поле объекта не обнаружено (ШаблонЭтикетки)
|
|||
16
Dyspho
04.03.16
✎
09:57
|
ы?
|
|||
17
Pro-tone
04.03.16
✎
10:01
|
(15) сперва получить строку надо, строка тогда будет коллекция, в которой поля - это твои колонки
|
|||
18
Dyspho
04.03.16
✎
10:02
|
(17) &НаКлиенте
Процедура Реквизит1ПриИзменении(Элемент) Элементы.Товары.ТекущиеДанные.ШаблонЭтикетки = Реквизит1; КонецПроцедуры \ сделал так и всё вроде работает |
|||
19
Dyspho
04.03.16
✎
10:06
|
(17) Надо было по-другому?
|
|||
20
Fedor-1971
04.03.16
✎
10:11
|
(19) НаКлиенте
стр=Элементы.ТЧ.ТекущиеДанные Если стр=неопределено тогда //попытались внести данные без строки в ТЧ Возврат; КонецЕсли; стр.ШаблонЭтикетки=Реквизит1; Как-то так |
|||
21
Dyspho
04.03.16
✎
10:15
|
(20) А почему моё неправильно?
|
|||
22
Fedor-1971
04.03.16
✎
10:18
|
(21) по причине того, что внешний реквизит ничего не знает про тот факт, что в ТЧ просто может не быть строк и куда тогда писать то что выбрано?
при таком раскладе Элементы.Товары.ТекущиеДанные.ШаблонЭтикетки - вызовет ошибку |
|||
23
Dyspho
04.03.16
✎
10:20
|
(22) Понял, спасибо за инфу !)
|
|||
24
Fedor-1971
04.03.16
✎
10:20
|
(23) на здоровье.
|
|||
25
Kondarat
04.03.16
✎
10:22
|
(23) Это только на тот случай, когда надо засунуть шаблон в активную строку ТЧ. А если в ТЧ несколько строк?
|
|||
26
Dyspho
04.03.16
✎
10:25
|
(25) Я понял, мне мой вариант тоже подходит, т.к. у меня в при выборе строки предыдущая затирается, зато теперьбуду знать)
|
|||
27
Fedor-1971
04.03.16
✎
10:25
|
(25) в 11 написано: при активации строки - заполняем реквизит текущими данными, если изменили, то изменения пишем в текущую строку
|
|||
28
Dyspho
04.03.16
✎
11:29
|
Извиняюсь, ещё вопрос, а как сделать, чтобы шаблон этикетокоткрывался выбор с отбором, только 2 нужные мне этикетки?
|
|||
29
Dyspho
04.03.16
✎
11:36
|
1
|
|||
30
Fedor-1971
04.03.16
✎
11:40
|
(28) передай условие в форму выбора или заполни СписокВыбора в НачалоВыбора или НачалоВыбораИзСписка твоего Реквизит1
|
|||
31
Dyspho
04.03.16
✎
11:43
|
(30) Не понимаю)
|
|||
32
Fedor-1971
04.03.16
✎
11:53
|
(31) задавай вопрос. В какой части непонятно
|
|||
33
Dyspho
04.03.16
✎
11:54
|
(30) Можно пример,как программно открывать в форму выбора справочника с отбором
|
|||
34
Fedor-1971
04.03.16
✎
11:58
|
(33) пар=новый Структура;
пар.Вставить("ОтбиратьНужноеМне", Истина); ОткрытьФорму("Справочник.Нечто.ФормаВыбора", пар); в ПриСозданииНаСервере формы выбора Если Параметры.Свойство("ОтбиратьНужноеМне") тогда от=Параметры.ОтбиратьНужноеМне; дальше устанавливаешь нужные тебе отборы или рулишь запросом ДС КонецЕсли; Прочитай в инете про Отбор - информации много |
|||
35
Dyspho
04.03.16
✎
12:03
|
А в "Отбирать нужноемне" можно указывать название шаблона этикетки? ("Этикетка 20на30") к примеру
|
|||
36
Fedor-1971
04.03.16
✎
12:11
|
(35) Это как хочешь - главное, что-бы смог настроить ДС или организовать выбор
Если их у тебя 2 вида, так заполни СписокВыбора у поля формы Реквизит1 и не заморачивайся с открытием окон. Будет выпадающий списочек из нескольких строк. Аналогично почитай как его заполнить в инете. |
|||
37
Dyspho
04.03.16
✎
12:21
|
(36) Чот не найду как заполнять )
|
|||
38
Dyspho
04.03.16
✎
12:40
|
(36) Не подскажете ?) Не могу сообразить и инфу норм найти
|
|||
39
Kondarat
04.03.16
✎
12:43
|
СписокВыбора элемента формы - это обычный список значений.
Вот в него и добавляешь нужные шаблоны, устанавливаешь режим выбора из списка и все. |
|||
40
Dyspho
04.03.16
✎
12:44
|
(39) Не получается там добавить шаблоны
|
|||
41
Kondarat
04.03.16
✎
12:45
|
Покажи как добавляешь.
|
|||
42
Dyspho
04.03.16
✎
12:45
|
(39) Туда вообще ничегоне получается добавить
|
|||
43
Dyspho
04.03.16
✎
12:47
|
||||
44
hhhh
04.03.16
✎
12:50
|
(42) ну и где там галки, что режим выбора из списка? Что ты нам фуфло подсовываешь?
|
|||
45
Dyspho
04.03.16
✎
12:51
|
||||
46
Kondarat
04.03.16
✎
13:13
|
Конфигуратор ничего не знает про твои шаблоны. Добавляй программно.
|
|||
47
Dyspho
04.03.16
✎
13:19
|
(46) Ну я изначально и просил помочь добавить программно
хотябы пример как это сделать |
|||
48
Kondarat
04.03.16
✎
13:20
|
(47) Тебе нужен код как найти твои шаблоны и добавить их в список значений?
|
|||
49
Dyspho
04.03.16
✎
13:21
|
(48) Я даже примерно не знаю как делать, прошу как-нибудь помочь
|
|||
50
Fedor-1971
04.03.16
✎
13:24
|
(47)
&НаКлиенте Процедура Реквизит1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; спис=Новый СписокЗначений; спис.Добавить( тут получи ссылку на свой шаблон1, "шаблон1"); спис.Добавить( тут получи ссылку на свой шаблон2, "шаблон2"); ДанныеВыбора=спис; КонецПроцедуры Прочитай какую-нить книжку по программированию в 1С. |
|||
51
Dyspho
04.03.16
✎
13:25
|
(50) да НАДО БЫ
|
|||
52
Dyspho
04.03.16
✎
13:26
|
(50) А ссылку на шаблон получить как ?
|
|||
53
luter-89
04.03.16
✎
13:26
|
)) Ну как тут не потроллить)
|
|||
54
luter-89
04.03.16
✎
13:27
|
(52) Шаблон - это же внешний файл на диске? Тогда ссылка э то путь
|
|||
55
Dyspho
04.03.16
✎
13:28
|
(54) нет, шаблон это шаблон этикетки на скд
|
|||
56
luter-89
04.03.16
✎
13:28
|
Если шаблон - это эл. справочника, то это Справочники.ШаблоныЭтикетокИлиКактоТак.Выбрать() - это ссылка
|
|||
57
luter-89
04.03.16
✎
13:29
|
(55) Макет что ли?
|
|||
58
Dyspho
04.03.16
✎
13:29
|
(57) Ну да
|
|||
59
luter-89
04.03.16
✎
13:29
|
Я с ними никогда не сталкивался
|
|||
60
Dyspho
04.03.16
✎
13:29
|
Справочники.ХранилищеШаблонов, я полагаю
|
|||
61
luter-89
04.03.16
✎
13:30
|
Ну, получи макеты тогда
|
|||
62
luter-89
04.03.16
✎
13:30
|
(60) По идее должен быть справочник
|
|||
63
Dyspho
04.03.16
✎
13:30
|
(62) ну Справочники.ХранилищеШаблонов
|
|||
64
luter-89
04.03.16
✎
13:31
|
Ну и в чем проблема? Получить необходимый список эл справочника?
|
|||
65
Dyspho
04.03.16
✎
13:33
|
да в этом проблема)
|
|||
66
luter-89
04.03.16
✎
13:35
|
Чтобы программно выбрать именно тот шаблон,который тебе нужен, у него должен быть какой-нибудь уникальный признак, например на самый плохой случай - это код элемента
|
|||
67
Dyspho
04.03.16
✎
13:37
|
||||
68
luter-89
04.03.16
✎
13:38
|
Запрос = Новый Запрос;
Запрос.Текст = "Выбрать Спр.Ссылка КАК Шаблон ИЗ Справочник.ХранилищеШаблонов КАК Спр ГДЕ Код = &КОД"; Запрос.УстановитьПараметр("Код",100500); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий; СсылкаНаШаблон = Выборка.Шаблон; " |
|||
69
Dyspho
04.03.16
✎
13:41
|
&НаСервере
Процедура Реквизит1ПриИзменении(Элемент) стр=Элементы.Товары.ТекущиеДанные; Если стр=неопределено тогда //попытались внести данные без строки в ТЧ Возврат; КонецЕсли; КонецПроцедуры тут этописать ? |
|||
70
luter-89
04.03.16
✎
13:41
|
Добавь регистр сведений. Измерение - Шаблон, Ресур - Использовать
Сделай записи в регистр. Например добавил шаблон, указал флаг использовать. Флаг использовать - это флаг программного использования шаблона в список значений. А потом Запросом к регистру получишь необходимый набор ссылок. Регистр нужен для того, чтобы не менять типовой справочник |
|||
71
Dyspho
04.03.16
✎
13:43
|
жесть какая а
|
|||
72
luter-89
04.03.16
✎
13:43
|
Сообщение 50 читал?
|
|||
73
luter-89
04.03.16
✎
13:45
|
Я тебе подсказал что делать после 50 сообщения
|
|||
74
Dyspho
04.03.16
✎
13:50
|
(73) Да не пойму я как получить ссылку на шаблон этот
|
|||
75
luter-89
04.03.16
✎
13:58
|
(74) Открываешь синтакс помощник. Смотришь такой класс - как СправочникиМенеджер. То есть обращение Справочники. - это класс СправочникиМенеджер. Далее, у класса СправочникиМенеджер есть свойство - ИмяСправочника. Какой у нас справочник? Правильно ХранилищеШаблонов. То что надо.
Итого Справочники.ХранилищеШаблонов. Теперь это у нас какой класс? СправочникМенеджер. А какие есть у него методы? А например Выбрать(). А что он возвращает? Следующий класс СправочникиВыборка, а у него есть свойство - ссылка. И это то что нужно. Рановато ты за такую задачу взялся. Сначала надо основы знать |
|||
76
luter-89
04.03.16
✎
13:58
|
Судя по твоим сообщениям тебе не подсказка нужна, тебе нужно полностью решить задачу
|
|||
77
Dyspho
04.03.16
✎
15:13
|
&НаКлиенте
Процедура Реквизит1ПриИзменении(Элемент) пар=новый Структура; ОткрытьФорму("Справочник.ХранилищеШаблонов.ФормаВыбора", пар); СтандартнаяОбработка=Ложь; спис=Новый СписокЗначений; спис.Добавить(Справочники.ХранилищеШаблонов.НайтиПоНаименованию("этикетка 40на57")); спис.Добавить(справочники.ХранилищеШаблонов.НайтиПоНаименованию("Этикетка 20на30")); ДанныеВыбора=спис; стр=Элементы.товары.ТекущиеДанные; Если стр=неопределено тогда //попытались внести данные без строки в ТЧ Возврат; КонецЕсли; стр.ШаблонЭтикетки=Этикетка; КонецПроцедуры код на клиенте, но к справочникам нельзя обращаться на клиенте как быть ? |
|||
78
luter-89
04.03.16
✎
15:26
|
ОткрытьФорму("Справочник.ХранилищеШаблонов.ФормаВыбора", пар);
А зачем форму открывать? |
|||
79
luter-89
04.03.16
✎
15:27
|
А список заполняй на сервере
|
|||
80
Dyspho
04.03.16
✎
15:35
|
как?(
|
|||
81
Dyspho
04.03.16
✎
15:37
|
Процедура СписокНаСервере()
спис=Новый СписокЗначений; спис.Добавить(Справочники.ХранилищеШаблонов.НайтиПоНаименованию("этикетка 40на57")); спис.Добавить(справочники.ХранилищеШаблонов.НайтиПоНаименованию("Этикетка 20на30")); ДанныеВыбора=спис; КонецПроцедуры |
|||
82
Dyspho
04.03.16
✎
15:37
|
и на клиенте её вызывать?
|
|||
83
Dyspho
04.03.16
✎
15:38
|
1 хер все этикетки выпадают...
|
|||
84
luter-89
04.03.16
✎
15:43
|
&НаКлиенте
Процедура Реквизит1НачалоВыбора(Элемент, ДанныеВыбора,СтандартнаяОбработка) СтандартнаяОбработка=Ложь; Список =Новый СписокЗначений; СформироватьСписок(Список); ДанныеВыбора=Список ; КонецПроцедуры НаСервере Процедура СформироватьСписок(Список) Запрос = Новый Запрос; Запрос.Текст = "Выбрать Спр.Ссылка КАК Ссылка ИЗ Справочник.ХранилищеШаблонов КАК Спр ГДЕ Спр.КОД = &Код" Запрос.УстановитьПараметр("Код","123"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Список.Добавить(Выборка.Ссылка); КонецЦикла КонецПроцедуры |
|||
85
luter-89
04.03.16
✎
15:43
|
По наименование искать не нужно
|
|||
86
luter-89
04.03.16
✎
15:44
|
Лучше сделать регистр как я тебе говорил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |