|   |   | 
| 
 | Внешняя обработка, УФ не заполняет табличную часть | ☑ | ||
|---|---|---|---|---|
| 0
    
        alekowks 11.08.16✎ 12:30 | 
        Бухгалтерия предприятия, редакция 3.0 (3.0.43.247) 
 Имеется: внешняя обработка с ТЗ и полями: Инвентарный номер, Номенклатура Задача: сделать возможность заполнения таблицы из документа поступления что сделано: на форму добавлен флажок и поле ввода(выбор документа), так же добавлена кнопка заполнения ТЧ. Понимаю, что задача простая, но что-то пошло не так( Написала для кнопки команду &НаКлиенте Процедура ЗаполнитьОтбор1(Команда) Перем Номенклатура, ИнвентарныйНомер, Адрес; Если ФлажокОтборПокупок Тогда ЗаполнитьОтбор1НаСервере(Номенклатура, ИнвентарныйНомер); КонецПроцедуры И на сервере создала соответственную процедуру с запросом &НаСервере Процедура ЗаполнитьОтбор1НаСервере(Номенклатура, ИнвентарныйНомер) //Перем Покупка; ТаблицаОС.Очистить(); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Оборудование.( | Номенклатура.Код КАК ИнвентарныйНомер, | Номенклатура.Наименование КАК Номенклатура | ) |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Ссылка = &Покупка | И ПоступлениеТоваровУслуг.Оборудование.Номенклатура.Ссылка = &Номенклатура | И ПоступлениеТоваровУслуг.Оборудование.Номенклатура.Код = &ИнвентарныйНомер"; Запрос.УстановитьПараметр("ИнвентарныйНомер", ИнвентарныйНомер); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("Покупка", Покупка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); // Вставить обработку выборки ВыборкаДетальныеЗаписи //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА НоваяСтрока = ТаблицаОС.Добавить(); НоваяСтрока.Код = ИнвентарныйНомер; НоваяСтрока.ИнвентарныйНомер = ИнвентарныйНомер; НоваяСтрока.Наименование = Номенклатура; НоваяСтрока.Номенклатура = Номенклатура; КонецПроцедуры | |||
| 1
    
        alekowks 11.08.16✎ 13:16 | 
        Уточнение: возможно не выбирает данные, т.к не видит откуда выбирать, но как это описать я не поняла.
 второй момент, что .Записать () нет уже не знаю что не так, отладка пролетает мимо точек и таблица ничем не заполняется. | |||
| 2
    
        lubitelxml 11.08.16✎ 13:27 | 
        написать нормальный запрос, с алиасами совпадающими с полями тч, и через ЗаполнитьЗначенияСвойств выгрузить туда данные запроса.     | |||
| 3
    
        RomanYS 11.08.16✎ 13:34 | 
        (0) всё переписать!
 Начать с запроса. Кстати ты не используешь данные своей выборки...наверное, потому что в ней только одно поле и оно типа РезультатЗапроса :) | |||
| 4
    
        alekowks 11.08.16✎ 13:34 | 
        (2) Спасибо.
 Запрос составлен с помощью конструктора. Вот тут как раз и присваиваются(я так думаю) алиасы ПоступлениеТоваровУслуг.Оборудование.( | Номенклатура.Код КАК ИнвентарныйНомер, | Номенклатура.Наименование КАК Номенклатура да, я чайник. и гугл тоже читаю, но понимание пока не пришло( Разъясните, пожалуйста, где в запросе что-то не так? | |||
| 5
    
        alekowks 11.08.16✎ 13:36 | 
        (3) данные выборки использовать пыталась и опять по заполнению пустая табличная часть     | |||
| 6
    
        vicof 11.08.16✎ 13:36 | 
        Без фото задача нерешаема     | |||
| 7
    
        alekowks 11.08.16✎ 13:39 | 
        (6) добавлено в профиль)     | |||
| 8
    
        RomanYS 11.08.16✎ 13:40 | 
        "ВЫБРАТЬ
 | ТЧ.Номенклатура.Код КАК ИнвентарныйНомер, | ТЧ.Номенклатура.Наименование КАК Номенклатура |ИЗ | Документ.ПоступлениеТоваровУслуг.Оборудование КАК ТЧ |ГДЕ | ТЧ.Ссылка = &Покупка | И ТЧ.Номенклатура = &Номенклатура" | |||
| 9
    
        lubitelxml 11.08.16✎ 13:40 | 
        (7) с днем рождения )))     | |||
| 10
    
        alekowks 11.08.16✎ 13:41 | 
        (8) О! а вот до этого я и не додумалась... спасибо)     | |||
| 11
    
        alekowks 11.08.16✎ 13:42 | 
        (9) спасибо, изменила)     | |||
| 12
    
        vicof 11.08.16✎ 13:46 | 
        Всю процедуру в (0) Можно было заменить на 
 НоваяСтрока = ТаблицаОС.Добавить(); НоваяСтрока.Код = ИнвентарныйНомер; НоваяСтрока.ИнвентарныйНомер = ИнвентарныйНомер; НоваяСтрока.Наименование = Номенклатура; НоваяСтрока.Номенклатура = Номенклатура; | |||
| 13
    
        vicof 11.08.16✎ 13:48 | 
        (11) + ссылка и наименование в таблице ос нафиг не нужны.     | |||
| 14
    
        vicof 11.08.16✎ 13:48 | 
        оставь только ссылку     | |||
| 15
    
        vicof 11.08.16✎ 13:48 | 
        + задачу ты своим запросом не решаешь     | |||
| 16
    
        vicof 11.08.16✎ 13:50 | 
        ТаблицаОС.Загрузить(Покупка.Товары.Выгрузить());     | |||
| 17
    
        vicof 11.08.16✎ 13:50 | 
        а всю остальную фигню можно на форме настроить     | |||
| 18
    
        alekowks 11.08.16✎ 13:58 | 
        (12) если я оставлю только этот код, то откуда он будет брать данные для заполнения полей?     | |||
| 19
    
        vicof 11.08.16✎ 14:04 | 
        (18) Ну сейчас же знает) Это г-код, сотри его. Используй (16)     | |||
| 20
    
        vicof 11.08.16✎ 14:05 | 
        (19) Ну сейчас же берет из параметров *     | |||
| 21
    
        alekowks 11.08.16✎ 14:21 | 
        (20)  увы, но все так же не заполняет. Точки тоже пролетает(     | |||
| 22
    
        alekowks 11.08.16✎ 14:30 | 
        (20) извините, это я неправильно написала.
 Все работает. Спасибо | |||
| 23
    
        alekowks 11.08.16✎ 18:47 | 
        внезапно возник вопрос: если я добавляю новую строку, то она заполняется частично? 
 при выполнении команды заполняется только номенклатура, остальные столбцы не заполняются. | |||
| 24
    
        vicof 11.08.16✎ 18:50 | 
        (23) надо в остальные столбцы добавить колонки, где путь к данным - номенклатура.код и др     | |||
| 25
    
        alekowks 11.08.16✎ 18:57 | 
        (24) т.е написать 
 что-то типа ТаблицаОС.ДобавитьКолонки(); Колонка.Код итд? | |||
| 26
    
        alekowks 11.08.16✎ 19:47 | 
        из-за данной команды ТаблицаОС.Загрузить(Покупка.Товары.Выгрузить());
 игнорируются все другие действия ЗначениеВРеквизитФормы и ЗаполнитьЗначения тоже не работают совсем не понимаю как мне полученный результат задействовать, а то так получается из запроса только параметр покупка отрабатывает... | |||
| 27
    
        alekowks 12.08.16✎ 11:24 | 
        Добавила такой код, но пишет, что поле объекта данных не обнаружен. Это по второй строке ругается
 МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),ТаблицаОС.Код , "Код")); МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ИнвентарныйНомер", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3)),"ЭтотОбъект.ТаблицаОС" , "ИнвентарныйНомер, т.")); ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); НоваяКолонка = Элементы.Добавить("ИнвентарныйНомер", Тип("ПолеФормы"), Элементы.ТаблицаОСИнвентарныйНомер); НоваяКолонка.Заголовок = "ИнвентарныйНомер"; НоваяКолонка.ПутьКДанным = "Номенклатура.Код"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; | |||
| 28
    
        vicof 12.08.16✎ 11:25 | 
        Да просто колонки в реквизит формы добавь     | |||
| 29
    
        alekowks 12.08.16✎ 11:44 | 
        (28) через элемент.таб.добавить(новыйреквизит(....)?
 перепробовала уже и так и так , но не работает | |||
| 30
    
        vicof 12.08.16✎ 11:47 | 
        (29) руками. На форме     | |||
| 31
    
        alekowks 12.08.16✎ 12:00 | 
        (30) если руками добавлять, то вообще перестает заполнять     | |||
| 32
    
        vicof 12.08.16✎ 12:17 | 
        Вечером часов в 20 по Москве напиши на почту, смогу посмотреть     | |||
| 33
    
        alekowks 12.08.16✎ 13:17 | 
        Ребят может кто-нибудь еще может помочь в данном вопросе?     | |||
| 34
    
        alekowks 15.08.16✎ 10:49 | 
        в продолжении темы по текущему вопросу написала следующее, но опять же не выгружает данные(
 ТЗО = Новый ТаблицаЗначений; ТЗО.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); ТЗО.Колонки.Добавить("ИнвентарныйНомер",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3, ДопустимыйЗнак.Любой))); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НоваяСтрока = ТЗО.Добавить(); НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НоваяСтрока.ИнвентарныйНомер = ВыборкаДетальныеЗаписи.ИнвентарныйНомер; КонецЦикла; | |||
| 35
    
        Горогуля 15.08.16✎ 10:51 | 
        а взять и Выгрузить() не кошерно?     | |||
| 36
    
        alekowks 15.08.16✎ 11:09 | 
        (35) Делала.
 Загружаются данные только в одну колонку | |||
| 37
    
        Горогуля 15.08.16✎ 11:20 | 
        (36) первое, что должно было прийти в голову: "а почему?". а ты зачем-то гкоды рисовать стала     | |||
| 38
    
        alekowks 15.08.16✎ 11:51 | 
        (37) пришло. 
 Группа колонок на самой форме создана, но эти колонки не заполняются. Второй момент, что колонки код в поступлении товаров услуг нет. Хотя в запросе код должен браться из номенклатуры. Далее пробовала загружать результат запроса в колонку, опять ничего не получилось. После чтения форумов и гугла пришла к выводу, что надо добавлять колонки и как-то их заполнять, вот поэтому и появилась туча кода, который в итоге не работает совсем... Еще пробовала код вытаскивать отдельным запросом и как-то запихивать в ТЧ существующую, но опять не то( | |||
| 39
    
        Горогуля 15.08.16✎ 11:52 | 
        (38) постучись в почту минут через 100-150. сама долго страдать будешь     | |||
| 40
    
        Горогуля 15.08.16✎ 11:53 | 
        ну или сейчас..     | |||
| 41
    
        vicof 15.08.16✎ 11:57 | 
        (38) Ну я ж говорил: колонки с кодом, инв номером, номенклатурой и наименованием создаешь руками на форме. В трех из них прописываешь пути к объекту как Номенклатура.Код. А номенклатуру загружаешь. В итоге у тебя при загрузке номенклатуры в Код, Наименование и ИнвНомер загрузятся данные из реквизитов загруженной номенклатуры.     | |||
| 42
    
        alekowks 15.08.16✎ 11:59 | 
        (41) они изначально на форме были созданы     | |||
| 43
    
        Горогуля 15.08.16✎ 12:00 | 
        (42) тогда переходи к следующему шагу     | |||
| 44
    
        alekowks 15.08.16✎ 12:00 | 
        (42) уточнение: там есть только путь к данным. И туда только Справочники.Номенклатура можно прописать     | |||
| 45
    
        vicof 15.08.16✎ 12:11 | 
        (44) Скринов кинь     | |||
| 46
    
        alekowks 15.08.16✎ 12:20 | 
        (45) извините, но как добавить сюда скрин?     | |||
| 47
    
        vicof 15.08.16✎ 12:21 | 
        на файлопомойку, сюда ссылку     | |||
| 48
    
        alekowks 15.08.16✎ 12:23 | ||||
| 49
    
        Горогуля 15.08.16✎ 12:58 | 
        тут проще сделать, чем говорить. какой тип у кода? какой тип у наименования? (я в вижу, не надо повторять) зачем?     | |||
| 50
    
        alekowks 15.08.16✎ 13:01 | 
        (49) СправочникССылка.Номенклатура
 А далее в свойствах поля ввода в графе путь к данным ставлю ТаблицаОС.Код.Код | |||
| 51
    
        alekowks 15.08.16✎ 13:03 | 
        (41) Так сделала по вот этой подсказке, но когда ранее советовали
 напрямую Номенклатура.Код не поставить | |||
| 52
    
        Горогуля 15.08.16✎ 13:04 | 
        пиши почту, сделаю. не буду ничего объяснять     | |||
| 53
    
        alekowks 15.08.16✎ 13:07 | 
        (52) отправила вопрос на почту вам.
 И все же хотелось бы достичь понимания спасибо | |||
| 54
    
        vicof 15.08.16✎ 13:26 | 
        (53) Наименование - тип строка. Путь к данным - номенклатура.Наименование. Для остальных реквизитов также.     | |||
| 55
    
        vicof 15.08.16✎ 13:27 | 
        (54) 
 Книжки читай, профразработку. Примеры в типовых смотри. Понимание придет с опытом. | |||
| 56
    
        alekowks 15.08.16✎ 13:40 | 
        (54) (55) спасибо, смотрю и читаю...
 Не дает он в графу путь к данным добавить Номенклатура.Наименование или тоже самое с кодом. Там можно выбрать справочники, обработки, т.е метаданные | |||
| 57
    
        alekowks 15.08.16✎ 13:53 | 
        (55) спасибо, частично понимание пришло)) но с кодом так и не договорилась((     | |||
| 58
    
        alekowks 15.08.16✎ 13:58 | 
        всем огромное спасибо за помощь и объяснения) я таки поняла и разобралась с этим вопросом)     | |||
| 59
    
        vicof 15.08.16✎ 14:14 | 
        Слава те хоспади     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |