|   |   | 
| 
 | Колонку из ТЧ на форму | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Лучше сделать регистр как я тебе говорил     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |