Имя: Пароль:
1C
1С v8
Заполнение табличной части
, ,
0 Lecowi
 
26.05.19
19:10
Мне необходимо заполнить табличную часть документа из справочника по нажатию кнопки. В форме документа КомплектацияНоменклатуры создана кнопка Заполнить по спецификации с табличной частью Комплектующие. И есть справочник СпецификацияНоменклатуры с табличной частью Спецификация. И так, в документе, при выборке комплекта, к примеру Для стен, далее нажимаем кнопку и должна заполняться табличная часть. Что-то наделала, но не работает.

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

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


&НаКлиенте
Процедура ЗаполнитьПоСпецификации(Команда)
    ЗаполнитьПоСпецификацииНаСервере();
КонецПроцедуры
1 kubik_live
 
26.05.19
19:18
(0) В типовой бухии 2.0 есть такая кнопка
2 Lecowi
 
26.05.19
19:23
Я знаю, что она там есть.
3 Chameleon1980
 
26.05.19
20:13
пишет ошибку, просто молчит, отладчик что говорит?
привет
4 Lecowi
 
26.05.19
20:21
(3) просто молчит, нажимаю на кнопку и ничего не выдает
5 Chameleon1980
 
26.05.19
20:37
продолжаем - отладчик что говорит?
6 Chameleon1980
 
26.05.19
20:38
кнопка связана с процедурой вообще?
7 palsergeich
 
26.05.19
20:39
(0) 1) нет фото в профиле - это косяк.
2е:
        |    СпецификацияНоменклатуры.Спецификация.(
        |        Номенклатура КАК Номенклатура,
        |        Количество КАК Количество
        |    ) КАК Номенклатура
Таких конструкций в тексте запроса следует избегать, тем более дальше Вы к этим данным не обращаетесь
3) Остальное по коду верно, требуется сообщение ошибки
8 Lecowi
 
26.05.19
20:49
Теперь пишет, что поле комплект не найдено, хотя раньше все нормально было.
9 palsergeich
 
26.05.19
20:51
(8) Объект.Комплект тут точно все хорошо?
И в таблиной части колонка точно называется комплект?
строка.Комплект проверь в отладчике
10 Lecowi
 
26.05.19
20:53
я уже переделала, теперь он просто по нажатию кнопки выводит пустые строки
11 palsergeich
 
26.05.19
20:55
(10) Проверяй что запрос возвращает
12 palsergeich
 
26.05.19
20:55
И то, что типы в запросе и типы в табличной части совпадают
13 Sasha_H
 
26.05.19
20:58
(12) +
Скорее всего у вас в табличной части строки не совпадают с типами поскольку табличная часть пустыми строками значит результат запроса обработал и команда Добавить отработала но если ТЧ пустая то в поле вы пытаетесь протолкнуть не тот тип
14 Chameleon1980
 
27.05.19
05:02
(10)
1. ну покажи как переделала
2. Покажи структура справочника "СпецификацияНоменклатуры"
3. Покажи тип значения реквизита, который заполняешь (изначально, но ошибочно, как я понял было "Комплект") табличной части "Комплектующие" твоего документа