Имя: Пароль:
1C
1С v8
Заполнение ТЧ документа из ТЧ другого документа или заполнение тч и запроса
0 anonymus
 
08.06.15
14:42
&НаСервере
Процедура ЗаполнитьНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварнаяНакладнаяНакладная.Товар,
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто,
                   |    ТоварнаяНакладнаяНакладная.МассаНетто,
                   |    ТоварнаяНакладнаяНакладная.Ссылка
                   |ИЗ
                   |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
                   |ГДЕ
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто = &МассаБрутто";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого ТекСтрока из РезультатЗапроса Цикл
        НоваяСтрока = Товар.Добавить();
        ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    КонецЦикла;    
КонецПроцедуры

&НаКлиенте
Процедура Заполнить(Команда)
        ЭтаФорма.Записать();
        ЗаполнитьНаСервере();
    КонецПроцедуры


Есть док ТоварнаяНакладная в нем тчНакладная в ней МассаБрутто и МассаНетто
есть докНакладнаяНаОтпуск в нем тчТовар в ней МассаБрутто МассаНетто
нужно организовать запрос на выбор массы и из запроса заполнить поля накладной
1 Timon1405
 
08.06.15
14:50
хвастаетесь?
2 anonymus
 
08.06.15
14:53
(1) Ко всему плюс ошибка
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(31,38)}: Переменная не определена (Ссылка)
    Запрос.УстановитьПараметр("Ссылка", <<?>>Ссылка); (Проверка: Сервер)
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(34,23)}: Переменная не определена (Товар)
        НоваяСтрока = <<?>>Товар.Добавить();  (Проверка: Сервер)
3 anonymus
 
08.06.15
14:53
Помогите народ) Я новичок пытался тут всего понапиал а ничего не выводит)
4 butterbean
 
08.06.15
14:55
(2) видимо Объект.Ссылка и Объект.Товар.ДОбавить()
5 GROOVY
 
08.06.15
14:57
Вот этот ужас, нужно заменить

  РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого ТекСтрока из РезультатЗапроса Цикл
        НоваяСтрока = Товар.Добавить();
        ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    КонецЦикла;    

На
Товар.Загрузить(РезультатЗапросаюВыгрузить());
6 GROOVY
 
08.06.15
14:58
И я не пойму где параметр "Сссылка" в запросе?
7 ВРедная
 
08.06.15
14:58
(2) Ко всему - к чему?
Напиши что у тебя не получается.

плюс
1. в запросе есть параметр "МассаБрутто", который не установлен
2. в запросе нет параметра "Ссылка" который ты пытаешься установить
3. Если это управляемая форма, то к данным объекта нужно обращаться через "Объект". Например Объект.Ссылка
8 GROOVY
 
08.06.15
14:58
И "МассаБрутто" в установке параметров?
9 anonymus
 
08.06.15
15:00
можно помедленней
как выбрать поля масса?
как установить ?
10 GROOVY
 
08.06.15
15:04
(9)  Мне начинает казаться, что ты вообще не понимаешь того что пишешь, и ни один ответ для тебя нечитаем.
11 ВРедная
 
08.06.15
15:10
(10) и код где-то спер
12 anonymus
 
08.06.15
15:12
вообще не понимаю

ТоварнаяНакладнаяНакладная.Товар,
    |   ТоварнаяНакладнаяНакладная.МассаБрутто,
    |   ТоварнаяНакладнаяНакладная.МассаНетто,
    |   ТоварнаяНакладнаяНакладная.Ссылка
    |ИЗ
    |   Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная

этим я выбираю тч товар и реквизиты массаа и ссылка из товарнойнакладной правильно?

|ГДЕ
|   ТоварнаяНакладнаяНакладная.Ссылка = &Ссылка";
зачем это нужно чтобы в последствии получить доступ к ссылочным объектам?

почему тогда не устанавливается параметр

Запрос.УстановитьПараметр("Ссылка", Ссылка);
13 D_E_S_131
 
08.06.15
15:17
"почему тогда не устанавливается параметр" — в (4) и в (7) уже написали. Нужно 3-й раз для верности написать?
14 anonymus
 
08.06.15
15:19
|    ТоварнаяНакладнаяНакладная.Ссылка
    |ИЗ
    |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
    |ГДЕ
    |    ТоварнаяНакладнаяНакладная.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
15 GROOVY
 
08.06.15
15:20
(12)
|ГДЕ
|   ТоварнаяНакладнаяНакладная.Ссылка = &Ссылка";
зачем это нужно чтобы в последствии получить доступ к ссылочным объектам?

Нет. Это условие.
16 ВРедная
 
08.06.15
15:21
(14) нет
17 anonymus
 
08.06.15
15:23
(15) Запрос.УстановитьПараметр("Ссылка", Ссылка);
вот параметр
18 ВРедная
 
08.06.15
15:24
(17) Молодец. Теперь открой отладчик и посмотри, что ты подсовываешь в этот параметр.
19 anonymus
 
08.06.15
15:25
(18) РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого ТекСтрока из РезультатЗапроса Цикл
        НоваяСтрока = Товар.Добавить();
        ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    КонецЦикла;
20 GROOVY
 
08.06.15
15:26
Нафиг, удачи.
21 anonymus
 
08.06.15
15:27
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(29,38)}: Переменная не определена (Ссылка)
    Запрос.УстановитьПараметр("Ссылка", <<?>>Ссылка); (Проверка: Сервер)
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(32,23)}: Переменная не определена (Товар)
        НоваяСтрока = <<?>>Товар.Добавить();  (Проверка: Сервер)
22 ЧеловекДуши
 
08.06.15
15:28
(19) Отстой
23 D_E_S_131
 
08.06.15
15:28
У меня одного такое ощущение, что это бот создает комментарии. :)
24 D_E_S_131
 
08.06.15
15:28
?
25 ЧеловекДуши
 
08.06.15
15:29
(21) Тебе уже написали, нет у УФ "Ссылка", есть "Объект.Ссылка".  Не путай Толстый клиент с тонким.

У нового документа вообще Объект.Ссылка не заполнен.
26 anonymus
 
08.06.15
15:29
попросил помощи.....получил..мдаа
27 ЧеловекДуши
 
08.06.15
15:29
(23) Нет, но малоли, вдруг это Банана и ему подобный
28 ЧеловекДуши
 
08.06.15
15:30
(26) Ты не читаешь, тебе уже ответили. Код в (0) ГУАНО, переделывай.
29 anonymus
 
08.06.15
15:30
теперь как ТЧ Товар внести
30 anonymus
 
08.06.15
15:30
она же в запросе верно?
31 ЧеловекДуши
 
08.06.15
15:31
(29) Смотри в (5) Читай там после "На"
32 GROOVY
 
08.06.15
15:31
Закрой конфигуртор от греха подальше.
33 ЧеловекДуши
 
08.06.15
15:32
(30) Не знаю, нам тут не видно, где у тебя что и откуда :)
...Но понятно одно, у тебя в голове Каша :)
34 anonymus
 
08.06.15
15:33
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(30,5)}: Переменная не определена (Товар)
    <<?>>Товар.Загрузить(РезультатЗапроса.Выгрузить());     (Проверка: Сервер)
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(30,21)}: Переменная не определена (РезультатЗапроса)
    Товар.Загрузить(<<?>>РезультатЗапроса.Выгрузить());     (Проверка: Сервер)
35 anonymus
 
08.06.15
15:33
(32) ну молодец что понимаеш успехов так научи других
36 ВРедная
 
08.06.15
15:38
(35) Научись пользоваться отладчиком. Это очень полезно.
Открой конфигуратор, поставь точку останова там, где выдается ошибка и посмотри, что у тебя в переменной "Товар"
37 anonymus
 
08.06.15
15:45
&НаСервере
Процедура ЗаполнитьНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварнаяНакладнаяНакладная.Товар,
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто,
                   |    ТоварнаяНакладнаяНакладная.МассаНетто,
                   |    ТоварнаяНакладнаяНакладная.Ссылка
                   |ИЗ
                   |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
    
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
        
КонецПроцедуры

&НаКлиенте
Процедура Заполнить(Команда)
        ЭтаФорма.Записать();
        ЗаполнитьНаСервере();
    КонецПроцедуры

как передать тч значения
38 AntonH851
 
08.06.15
15:47
(37)
так уже писали
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого ТекСтрока из РезультатЗапроса Цикл
        НоваяСтрока = Товар.Добавить();
        ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    КонецЦикла;
39 AntonH851
 
08.06.15
15:48
(37) И зачем убрал условие по ссылке в запросе?
40 anonymus
 
08.06.15
15:49
(39) Говорил же уже Товар не определен
41 AntonH851
 
08.06.15
15:50
(38) А это твой вариант, прошу прощения
42 AntonH851
 
08.06.15
15:51
(40) Как у тебя табличная часть называется в которую нужно загрузить значения?
43 anonymus
 
08.06.15
15:52
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого ТекСтрока из РезультатЗапроса Цикл
        НоваяСтрока = Объект.Товар.Добавить();
        ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    КонецЦикла;
пробовал так при выборе номенклатуры ничего не происходит
44 Одинесю
 
08.06.15
15:53
(43) Тебе в (5) Павел уже сказал, что нужно сделать. Ты его игнорируешь?
45 AntonH851
 
08.06.15
15:55
(43) Посмотри для начала в отладчике что тебе запрос возвращает в РезультатЗапроса
46 anonymus
 
08.06.15
15:56
Объект.Товар.Загрузить(РезультатЗапроса.Выгрузить());
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(30,25)}: Переменная не определена (РезультатЗапроса)
    Объект.Товар.Загрузить(<<?>>РезультатЗапроса.Выгрузить()); (Проверка: Сервер)
47 Одинесю
 
08.06.15
15:57
(46) Так ты получи переменную РезультатЗапроса
48 Одинесю
 
08.06.15
15:57
РезультатЗапроса = Запрос.Выполнить();
49 AntonH851
 
08.06.15
15:58
(46) Перед строчкой
Объект.Товар.Загрузить(РезультатЗапроса.Выгрузить());
Напиши добавь
РезультатЗапроса = Запрос.Выполнить();
50 anonymus
 
08.06.15
15:59
(48) бестолку тоже самое
при выборе ничего
51 anonymus
 
08.06.15
15:59
&НаСервере
Процедура ЗаполнитьНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварнаяНакладнаяНакладная.Товар,
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто,
                   |    ТоварнаяНакладнаяНакладная.МассаНетто,
                   |    ТоварнаяНакладнаяНакладная.Ссылка
                   |ИЗ
                   |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
    
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    РезультатЗапроса = Запрос.Выполнить();
    Объект.Товар.Загрузить(РезультатЗапроса.Выгрузить());
    //РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    //Для Каждого ТекСтрока из РезультатЗапроса Цикл
      //  НоваяСтрока = Объект.Товар.Добавить();
        //ЗаполнитьЗначенияСвойств(ТекСтрока, РезультатЗапроса);
    //КонецЦикла;  
КонецПроцедуры

&НаКлиенте
Процедура Заполнить(Команда)
        ЭтаФорма.Записать();
        ЗаполнитьНаСервере();
    КонецПроцедуры
52 AntonH851
 
08.06.15
16:00
(51) А процедура Заполнить() у тебя вызывается при выборе?
53 AntonH851
 
08.06.15
16:03
(51) Этот код у тебя в документе докНакладнаяНаОтпуск  выполняется? Тогда ты получается ты в запрос передаешь ссылку на докНакладнаяНаОтпуск, а тебе нужно передать ссылку на товарнуюнакладную.
54 Одинесю
 
08.06.15
16:04
(51) Это ты круто с параметрами работаешь.
55 anonymus
 
08.06.15
16:04
(53) ну тогда код переместить что ли?
56 AntonH851
 
08.06.15
16:06
(55) Ну перемести вдруг поможет
57 anonymus
 
08.06.15
16:07
блин короч код весь в документе в котором нужно заполнить
58 anonymus
 
08.06.15
16:08
там в запросе я указывал откуда брать и процедурой пытался реализовать заполнение
59 AntonH851
 
08.06.15
16:10
(58) Ты хоть понял что в запросе должен указать ссылку на документ из которого хочешь взять данные?
60 Одинесю
 
08.06.15
16:11
(57) Тебе нужно на основании документа, откуда берешь данные ТЧ создать новый документ, куда запишешь эту ТЧ и сохранишь.
61 anonymus
 
08.06.15
16:15
(60) а зачем создавать новый если он уже есть?
(59) в запросе после выбрать выборка реквизитов которые нужны я полагаю
62 hhhh
 
08.06.15
16:17
(61) но откуда выбрать ведь нет в твоем запросе.
63 anonymus
 
08.06.15
16:20
Запрос.УстановитьПараметр("Ссылка", ДокументТоварнаяНакладная.Накладная);
64 anonymus
 
08.06.15
16:21
вот ссылка на док
в начале наверное да7
65 hhhh
 
08.06.15
16:22
это не ссылка на док. Это какая-то хрень.
66 Одинесю
 
08.06.15
16:24
(63) Как у тебя связаны два документа? В том, который заполняешь есть ссылка на документ ТоварнаяНакладная?
67 anonymus
 
08.06.15
16:25
(66) нет
68 anonymus
 
08.06.15
16:25
(65) а в каком виде это делать?
69 Одинесю
 
08.06.15
16:27
(67) Как ты себе представляешь сказать программе чтобы она именно из того-то документа взяла данные?
70 AntonH851
 
08.06.15
16:43
(70) Как ты думаешь, что  должен выдать тебе в результате твой запрос

Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварнаяНакладнаяНакладная.Товар,
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто,
                   |    ТоварнаяНакладнаяНакладная.МассаНетто,
                   |    ТоварнаяНакладнаяНакладная.Ссылка
                   |ИЗ
                   |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
?
71 anonymus
 
08.06.15
18:45
(70) Массу
72 anonymus
 
08.06.15
18:49
а как прописать то документ в виде документ ссылка или просто название и тч
73 D_E_S_131
 
08.06.15
18:55
Уже вечер, а вы все веселитесь? :)
74 anonymus
 
08.06.15
18:55
как прописать то?
75 hhhh
 
08.06.15
20:58
не сможешь прописать. Этих документов ТоварнаяНакладная в базе до хера и более. Как ты пропишешь, если вообще ничего не известно?
76 anonymus
 
08.06.15
22:27
(75) а как тогда реализовать то? если прописать нельзя
77 anonymus
 
08.06.15
22:27
путаете чтот как сделать то намекните
78 GROOVY
 
08.06.15
22:44
Могу только литературу порекомендовать.
1. http://its.1c.ru/db/pubapplied
2. http://its.1c.ru/db/pubqlang

8 часов решать такую задачу... Тут проще спеца позвать.
79 anonymus
 
08.06.15
23:09
ДокументТабличнаяЧасть.ТоварнаяНакладная.Накладная
вот так прописать тч документа можно
80 anonymus
 
08.06.15
23:11
блин ну блин помогите
81 anonymus
 
09.06.15
10:20
тут все вымерли(....я разговариваю сам с собой
82 GROOVY
 
09.06.15
10:25
(81)  Да, причем не всегда понятно, что ты говоришь.
83 Бубка Гоп
 
09.06.15
10:26
(79) (80) (81) иди книжки почитай
84 Вася Чез
 
09.06.15
10:30
знатный тролль)
85 AntonH851
 
09.06.15
10:36
(81) Для начала запрос у тебя должен как то так выглядеть

Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварнаяНакладнаяНакладная.Товар,
                   |    ТоварнаяНакладнаяНакладная.МассаБрутто,
                   |    ТоварнаяНакладнаяНакладная.МассаНетто,
                   |    ТоварнаяНакладнаяНакладная.Ссылка
                   |ИЗ
                   |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
                   |ГДЕ
                   |    ТоварнаяНакладнаяНакладная.Ссылка= &СсылкаНаТоварнуюНакладную";

Запрос.УстановитьПараметр("СсылкаНаТоварнуюНакладную", СсылкаНаТоварнуюНакладную);

СсылкаНаТоварнуюНакладную - это ссылка на товарную накладную из которой ты данные хочешь взять
86 Злобный монстр
 
09.06.15
11:12
ОМГ, вот тут лютый треш творится! :-D
87 Злобный монстр
 
09.06.15
11:15
(85) Вот прям чую что он сейчас скажет что программа ругается на переменную СсылкаНаТоварнуюНакладную :-D
88 ВРедная
 
09.06.15
11:27
(81) Начни с чего-то попроще.
89 anonymus
 
09.06.15
11:46
&НаСервереБезКонтекста
Процедура ЗаполнитьТД(Табдок)
Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.Товар,
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
                  |ГДЕ
                  |    ТоварнаяНакладнаяНакладная.Ссылка = &Документ";
                  
                РезультатЗапроса = Запрос.Выполнить();
                ТабЗнач = РезультатЗапроса.Выгрузить();
                
Запрос2 = Новый Запрос;
Запрос2.Текст ="ВЫБРАТЬ
               |    НакладнаяНаОтпускТовар.Наименование,
               |    НакладнаяНаОтпускТовар.МассаБрутто КАК МассаБрутто,
               |    НакладнаяНаОтпускТовар.МассаНетто КАК МассаНетто
               |ИЗ
               |    Документ.НакладнаяНаОтпуск.Товар КАК НакладнаяНаОтпускТовар
               |ГДЕ
               |    НакладнаяНаОтпускТовар.Наименование = &Наименование";
              
               РезультатЗапроса = Запрос.Выполнить();
               Для Каждого Наименование Из ТабЗнач Цикл
НоваяСтрока = Наименование.Добавить();
НоваяСтрока.МассаБрутто = Наименование.МассаБрутто;
НоваяСтрока.МассаНетто = Наименование.МассаНетто;
КонецЦикла;
Запрос2.УстановитьПараметр("Наименование", НакладнаяНаОтпуск.Товар);
РезультатЗапроса = Запрос2.Выполнить();

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

читал литературу пробовал пытался ничего помогите
90 ejikbeznojek
 
09.06.15
11:49
А если вес одной позиции товара одинаков, и нужно загрузить именно вес, мб и не нужна конкретная ссылка?
91 AntonH851
 
09.06.15
11:49
(89) Ну и зачет тебе второй запрос?
92 AntonH851
 
09.06.15
11:50
(89) И в первом запросе почему не установил значение параметра "Документ"?
93 ejikbeznojek
 
09.06.15
11:55
Может ТС выложит какую-нибудь левую копию базы?)
94 anonymus
 
09.06.15
12:15
&НаСервереБезКонтекста
Процедура ЗаполнитьТД(Табдок)
Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.Товар,
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
                  |ГДЕ
                  |    ТоварнаяНакладнаяНакладная.Ссылка = &Документ";
                  
                РезультатЗапроса = Запрос.Выполнить();
                ТабЗнач = РезультатЗапроса.Выгрузить();
                
            Для Каждого Товар Из ТабЗнач Цикл
                НоваяСтрока = Товар.Добавить();
                НоваяСтрока.МассаБрутто = ТабЗнач.МассаБрутто;
                НоваяСтрока.МассаНетто = ТабЗнач.МассаНетто;
            КонецЦикла;

КонецПроцедуры
95 anonymus
 
09.06.15
12:17
только не пойму зачем к примеру в условии указывать документ если из разных накладных поставки масса нужна
мой запрос как я понял выводит их всех накладных поставки поля наим масса масса затем я передаю их ТабЗнач и в цикле заполняя док отпуска правильно?
96 ejikbeznojek
 
09.06.15
12:24
Ну если масса - это масса 1й единицы товара и она всегда одинаковая, то можно

ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.Товар,
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
                  |ГДЕ
                  |    ТоварнаяНакладнаяНакладная.Номенклатура в (&Номенклатура)";

Запрос.установитьПараметр("Номенклатура",объект.товары.выгрузитьколонку("Номенклатура"));

РезультатЗапроса=запрос.выполнить().выгрузить();
Для каждого товар из объект.товары цикл
ТекСтрока=результатзапроса.найти(товар.номенклатура);
если ТекСтрока=неопределено тогда продолжить;КонецЕсли;
товар.МассаБрутто=текстрока.МассаБрутто;
конеццикла
97 Злобный монстр
 
09.06.15
13:02
(89) АААААААААА!!!! МОИ ГЛАЗААААА!!!!!!
98 anonymus
 
09.06.15
13:45
(96) {Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(30,42)}: Переменная не определена (Объект)
Запрос.установитьПараметр("Номенклатура",<<?>>Объект.Товары.ВыгрузитьКолонку("Номенклатура")); (Проверка: Сервер)
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(33,22)}: Переменная не определена (Объект)
Для каждого товар из <<?>>объект.товары цикл (Проверка: Сервер)
99 GROOVY
 
09.06.15
14:02
(98) Вот ты написал "НаСервереБезКонтекста" - ты понимаешь что это такое?
100 Timon1405
 
09.06.15
14:03
сотка за терпение
101 anonymus
 
09.06.15
14:08
(99) без формы
102 anonymus
 
09.06.15
14:12
ну как сделать то чтоб выводил то?
я прощелкиваю а ничего
103 GROOVY
 
09.06.15
14:15
(101) А "Объект" - это что у тебя?
104 hhhh
 
09.06.15
14:40
(102) сделать &НаСервере
105 anonymus
 
09.06.15
18:38
{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(32)}: Метод объекта не обнаружен (Добавить)
                НоваяСтрока = Товар.Добавить();
При выборе номенклатуры вылетате ошибка кто подскажет?
106 anonymus
 
09.06.15
18:45
Товарищи подскажите новичку
107 GROOVY
 
09.06.15
18:51
Какой тип значения имеет "Товар"?
108 anonymus
 
09.06.15
20:09
(107) Товар это табличная часть НакладнойНаОтпуск в которой нужно заполнить поля
109 anonymus
 
09.06.15
20:10
вот весь код
&НаСервере
Процедура ЗаполнитьТД(ТабЗнач)
Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.Товар,
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
                  
                РезультатЗапроса = Запрос.Выполнить();
                ТабЗнач = РезультатЗапроса.Выгрузить();
                
            Для Каждого Товар Из ТабЗнач Цикл
                НоваяСтрока = Товар.Добавить();
                НоваяСтрока.МассаБрутто = ТабЗнач.МассаБрутто;
                НоваяСтрока.МассаНетто = ТабЗнач.МассаНетто;
                ЗаполнитьЗначенияСвойств(Товар, ТабЗнач);
            КонецЦикла;

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

    
    
&НаКлиенте
Процедура ТоварНаименованиеПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Товар.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена=РаботаСоСправочниками.РозничнаяЦена
    (Объект.Дата,СтрокаТабличнойЧасти.Наименование);
    
    ЗаполнитьТД(СтрокаТабличнойЧасти.МассаБрутто);
        
    СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество
*СтрокаТабличнойЧасти.Цена;    
КонецПроцедуры
110 GROOVY
 
09.06.15
20:17
(108) Ты в отладчике посмотри, я тебя уверяю, что это у тебя не табличная часть.

   Запрос.Текст ="ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная. Товар,
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
                  
                РезультатЗапроса = Запрос.Выполнить();
                ТабЗнач = РезультатЗапроса.Выгрузить();
                
            Для Каждого Товар Из ТабЗнач Цикл
                НоваяСтрока = Товар .Добавить();
111 GROOVY
 
09.06.15
20:18
+110 Товар у тебя - строка таблицы значений.
112 anonymus
 
09.06.15
20:23
(111) "ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто,
                  |    ТоварнаяНакладнаяНакладная.Товар.Наименование
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
113 anonymus
 
09.06.15
20:23
название продукта масса теперь выводит правильно?
114 anonymus
 
09.06.15
20:26
&НаСервере
Процедура ЗаполнитьТД(ТабЗнач)
Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    ТоварнаяНакладнаяНакладная.МассаБрутто КАК МассаБрутто,
                  |    ТоварнаяНакладнаяНакладная.МассаНетто КАК МассаНетто,
                  |    ТоварнаяНакладнаяНакладная.Товар.Наименование
                  |ИЗ
                  |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная";
                  
                РезультатЗапроса = Запрос.Выполнить();
                ТабЗнач = РезультатЗапроса.Выгрузить();
                
            Для Каждого Товар Из ТабЗнач Цикл
            //    НоваяСтрока = Товар.Добавить();
            //    НоваяСтрока.МассаБрутто = ТабЗнач.МассаБрутто;
            //    НоваяСтрока.МассаНетто = ТабЗнач.МассаНетто;
            ЗаполнитьЗначенияСвойств(Товар, ТабЗнач);
            КонецЦикла;

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

    
    
&НаКлиенте
Процедура ТоварНаименованиеПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.Товар.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена=РаботаСоСправочниками.РозничнаяЦена
    (Объект.Дата,СтрокаТабличнойЧасти.Наименование);
    
    ЗаполнитьТД(СтрокаТабличнойЧасти.МассаБрутто);
        
    СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество
*СтрокаТабличнойЧасти.Цена;    
КонецПроцедуры
при выборе ошибка

{Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(48)}: Ошибка при вызове метода контекста (ЗаполнитьТД)
    ЗаполнитьТД(СтрокаТабличнойЧасти.МассаБрутто);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable
115 anonymus
 
09.06.15
20:28
может быть создать еще один запрос на выбор накладной и туда запихать данные?
116 hhhh
 
09.06.15
21:02
а почему ты массу называешь ТабЗнач?

Процедура ЗаполнитьТД(ТабЗнач)


странно очень. Такое ощущение, что стакан накатил.
117 anonymus
 
09.06.15
21:39
(116) блин через цикл или выборку делать то?
118 hhhh
 
09.06.15
21:46
без разницы
119 GROOVY
 
09.06.15
21:55
(117) Выборка у тебя без цикла будет?
120 AntonH851
 
10.06.15
08:12
(117) Вообще то выборку получаешь из запроса и обходишь ее в цикле
121 ЛисИзЛеса
 
10.06.15
10:06
Заполнение ТЧ дока Накладная на отпуск, по кнопке на форме, из дока ТоварнаяНакладная.

&НаКлиенте
Процедура ЗаполнитьНаОсновании(Команда)
    //Эта штука висит на конопке в документе Накладная на отпуск
    Оповещение =Новый ОписаниеОповещения("ОбработкаВыбораЖеЕсть",ЭтаФорма);
    ОткрытьФорму("Документ.ТоварнаяНакладная.ФормаВыбора", , , , , , Оповещение);
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбораЖеЕсть(Результат, ДополнительныеПараметры) Экспорт
    ы=1;
    ЗаполнениеТЧ(Результат);
КонецПроцедуры
&НаСервере
Процедура ЗаполнениеТЧ(Результат)
        Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТоварнаяНакладнаяНакладная.Товар,
        |    ТоварнаяНакладнаяНакладная.МассаБрутто,
        |    ТоварнаяНакладнаяНакладная.МассаНетто
        |ИЗ
        |    Документ.ТоварнаяНакладная.Накладная КАК ТоварнаяНакладнаяНакладная
        |ГДЕ
        |    ТоварнаяНакладнаяНакладная.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Результат);
    РезультатЗапроса = Запрос.Выполнить();
    //Пофиг-пляшем!
    Объект.Товар.Очистить();
    Объект.Товар.Загрузить(РезультатЗапроса.Выгрузить());
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
КонецПроцедуры
122 ЛисИзЛеса
 
10.06.15
10:09
Создание дока НакладнаяНаОтпуск из дока ТоварнаяНакладная по кнопке на форме

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

&НаКлиенте
Процедура СоздатьНакладную(Команда)
    //это висит на кнопке в доке Товарная накладная
    СоздатьНакладнуюНаСервере();
КонецПроцедуры
123 ЛисИзЛеса
 
10.06.15
10:11
И еще...Огромное спасибо всем-всем...
Чувствую как мало я знаю и умею в 1С...
P.S. ТС получил ДТ-шник с небольшой конфой.
124 anonymus
 
10.06.15
18:47
(123) {Документ.НакладнаяНаОтпуск.Форма.ФормаДокумента.Форма(23)}: Ошибка при вызове конструктора (ОписаниеОповещения)
    Оповещение =Новый ОписаниеОповещения("ОбработкаВыбораЖеЕсть",ЭтаФорма);
по причине:
Не найден экспортируемый метод: ОбработкаВыбораЖеЕсть
125 Dен
 
10.06.15
18:56
(123) Все только начинается.