Имя: Пароль:
1C
1С v8
Как в отборе форм для вида номенклатуры вид сравнение сделать равным ВСписке?
Ø (GROOVY 29.11.2011 01:21)
,
0 yariksuray
 
28.11.11
23:36
Мое ЗАДАНИЕ:
В документе ПоступлениеТоваровУслуг
в табличной части Товары при выборе номенклатуры давать только номенклатуру, у которой вид номенклатуры с типом
номенклатуры Товары


Запрос= Новый запрос;
   Запрос.УстановитьПараметр("ТипНоменклатуры",Перечисления.ТипыНоменклатуры.Товар);
   Запрос.Текст=
   "ВЫБРАТЬ
   |    ВидыНоменклатуры.Ссылка КАК Ссылка
   |ИЗ
   |    Справочник.ВидыНоменклатуры КАК ВидыНоменклатуры
   |ГДЕ
   |    ВидыНоменклатуры.ТипНоменклатуры = &ТипНоменклатуры";
   
   Результат = Запрос.Выполнить();
   ТЗ=Результат.Выгрузить();
   
   Список = Новый СписокЗначений;
   Список.Загрузить(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
1 yariksuray
 
28.11.11
23:43
парни помогите новичку!!!
2 дущ
 
29.11.11
00:17
Что то у тебя название темы не соответствует (0). Во-первых, что за конфигурация. Во-вторых, не указан клиент.
3 yariksuray
 
29.11.11
00:48
Предприятие 8.2
4 ОбычныйЧеловек
 
29.11.11
00:51
(3) ты по человечески объясни, что тебе нужно?! тебе нужно получить список товаров с видим таким-то или при добавлении товара в табличную часть устанавливать фильтр на вид товара такой-то?
5 дущ
 
29.11.11
00:55
(3) Ясно что не 7.7. Конфигурация какая? Какой тип запуска (тонкий клиент, веб-клиент, толстый клиент)?
6 ОбычныйЧеловек
 
29.11.11
00:56
Увидел тему v8: Как из табличной части получить СписокЗначений ты просто абалденно формулируешь вопросы - во первых не создавай 2 одинаковые темы а во вторых ты определись чего ты хочешь то.
7 yariksuray
 
29.11.11
00:57
когда мы будем добавлять в список что-то то чтобы отбор был по Товару
8 yariksuray
 
29.11.11
00:59
Мне брат сказал


ты столкнешся с просблемой. когда ты делаешь отборы, то можешь поставить только отбор по реквизиту. в этой задаче тебе
нужно сделать отбор по реквизиту реквизита
нужно проблему решать в обход
1. надо написать запрос к справочнику ВидыНоменклатуры и отобрать только элементы справочника
с типом = Перечисления.ТипыНоменклатуры.Товар
2. выгрузить результат запроса в таблицу значений
3. из табличной части получить СписокЗначений
4. в отборе форм для вида номенклатуры вид сравнение сделать равным ВСписке
5. в значение запихнуть твой СписокЗначений
9 ОбычныйЧеловек
 
29.11.11
01:00
(7) Я вот сейчас мучительно пытаюсь понять, ты издеваешься или правда не можешь сформулировать задачу?! если издеваешься то это еще как то можно понять а вот если второе...
10 ОбычныйЧеловек
 
29.11.11
01:03
(8) вот теперь все стало ясно... Брат над тобой пошутил - отбор можно спокойно поставить по виду номенклатуре.
11 yariksuray
 
29.11.11
01:04
мне сказали такие действия сделать:

В документах ПоступлениеТоваровУслуг
в табличной части Товары при выборе номенклатуры давать только номенклатуру, у которой вид номенклатуры с типом
номенклатуры Товары

чтобы проще было понять условие примерно такое:
Номенклатура.ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар




ты столкнешся с просблемой. когда ты делаешь отборы, то можешь поставить только отбор по реквизиту. в этой задаче тебе
нужно сделать отбор по реквизиту реквизита
[17:48:31] Богдан Сурай: нужно проблему решать в обход
[17:50:03] Богдан Сурай: 1. надо написать запрос к справочнику ВидыНоменклатуры и отобрать только элементы справочника
с типом = Перечисления.ТипыНоменклатуры.Товар
[17:50:32] Богдан Сурай: 2. выгрузить результат запроса в таблицу значений
[17:51:03] Богдан Сурай: 3. из табличной части получить СписокЗначений
[17:51:42] Богдан Сурай: 4. в отборе форм для вида номенклатуры вид сравнение сделать равным ВСписке
[17:52:18] Богдан Сурай: 5. в значение запихнуть твой СписокЗначений
12 yariksuray
 
29.11.11
01:05
запрос сказал сделан правильно и выгрузка его в таблицу значений тоже, остольное я не знаю
13 yariksuray
 
29.11.11
01:06
так как надо действовать???
14 GROOVY
 
29.11.11
01:07
1. Брату привет передавай, и добавь что за такие алгоритмы (8) увольняют с работы.
2. Ты чего тут тусишь, у тебя же брат прошаренный?!
15 yariksuray
 
29.11.11
01:08
ему некогда
16 GROOVY
 
29.11.11
01:10
Ну действуй по алгоритму брата. Потом поможем с оптимизировать.
17 yariksuray
 
29.11.11
01:10
так а как надо описать мне такой алгоритм
18 yariksuray
 
29.11.11
01:10
GROOVY???
19 GROOVY
 
29.11.11
01:10
Чем в (0) не устраивает решение?
20 GROOVY
 
29.11.11
01:11
Ты программировать вообще умеешь?
21 GROOVY
 
29.11.11
01:11
ЗЫ: Это не чат.
22 yariksuray
 
29.11.11
01:12
может опозорю брата
23 GROOVY
 
29.11.11
01:12
(22) это не самое страшное в жизни.
24 yariksuray
 
29.11.11
01:13
пока что учусь понимать программирование в 1С
25 GROOVY
 
29.11.11
01:14
26 ОбычныйЧеловек
 
29.11.11
01:19
млин тем расплодил...придется еще сюда запостить...

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