|
Внешняя обработка, УФ не заполняет табличную часть | ☑ | ||
---|---|---|---|---|
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
|
Слава те хоспади
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |