Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Создание списка выбора технологий

Создание списка выбора технологий
Я
   JuixyJes
 
29.04.19 - 13:21
Имеется Документ заявка, в нем есть 3 тч, 1 главная, две подчиненные. Есть документ ОтчетСотрудника, в котором в ТЧ работа по кнопке Добавить должна добавляться список технологий, связанных с конкретной продукцией, как указано в документе Заявка. Как мне сделать так чтобы заполнялось все так, как указано в Заявке ?
 
 
   craxx
 
1 - 29.04.19 - 13:32
Написать процедуру заполнения ТЧ
   JuixyJes
 
2 - 29.04.19 - 13:35
(1) Я конечно понимаю, что это не сложно, но у меня не выходит, вот и пишу сюда
   catena
 
3 - 29.04.19 - 13:37
https://forum.mista.ru/rules.php

4. Если вы не можете реализовать задуманный код
Если проблема с конкретным кодом, приведите листинг программы, но придерживайтесь принципа разумной достаточности – ошибку проще найти в небольшом листинге, чем изучать весь модуль.
   craxx
 
4 - 29.04.19 - 13:37
(2) что именно не выходит?
   craxx
 
5 - 29.04.19 - 13:37
(3) курсовую делаете что ли?
   JuixyJes
 
6 - 29.04.19 - 13:56
(5) можно и так сказать
   ejikbeznojek
 
7 - 29.04.19 - 14:09
(6) Сколько ещё можно тебя упрашивать, написать тот код, который ты пробовал и с которым у тебя не получилось?)
   craxx
 
8 - 29.04.19 - 14:11
(7) это девушка
   JuixyJes
 
9 - 29.04.19 - 14:13
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ЗаявкаЗаявка.Продукция КАК Продукция
        |ИЗ
        |    Документ.Заявка.Заявка КАК ЗаявкаЗаявка
        |ГДЕ
        |    ЗаявкаЗаявка.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Наряд.Заявка);
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    
    Для каждого стр из РезультатЗапроса Цикл    
            
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ЗаявкаТехнологии.Технологии КАК Технологии,
        |    ЗаявкаЗаявка.Продукция КАК Продукция,
        |    ЗаявкаЗаявка.РазмерФормат КАК РазмерФормат,
        |    ЗаявкаТехнологии.Количество КАК Количество
        |ИЗ
        |    Документ.Заявка.Технологии КАК ЗаявкаТехнологии,
        |    Документ.Заявка.Заявка КАК ЗаявкаЗаявка
        |ГДЕ
        |    ЗаявкаТехнологии.Ссылка = &Ссылка
        |    И ЗаявкаЗаявка.Продукция = &Продукция";
    
    Запрос.УстановитьПараметр("Ссылка", Наряд.Заявка);
    Запрос.УстановитьПараметр("Продукция", стр.Продукция);
    РЗ = Запрос.Выполнить().Выгрузить();
    Сообщить(стр.Продукция);
        Для ИИ = 0 по РЗ.Количество()-1 Цикл
        
        Сообщить(РЗ[ИИ].Технологии);
    КонецЦикла;
    
    КонецЦикла;


Вот этот код работает, но я не соображаю, как мне результатами заполнить ТЗ, чтоб из нее можно было выбрать что-то.
   craxx
 
10 - 29.04.19 - 14:17
(9) берешь таблицу РЗ из пишешь
ТЧ.Очистить()
Для Каждого СтрРз Из РЗ Цикл
    Стр = ТЧ.Добавить();
    ЗаполнитьЗначенияСвойств(Стр,СтрРЗ);
КонецЦикла;
   sqr4
 
11 - 29.04.19 - 14:17
Для ИИ = 0 по РЗ.Количество()-1 Цикл
        
        Сообщить(РЗ[ИИ].Технологии);
НоваяСтрока = Объект.ТвояТЧ.Добавить;
НоваяСтрока.ТвоеПоле = РЗ[ИИ].ТвоеПолеИзЗапроса
 КонецЦикла;
   craxx
 
12 - 29.04.19 - 14:18
(10) + ТЧ  = Это твоя табличная часть которую заполнить, и т.д и т.п.
   JuixyJes
 
13 - 29.04.19 - 14:21
(11) А если мне нужно как форму выбора сделать? Ну чтоб у меня туда записалось например

Вывеска Обработка материала 1шт. 12х21 

Вывеска Гравировка 1шт. 12х21

И из этих двух записей я могла выбрать ту, что мне нужно?
   МимохожийОднако
 
14 - 29.04.19 - 14:56
В табличной части есть кнопка Добавить. Даже программировать не придётся
   JuixyJes
 
15 - 29.04.19 - 14:58
(14) Так а мне нужно вытянуть значения из 3 ТЧ документа Заявка в одну строчку для выбора
   bootini
 
16 - 29.04.19 - 15:00
Таблица = Запрос.Выполнить().Выгрузить();
ВыбСрока = Таблица.ВыбратьСтроку();
   JuixyJes
 
17 - 29.04.19 - 15:03
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ЗаявкаЗаявка.Продукция КАК Продукция
        |ИЗ
        |    Документ.Заявка.Заявка КАК ЗаявкаЗаявка
        |ГДЕ
        |    ЗаявкаЗаявка.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Наряд.Заявка);
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    
    Для каждого стр из РезультатЗапроса Цикл    
            
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ЗаявкаТехнологии.Технологии КАК Технологии,
        |    ЗаявкаЗаявка.Продукция КАК Продукция,
        |    ЗаявкаЗаявка.РазмерФормат КАК РазмерФормат,
        |    ЗаявкаТехнологии.Количество КАК Количество
        |ИЗ
        |    Документ.Заявка.Технологии КАК ЗаявкаТехнологии,
        |    Документ.Заявка.Заявка КАК ЗаявкаЗаявка
        |ГДЕ
        |    ЗаявкаТехнологии.Ссылка = &Ссылка
        |    И ЗаявкаЗаявка.Продукция = &Продукция
        |    И ЗаявкаЗаявка.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Наряд.Заявка);
    Запрос.УстановитьПараметр("Продукция", стр.Продукция);
    РЗ = Запрос.Выполнить().Выгрузить();
    Сообщить(стр.Продукция);
    СЗ = Новый СписокЗначений;
    Для ИИ = 0 по РЗ.Количество()-1 Цикл
         
        Сообщить(РЗ[ИИ].Технологии);
        Сообщить(РЗ[ИИ].Количество);
        Сообщить(РЗ[ИИ].РазмерФормат);

    КонецЦикла;
    
    КонецЦикла;

Запрос


Вывеска из акрила
Отлив формы
1
21
вырезка формы
1
21
Гравировка
1
21
Сборка
1
21
изделие из дерева 
Отлив формы
1
12
вырезка формы
1
12
Гравировка
1
12
Сборка
1
12


Результат запроса
   bootini
 
18 - 29.04.19 - 15:05
(17)  не хило )
   JuixyJes
 
19 - 29.04.19 - 15:13
И вот мне нужно, чтоб был выбор из 

Вывеска из акрила  Отлив формы 1шт. 21
Вывеска из акрила  вырезка формы 1шт. 21
Вывеска из акрила  Гравировка 1шт. 21
Вывеска из акрила  Сборка 1шт. 21
изделие из дерева   Отлив формы 1шт. 21
изделие из дерева   вырезка формы 1шт. 21
изделие из дерева   Гравировка 1шт. 21
изделие из дерева   Сборка 1шт. 21

В стандартную кнопку добавить это, как мне кажется не впихнуть)
   bootini
 
20 - 29.04.19 - 15:34
одним запросом все делается  и 

Таблица = Запрос.Выполнить().Выгрузить();
ВыбСрока = Таблица.ВыбратьСтроку();
   bootini
 
21 - 29.04.19 - 15:35
надо освоить Левое соединене таблиц запросов
   JuixyJes
 
22 - 29.04.19 - 15:53
(20) Вот это мне очень помогло)) А как мне теперь значением выбранным заполнить табличную часть?
   bootini
 
23 - 29.04.19 - 16:02
НоваяСтрока = ТабличнаяЧасть.Добавить()
НоваяСтрока.Продукция = ВыбСтрока.Продукция;
НоваяСтрока.Технология = Выбстрока.Технология;

..... и т.д.
   JuixyJes
 
24 - 29.04.19 - 16:04
(23) О господи, я уж думала там что-то страшное будет, извиняюсь за тупость, каша в голове
   novichok79
 
25 - 29.04.19 - 16:07
НоваяСтрока = ТабличнаяЧасть.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыбСтрока);

еще можно
   novichok79
 
26 - 29.04.19 - 16:09
и запроса в цикле надо избегать
   JuixyJes
 
27 - 29.04.19 - 17:11
У меня в "Заявке" сделано так, что при активной строке "Вывеска из акрила" по идее в список выбора должны попадать только
Вывеска из акрила  Отлив формы 1шт. 21
Вывеска из акрила  вырезка формы 1шт. 21
Вывеска из акрила  Сборка 1шт. 21

и при активном  "изделие из древесины" соответственно

изделие из дерева   вырезка формы 1шт. 21
изделие из дерева   Гравировка 1шт. 21
изделие из дерева   Сборка 1шт. 21

Но заполняется так, как писала выше, можно ли как то поправить?
   JuixyJes
 
28 - 29.04.19 - 17:22
(23) бутини, не прячьтесь, я вас вижу:D
   bootini
 
29 - 30.04.19 - 10:41
На Главную табличную часть ставим события ПриАктивациияСтроки() там есть переменная строка, вытаскиваем оттуда продукцию("Вывеска из акрила"), в реквизитах подчиненных ТЧ должен быть реквизит "Продукция", колонка скрыта, и в этойже процедури ПриАктивацииСтроки()  ставим отбор по продукции на подчиненные табличные части по "Продукции"
   bootini
 
30 - 30.04.19 - 10:48
Запрос должен быть

ВЫБРАТЬ
ЗаявкаЗаявка.Продукция
 
 Рекламное место пустует
   bootini
 
31 - 30.04.19 - 10:54
Выбрать        
ЗаявкаТехнологии.Технологии КАК Технологии,
        ЗаявкаЗаявка.Продукция КАК Продукция,
        ЗаявкаЗаявка.РазмерФормат КАК РазмерФормат,
        ЗаявкаТехнологии.Количество КАК Количество
ИЗ
 Документ.Заявка.Заявка КАК ЗаявкаЗаявка
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заявка.Технологии КАК ЗаявкаТехнологии
ПО ЗаявкаЗаявка.Продуция = ЗаявкаТехнологии.Продукция
ГДЕ
ЗаявкаЗаявка.Ссылка = &Ссылка"


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.