Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Владислаучык
1 / 1 / 7
Регистрация: 21.03.2013
Сообщений: 517
1

Получить поле документа выгрузки

06.06.2017, 11:58. Просмотров 376. Ответов 2
Метки нет (Все метки)

Не удается получить поле объекта документа, и вывести его в файл, выводит поле объекта не обнаружено. Подскажите плз, как сделать?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Функция ПолучитьМассивДанных()
    
    МассивДанных = Новый Массив; 
    ССС = ЭтотОбъект.Документ;
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    РеализацияТоваровУслугТовары.Цена,
                   |    РеализацияТоваровУслугТовары.Сумма,
                   |    РеализацияТоваровУслугТовары.СтавкаНДС,
                   |    РеализацияТоваровУслугТовары.СуммаНДС,
                   |    РеализацияТоваровУслугТовары.Вес,
                   |    РеализацияТоваровУслугТовары.Масса,
                   |    РеализацияТоваровУслугТовары.Номенклатура,
                   |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
                   |    РеализацияТоваровУслугТовары.Количество,
                   |    РеализацияТоваровУслугТовары.Ссылка.Номер,
                   |    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
                   |    РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС,
                   |    РеализацияТоваровУслугТовары.Ссылка.ТипЦен,
                   |    РеализацияТоваровУслугТовары.Ссылка.Автомобиль,
                   |    РеализацияТоваровУслугТовары.Ссылка.Водитель,
                   |    РеализацияТоваровУслугТовары.Ссылка.Прицеп,
                   |    РеализацияТоваровУслугТовары.Ссылка.ПутевойЛист как ПутевойЛист,
                   |    РеализацияТоваровУслугТовары.Ссылка.СдалОтправитель,
                   |    ВЫБОР
                   |        КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС = ИСТИНА
                   |            ТОГДА РеализацияТоваровУслугТовары.Сумма
                   |        ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
                   |    КОНЕЦ КАК СуммаСНДС,
                   |    РеализацияТоваровУслугТовары.Ссылка.Грузоотправитель,
                   |    РеализацияТоваровУслугТовары.Ссылка.Грузополучатель,
                   |    РеализацияТоваровУслугТовары.Ссылка.Ссылка КАК Ссылка,
                   |    РеализацияТоваровУслугТовары.Ссылка.ПунктПогрузки,
                   |    РеализацияТоваровУслугТовары.Ссылка.ПунктРазгрузки
                   |ИЗ
                   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                   |ГДЕ
                   |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", ССС);
    
    Выборка = Запрос.Выполнить().Выбрать();
 
    Пока Выборка.Следующий() Цикл
        
        НоваяЗапись = Новый Структура("ПутевойЛист, Номенклатура, Вес, Количество, СтавкаНДС, Сумма, СуммаНДС, СуммаСНДС, Цена");
        НоваяЗапись.Номенклатура = Строка(Выборка.Номенклатура);
        НоваяЗапись.ПутевойЛист = Строка(Выборка.ПутевойЛист);
        НоваяЗапись.Вес = Строка(Выборка.Вес);
        НоваяЗапись.Количество = Строка(Выборка.Количество);
        НоваяЗапись.СтавкаНДС = Строка(Выборка.СтавкаНДС);
        НоваяЗапись.СтавкаНДС = Строка(Выборка.СуммаНДС);
        НоваяЗапись.Сумма = Строка(Выборка.Сумма);
        НоваяЗапись.СуммаНДС = Строка(Выборка.СуммаНДС);
        НоваяЗапись.СуммаСНДС = Строка(Выборка.СуммаСНДС);
        НоваяЗапись.Цена = Строка(Выборка.Цена);
        МассивДанных.Добавить(НоваяЗапись);
    КонецЦикла;
    
    Возврат МассивДанных;
    
КонецФункции
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
&НаКлиенте
Процедура ЗаписьДанных(Команда) 
    
    МассивДанных = ПолучитьМассивДанных();
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    Фильтр = "xml|*.xml";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    Если ДиалогОткрытияФайла.Выбрать() Тогда
    ЗаписьXML = Новый ЗаписьXML;
 
////////////////////////////////////////////////////////////////
 
        ЗаписьXML.ЗаписатьНачалоЭлемента("WayBillID");
        ЗаписьXML.ЗаписатьТекст(МассивДанных.ПутевойЛист);//И вот если в цикле данные табл части удается вывести, то 
//на ПутевойЛист пишет поле объекта не обнаружено
        ЗаписьXML.ЗаписатьКонецЭлемента();
 
//////////////////////////////////////////////////////////////////
 
Для Каждого ЭлементМассива из МассивДанных Цикл
        
        ЗаписьXML.ЗаписатьНачалоЭлемента("LineItem");
        
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemName");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Номенклатура);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("GrossWeightValue");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Вес);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("QuantityDespatched");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Количество);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemQuantityUOM");
         ЗаписьXML.ЗаписатьТекст("ЕдиницаИзмеренияКоличестваТовара");
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemAmountWithoutCharges");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Сумма);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemAmountCharges");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.СуммаНДС);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemAmount");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.СуммаСНДС);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemPrice");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Цена);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
         ЗаписьXML.ЗаписатьКонецЭлемента();
         //ЗаписьXML.ЗаписатьАтрибут("QuantityDespatched", ЭлементМассива.Количество);
         //ЗаписьXML.ЗаписатьАтрибут("LineItemQuantityUOM", "ЕдиницаИзмеренияКоличестваТовара");
 
         //ЗаписьXML.ЗаписатьАтрибут("TaxRate", ЭлементМассива.СтавкаНДС);
         //ЗаписьXML.ЗаписатьАтрибут("LineItemAmountWithoutCharges", ЭлементМассива.Сумма);
         //ЗаписьXML.ЗаписатьАтрибут("LineItemAmount", ЭлементМассива.СуммаСНДС);
         //ЗаписьXML.ЗаписатьАтрибут("LineItemPrice", ЭлементМассива.Цена);
                 
         //ЗаписьXML.ЗаписатьКонецЭлемента();
                 
    КонецЦикла;
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2017, 11:58
Ответы с готовыми решениями:

Получить и проверить значение с формы документа в вычисляемом поле
Здравствуйте. Обыскал многие форумы, не могу найти ответ. Необходимо проверить значение табличной...

Из одного документа получить данные табличной части другого документа
Добрый день. Сразу оговорюсь 1С только начал изучать, поэтому просьба помидорами не закидывать. ...

Поле табличного документа
Помогите заполнить отчет через поде табличного документа. Как заполнять строки по наименованию...

Поле выбора документа
Подскажите плз, как сделать, чтобы я выбирал отдельный документ для выгрузки в поле ссылка на...

Поле табличного документа
В поле табличного документа загружаю файл Excel. Делее нужно выбирать нужные ячейки из нужных...

2
Briolin
58 / 63 / 11
Регистрация: 13.11.2014
Сообщений: 910
06.06.2017, 14:44 2
Цитата Сообщение от Владислаучык Посмотреть сообщение
ССС = ЭтотОбъект.Документ;
Это что?

Добавлено через 11 минут
Код выполняется в модуле объекта или на форме?
Если в модуле то :
1C
1
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Если на форме:
1C
1
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
0
Dethmontt
Модератор
Эксперт 1С
2686 / 2466 / 429
Регистрация: 10.03.2011
Сообщений: 8,850
Записей в блоге: 1
Завершенные тесты: 1
06.06.2017, 18:12 3
Цитата Сообщение от Владислаучык Посмотреть сообщение
ЗаписьXML.ЗаписатьТекст(МассивДанных.ПутевойЛист);
если в массиве 100 Путевых листов, какой именно путевой лист, данный код должен выбрать из массива?

Добавлено через 1 минуту
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Для Каждого ЭлементМассива из МассивДанных Цикл
        
        ЗаписьXML.ЗаписатьНачалоЭлемента("WayBillID");
        ЗаписьXML.ЗаписатьТекст(ЭлементМассива.ПутевойЛист);//И вот если в цикле данные табл части удается вывести, то 
//на ПутевойЛист пишет поле объекта не обнаружено
        ЗаписьXML.ЗаписатьКонецЭлемента();
 
 
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItem");
        
         ЗаписьXML.ЗаписатьНачалоЭлемента("LineItemName");
         ЗаписьXML.ЗаписатьТекст(ЭлементМассива.Номенклатура);
         ЗаписьXML.ЗаписатьКонецЭлемента();
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2017, 18:12

Подставить значение в поле документа
Всем доброго времени суток! Такой вопрос, дорогие форумчане. Сразу прошу не серчать - я новичёк в...

Активизировать поле табличного документа
проблема. сделал отчет с собственной расшифровкой, неограниченный уровень вложенносчти...

Как работать с Поле HTML Документа?
Подскажите как можно реализовать следующие действия или дайте ссылочку на материал. Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru