Имя: Пароль:
1C
 
Недостаточно фактических параметров
, ,
0 kaidj
 
20.11.15
02:05
Всем доброго времени суток! Помогите, встрял

&НаКлиенте
Процедура ТоварыУпаковкаПриИзменении(Элемент)
    Строка = Элементы.Товары.ТекущиеДанные;
    ЗаполнениеТабличнойЧастиТовары(Строка.Упаковка);
    // Вставить содержимое обработчика.
КонецПроцедуры

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

ошибка: {Документ.Продажа.Форма.ФормаДокумента.Форма(39)}: Недостаточно фактических параметров
    НоваяСтрока = Объект.Товары.Вставить();
1 Чайник Рассела
 
20.11.15
02:12
что ты хочешь сделать?
2 kaidj
 
20.11.15
02:22
заполнить реквизит табличной части (Товары.ОбъемУпаковки) значением из справочника (Справочник.Упаковка.Объем)
3 Чешик
 
20.11.15
02:23
Он видимо хочет из ТЗ в ссылку добавить строку в ТЧ... Но забыл наверное из ссылки объект получить.
4 Чешик
 
20.11.15
02:24
ага. прям телепат... Ты это.. потом не забудь написать что то типа "Объект.Записать()". И провести тоже)
5 kaidj
 
20.11.15
02:27
об этом я и не подумал, спасибо) сейчас попробую!
6 Чешик
 
20.11.15
02:28
записать потом не забудь, новобранец) Все такие были)
7 Чешик
 
20.11.15
02:30
Главное чтобы через полгода не "дорогой **** пишу тебе пишу письма. я Иван Болван, учусь на" (ну дальше погугли - Письмо директору или песня 1с ника))
8 kaidj
 
20.11.15
03:00
это вообще возможно, (В форме документа) реквизиту табличной части документа присвоить значение реквизита справочника?
9 patria0muerte
 
20.11.15
03:36
Объект.Товары.Добавить()
10 patria0muerte
 
20.11.15
03:37
Вставить() - требует обязательного указания номера позиции вставки, если не ошибаюсь...
11 patria0muerte
 
20.11.15
03:38
Также - не стоит использовать Строка в качестве имени переменной. Лучше используй СтрокаТЧ или любое другое.
12 patria0muerte
 
20.11.15
03:39
Да и про работу с запросами почитай:

    Результат = Запрос.Выполнить();
    Выборка = Результат.Выгрузить();
    НоваяСтрока = Объект.Товары.Вставить();
    НоваяСтрока.ОбъемУпаковки = Выборка.Упаковка.Объем;

Не взлетит...
13 Web00001
 
20.11.15
04:31
(11)А чо?
14 patria0muerte
 
20.11.15
04:44
(13) Из эстетических соображений...
15 michael512
 
20.11.15
04:47
(0) правильнее НоваяСтрока = Объект.Товары.Добавить();
Если хошь вставить, то нужно данные прописать внутри скобок
16 Web00001
 
20.11.15
04:48
17 kaidj
 
20.11.15
05:13
в итоге ошибки не выдает при изменении, но ничего не записывает (просто переходит к заполнению слд. строки)

&НаКлиенте
Процедура ТоварыУпаковкаПриИзменении(Элемент)
    Строка = Элементы.Товары.ТекущиеДанные;
    ЗаполнениеТабличнойЧастиТовары(Строка.Упаковка);
    // Вставить содержимое обработчика.
КонецПроцедуры
&НаСервере
Процедура ЗаполнениеТабличнойЧастиТовары (Упаковка)
    Запрос = новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Упаковка.Объем
                   |ИЗ
                   |    Справочник.Упаковка КАК Упаковка
                   |ГДЕ
                   |    Упаковка.Наименование = &Упаковка";
    Запрос.УстановитьПараметр("Упаковка",Упаковка);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выгрузить();
    НоваяСтрока = Объект.Товары.Добавить();
    НоваяСтрока.ОбъемУпаковки = Выборка;
КонецПроцедуры
18 Горогуля
 
20.11.15
05:26
(17) верим. не записывает именно ничего
19 Горогуля
 
20.11.15
05:27
хм.. реквизит новой строки присвоить таблицу значений?
20 Горогуля
 
20.11.15
05:27
объём упаковки в таблице на форме можно показать и без этих извращений, если что
21 kaidj
 
20.11.15
05:35
я так понял, конкретное значение можно вытащить прямо в запросе?
22 Горогуля
 
20.11.15
05:36
можно
23 kaidj
 
20.11.15
06:03
представление не имею, ибо опытом не богат =(
можно в примере?
24 kaidj
 
20.11.15
06:30
&НаСервере
Процедура ЗаполнениеТабличнойЧастиТовары (Упаковка)
    Запрос = новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Упаковка.Объем
                   |ИЗ
                   |    Справочник.Упаковка КАК Упаковка
                   |ГДЕ
                   |    Упаковка.Наименование = &Упаковка";
    Запрос.УстановитьПараметр("Упаковка",Упаковка);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выгрузить();
      Для Каждого СтрокаВыборки Из Выборка Цикл
            НоваяСтрока = Объект.Товары.Добавить();
            НоваяСтрока.ОбъемУпаковки = СтрокаВыборки.Объем;
      КонецЦикла
КонецПроцедуры
25 kaidj
 
20.11.15
06:31
новую строку не создает но и не заполняет)
26 Горогуля
 
20.11.15
06:35
это ты так видишь
27 Горогуля
 
20.11.15
06:38
&НаСервере
Процедура ОформитьПродажуНаСервере()
    об=РеквизитФормыВЗначение("Объект");
    об.Товародвижение.Очистить();
    НоваяСтрока=об.Товародвижение.Добавить();
    НоваяСтрока.СсылкаНаДокумент=докЧек.Ссылка;
    НоваяСтрока.Склад=ВыборкаПоСкладам.Склад;
    НоваяСтрока.СуммаДокумента=докЧек.Товары.Итог("Сумма");
    ЗначениеВРеквизитФормы(об, "Объект");
КонецПроцедуры
28 cw014
 
20.11.15
07:44
ДенисЧ не продает больше СП?
29 kaidj
 
20.11.15
07:56
(20) а как его тогда показать?
30 Горогуля
 
20.11.15
07:56
(29) дёрнуть мышью на форму