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

Хранилище

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

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



> Реквизит в ТЧ документа в виде списка          
alexkhua Подменю пользователя
сообщение 17.09.13, 14:08
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Есть ли возможность добавить реквизит в ТЧ документа в виде списка? Т.е. есть Товар у него есть ИндивидуальныеПризнаки их может быть больше одного.

Zaval Подменю пользователя
сообщение 17.09.13, 14:45
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Вторая ТабЧасть с отбором по активной строке первой.

sava1 Подменю пользователя
сообщение 17.09.13, 15:22
Сообщение #3

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

ключевое слово Выбор

Выбор = ВыбратьИзСписка(СписокЗначений, ЭлементФормы, НачальноеЗначение);


Или смотреть как организовано Свойства (Номенклатуры)

Сообщение отредактировал Vofka - 17.09.13, 15:19

Zaval Подменю пользователя
сообщение 17.09.13, 15:45
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Нет.
Во второй ТЧ - все Признаки всех Номенклатур + колонка с ключом, указывающим на "свою" строку первой ТЧ.
При активизации строки в первой ТЧ - во второй включается отбор по значению этой колонки, т. о. видны только Признаки, относящиеся к активной строке Номенклатуры.

Пример... ну, в альфа-авто есть Наряд, в УТП и УПП в ОтчетеПроизводстваЗаСмену должно быть нечто подобное.

Упс ... в ЗУПе таких доков пруд пруди...

Сообщение отредактировал Zaval - 17.09.13, 15:38

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

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

Согласен - не понял сразу. Возможен вариант со строчным реквизитом, признаки через запятую

alexkhua Подменю пользователя
сообщение 17.09.13, 18:26
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(sava1 @ 17.09.13, 18:13) *
Согласен - не понял сразу. Возможен вариант со строчным реквизитом, признаки через запятую

Да, такой вариант и нужен. Создаю реквизит ТЧ, со ссылкой на справочник ИндПризнаки. Далие на форме добавляю колонку с признаком поле выбора и ничего не получаю.

Нужно что-то наподобие того как в настройках отчетов выбираешь элементы в списке.

Zaval Подменю пользователя
сообщение 18.09.13, 1:03
Сообщение #7

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Ну кто ж так вопросы задает? sad.gif

Вам нужен реквизит табЧасти, значение которого будет выбираться из списка? Это совсем не "реквизит в виде списка"... ... ...

В ТЧ добавляйте колонку,
Свойства колонки:
элемент управления - поле выбора.
Свойства поля - настроить высоту и ширину списка выбора
Затем читать пост 3 (sava1 оказался догадливее меня smile.gif)
Список значений для выбора заполнять, нпр, при начале редактирования строки - это если Признаки у каждой Номенклатуры разные, иначе можно при открытии документа.

Если ИндПризнаки - справочник, подчиненный элементам Номенклатуры, тогда есть еще вариант без заполнения списка. Выбирать придется из формы списка справочника(из какой именно - можно выбрать), но там будут только нужные элементы.
Для этого - элемент управления "поле ввода" и настроить Связь по владельцу.




alexkhua Подменю пользователя
сообщение 18.09.13, 9:43
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Zaval @ 18.09.13, 2:03) *
Ну кто ж так вопросы задает? sad.gif

Вам нужен реквизит табЧасти, значение которого будет выбираться из списка? Это совсем не "реквизит в виде списка"... ... ...

Не пойму why.gif . Мне нужно, что б значение моей колонки было в виде строки с перечисленными ч/з запятую признаками
признак1, признак2, и т.д. Но что б заполнить ее можно было ч/з открывающуюся форму списка значений. Может создать дополнительную форму с таблицей ИндПризнаков, открывать ее при начале выбора , а потом переносить данные таблицы в строку колонки????

Zaval Подменю пользователя
сообщение 18.09.13, 9:57
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Можно попробовать сделать через список с пометками.
Но проще будет сделать подбор - посмотрите в любом отчете, как формируется Отбор с видом сравнения ВСписке. Только не открывать форму для добавления значений, а сразу программно кнопку Подбор.

alexkhua Подменю пользователя
сообщение 19.09.13, 10:57
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Люди help.gif Можно ли пойти таким путем. Через множественный выбор. В процедуре
Процедура ТоварыИндПризнакиОткрытие(Элемент, СтандартнаяОбработка)
    
    //СтандартнаяОбработка = Ложь;
    ФормаПризнаков = Справочники.ИндивидуальныеПризнаки.ПолучитьФормуВыбора();
    ФормаПризнаков.МножественныйВыбор = Истина;
    ФормаПризнаков.ЗакрыватьПриВыборе = Ложь;
    ФормаПризнаков.Открыть();
    
    ОбработкаВыбора(Элемент,ФормаПризнаков );/// Вот тут не пойму что куда передавать и правильно ли это???

    

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


А дальше в процедуре ОбработкаВыбора ()
  МассивВыбранныхЭлементов = Новый Массив; 
  Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.ИндивидуальныеПризнаки") Тогда // Тут что-то не работает
     МассивВыбранныхЭлементов.Добавить(ЗначениеВыбора);
  ИначеЕсли ТипЗнч(ЗначениеВыбора) = Тип("Массив") Тогда
     МассивВыбранныхЭлементов = ЗначениеВыбора;
  КонецЕсли;

  Для каждого Элемент Из МассивВыбранныхЭлементов Цикл
      
    Сообщить(Элемент);
    
  КонецЦикла;


Конечно если это не полная чепуха. Как мне получить и вернуть массив выбранных элементов?












logist Подменю пользователя
сообщение 19.09.13, 11:14
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Причем множественный выбор к вопросу темы?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alexkhua Подменю пользователя
сообщение 19.09.13, 12:04
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(logist @ 19.09.13, 12:14) *
Причем множественный выбор к вопросу темы?

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

logist Подменю пользователя
сообщение 19.09.13, 12:39
Сообщение #13

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(alexkhua @ 19.09.13, 11:57) *
Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.ИндивидуальныеПризнаки") Тогда // Тут что-то не работает

ЗначениеВыбора - это и есть массив того что выбрали в форме.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alexkhua Подменю пользователя
сообщение 19.09.13, 19:17
Сообщение #14

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Все по порядку. Поправьте меня, пожалуйста:

1)Добавил реквизит в ТЧ Товары. Тип строка

2)Добавил колонку на форме в ТЧ

3)В обработке НачалоВыбора :
Процедура ТоварыИндПризнакиНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    Форма = Справочники.ИндивидуальныеПризнаки.ПолучитьФормуВыбора();
    Форма.МножественныйВыбор = Истина;
    Форма.ЗакрыватьПриВыборе = Ложь;
    Форма.Открыть();
    ЭлементыФормы.Товары.ТекущаяСтрока.ИндПризнаки = Получить(ТекЗначениеПризнаков, Форма);

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

4)Получим строку ТекЗначениеПризнаков:
Функция  Получить(ТекЗначениеПризнаков, Источник)
        
    ОбработкаВыбора (МассивВозврата, Источник);
    //Дальше из массиваВозврата получим Строку ТекЗначениеПризнаков

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



5)Дальше, самое непонятное. В ОбработкеВыбора ФормыДокумента ЗаказПокупателя Дописываем:

Для каждого ВыделенныеСтрока Из Источник.ЭлементыФормы.СправочникСписок.ВыделенныеСтроки Цикл
        Если ЗначениеЗаполнено(ВыделенныеСтрока) Тогда
            ЗначениеВыбора.Добавить(ВыделенныеСтрока);
        КонецЕсли;        
    КонецЦикла;


В режиме 1с открываю при активации строки форму выбора ИндПризнаков, могу выделить несколько элиментов и все... В ОбработкуВыбора передается моя форма и массив, Но заполнить его и вернуть обратно я не могу. Что я не так делаю?














logist Подменю пользователя
сообщение 19.09.13, 20:03
Сообщение #15

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Пункт 5 точно шо попало, в следствии того, что пункт 4 непонятно что делает.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alexkhua Подменю пользователя
сообщение 19.09.13, 20:21
Сообщение #16

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(logist @ 19.09.13, 21:03) *
Пункт 5 точно шо попало, в следствии того, что пункт 4 непонятно что делает.

Блин, ну в какой же процедуре мне получить этот Массив выделенных элементов. Ни что на него не реагирует. 09000000.gif

logist Подменю пользователя
сообщение 19.09.13, 22:10
Сообщение #17

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(alexkhua @ 19.09.13, 21:21) *
Блин, ну в какой же процедуре мне получить этот Массив выделенных элементов

В одной единственной, у ячейки в НачалеВыбора
Процедура ПолеВвода1НачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = Справочники.ИндивидуальныеПризнаки.ПолучитьФормуВыбора(,ЭтаФорма);
    ФормаВыбора.МножественныйВыбор = Истина;
    Результат = ФормаВыбора.ОткрытьМодально();
    Если ТипЗнч(Результат) = Тип("Массив") Тогда
        ПолеВвода1 = "";
        Для Каждого Эл Из Результат Цикл
            ПолеВвода1 = ?(ПолеВвода1="",Эл, ПолеВвода1+ ", " + Эл);
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры


Signature
Личные бесплатные консультации не даю, для этого есть форум!

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

alexkhua Подменю пользователя
сообщение 20.09.13, 8:51
Сообщение #18

Завсегдатай
****
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0

logist , Спасибо. Все оказалось как всегда гораздо проще, чем думалось. Надо только подобрать правильный ключик. Моя ошибка была в том, что при открытии формы нужно указать ее Владельца. Сделал так:
Процедура ТоварыИндПризнакиНачалоВыбора(Элемент, СтандартнаяОбработка, ТекущаяСтрока)
    
    СтандартнаяОбработка = Ложь;
    Форма = Справочники.ИндивидуальныеПризнаки.ПолучитьФормуВыбора("ФормаВыбора",ЭлементыФормы.Товары);
    Форма.МножественныйВыбор = Истина;
    Форма.ЗакрыватьПриВыборе = Истина;
    Форма.Открыть();

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


 Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    
               
      Для Каждого Элемент из ВыбранноеЗначение Цикл
          
          СтрокаЗначение = Строка(СтрокаЗначение) + Строка(Элемент) + ", ";
          
      КонецЦикла;
      
      
          
    ЭлементыФормы.Товары.ТекущаяСтрока.ИндПризнаки = СтрокаЗначение;

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

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


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

 

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