|
Hello, world: заполнение табличной части из справочника | ☑ | ||
---|---|---|---|---|
0
pickpok
19.01.15
✎
01:20
|
Здравствуйте, подскажите, пожалуйста, что делаю не так:
Есть справочник Номенклатура, есть документ Заказа, хочу, чтобы при создание документа в табличную часть подгружаласть вся номенклатура из справочника. 1С 8.3 &НаКлиенте Процедура ТабличнаяЧасть1ПриИзменении(Элемент) ТабличнаяЧасть1ПриИзмененииНаСервере(); КонецПроцедуры &НаСервере Процедура ТабличнаяЧасть1ПриИзмененииНаСервере() Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | Наименование.Ссылка |ИЗ | Справочник.Номенклатура КАК Номеклатура РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Для Каждого ТекСтрока из РезультатЗапроса Цикл НС = Наименование.Добавить(); КонецЦикла; КонецПроцедуры |
|||
1
ВРедная
19.01.15
✎
01:26
|
Почему используешь процедуру "ТабличнаяЧасть1ПриИзменении"?
Если ты пишешь "Заказа, хочу, чтобы при создание документа", то где твои действия при создании документа? Ищи, какая процедура вызывается именно при создании документа. |
|||
2
pickpok
19.01.15
✎
01:29
|
(1) Вопрос не сколько в в самой процедуре, сколько в корректности запроса. Он верен? Или есть ошибки?
|
|||
3
hhhh
19.01.15
✎
01:34
|
Наименование.Ссылка что за бред? Откуда могло появиться?
|
|||
4
pickpok
19.01.15
✎
01:35
|
(3) Спасибо. Рискну предположить: Наименование.Номенклатура?
|
|||
5
hhhh
19.01.15
✎
01:39
|
Наименование - как раз в этом бред.
|
|||
6
pickpok
19.01.15
✎
01:40
|
(5) Поясните, пожалуйста.
|
|||
7
pickpok
19.01.15
✎
01:41
|
(5)
{Документ.БланкЗаказаФиксированнаяНоменклатура.Форма.ФормаДокумента.Форма(18)}: Ошибка при вызове метода контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить().Выгрузить(); по причине: {(2, 18)}: Поле не найдено "Наименование.Номенклатура" Наименование.<<?>>Номенклатура |
|||
8
Escander
19.01.15
✎
01:47
|
вообще конечно забавный запрос, что-бы не делать запрос средствами конструктора запросов?
если форма малонагруженная можно вашу задачу решить например так: &НаСервере Процедура ТабличнаяЧасть1ПриИзмененииНаСервере() Запрос = Новый Запрос; Запрос.Текст="ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номеклатура <Ваша Т.Ч.>.Загрузить(Запрос.Выполнить().Выгрузить()); КонецПроцедуры PS и самое главное что-бы не прочитать умную книжку/посмотреть бесплатное чего-нибудь (есть и от Е.Гилева и от П.Чистова др.)? |
|||
9
pickpok
19.01.15
✎
01:50
|
(8) Благодарю Вас, сейчас попробую. Стопка желтых книжек уже штудируется. Позвольте еще вопрос: а если форма сильно нагружена, как меняется запрос?
|
|||
10
pickpok
19.01.15
✎
01:53
|
(8)
{Документ.БланкЗаказаФиксированнаяНоменклатура.Форма.ФормаДокумента.Форма(10,5)}: Переменная не определена (ТабличнаяЧасть1) <<?>>ТабличнаяЧасть1.Загрузить(Запрос.Выполнить().Выгрузить()); (Проверка: Сервер) |
|||
11
Escander
19.01.15
✎
01:54
|
(9) а если форма нагруженная нужно писать безконтекстовую процедуру (&НаСервереБезКонтекста)
|
|||
12
Escander
19.01.15
✎
01:55
|
(10) значит твоя табличная часть куда тебе загружать называется не ТабличнаяЧасть1.
Только не спрашивай на форуме как она должна называться - телепатов тут нет. |
|||
13
pickpok
19.01.15
✎
01:57
|
(10) Нет, прошу прощения, пропустил Объект.
|
|||
14
Худой
19.01.15
✎
06:56
|
Представляю, как будет вываливаться в табличную часть весь справочник, например, из 10 тыс. записей.
|
|||
15
Godofsin
19.01.15
✎
07:55
|
(14) 10 это хня еще =))))
|
|||
16
DrZombi
гуру
19.01.15
✎
08:12
|
(14) Представляю, когда будет валиться 99 999 (+1 и более) элементов :)
|
|||
17
DrZombi
гуру
19.01.15
✎
08:13
|
(0)Опиши лучше нам постановку задачи, ну так - "Чисто поржать" :)
|
|||
18
Escander
19.01.15
✎
08:19
|
(16) ну чё ржать, напишет чел свою нетленку на базе типовой - до кучи и прогать на 1С научится
|
|||
19
shpioleg
19.01.15
✎
08:27
|
(17) А что, не может быть таких задач? Я, например, так финансистам делаю. Табличная часть дока представлена в виде дерева с сохранением иерархии справочника.
|
|||
20
igoza
19.01.15
✎
08:40
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НовСтрока = ТабличнаяЧасть.Добавить(); НовСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Ссылка; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |