Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
1

1C Розница загрузка табличной части из xml

06.02.2017, 17:40. Просмотров 682. Ответов 10
Метки нет (Все метки)

Розница (базовая), редакция 2.2 (2.2.5.22) обработка загружает из xml файла данные в табличную часть (Чек)

Метод объекта(обновить) не обнаружен

JSON
1
2
{ВнешняяОбработка.ЗагрузкаТабличнойЧастиЧекККМ.Форма.Форма.Форма(86)}: Метод объекта не обнаружен (Обновить)
    ДокОбъект.Обновить();
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
Процедура ДобавитьСтрокиВДокумент(Док)
    
    ДокОбъект = Док.Ссылка.ПолучитьОбъект();
    
    Для Каждого СтрТЧ Из Объект.ТабЧасть Цикл
        
        ПроверитьНоменклатуру = Справочники.Номенклатура.НайтиПоНаименованию(СтрТЧ.Номенклатура);
        
        Если ЗначениеЗаполнено(ПроверитьНоменклатуру) Тогда
            
            НоваяСтрока = ДокОбъект.Товары.Добавить();
            НоваяСтрока.Номенклатура        = ПроверитьНоменклатуру;
            НоваяСтрока.Количество          = ПривестиКЧислу(СтрТЧ.Количество);
            НоваяСтрока.КоличествоУпаковок  = ПривестиКЧислу(СтрТЧ.Количество);
            НоваяСтрока.Цена                = ПривестиКЧислу(СтрТЧ.Цена);
            НоваяСтрока.Сумма               = ПривестиКЧислу(СтрТЧ.Сумма);
            НоваяСтрока.СуммаНДС            = ПривестиКЧислу(СтрТЧ.СуммаНДС);
            
            Если СтрТЧ.СтавкаНДС        = "18%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС18;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "10%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС10;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "0%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС0;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "Без НДС%" Тогда  
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.БезНДС;
            КонецЕсли;
            
        Иначе
            //Создадим номенклатуру
            НоваяНоменклатура                   = Справочники.Номенклатура.СоздатьЭлемент();
            НоваяНоменклатура.Наименование      = СтрТЧ.Номенклатура;
            НоваяНоменклатура.НаименованиеПолное= СтрТЧ.Номенклатура;
            НоваяНоменклатура.Артикул           = СтрТЧ.Артикул;
            НоваяНоменклатура.ВидНоменклатуры   = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
            НоваяНоменклатура.ЕдиницаИзмерения  = Справочники.БазовыеЕдиницыИзмерения.НайтиПоКоду("796");
            НоваяНоменклатура.СтавкаНДС         = Перечисления.СтавкиНДС.НДС18;
            НоваяНоменклатура.ТипНоменклатуры   = Перечисления.ТипыНоменклатуры.Товар;
            НоваяНоменклатура.Записать();
            
            //Добавляем в ТЧ
            НоваяСтрока = ДокОбъект.Товары.Добавить();
            НоваяСтрока.Номенклатура        = НоваяНоменклатура.Ссылка;
            НоваяСтрока.Количество          = ПривестиКЧислу(СтрТЧ.Количество);
            НоваяСтрока.КоличествоУпаковок  = ПривестиКЧислу(СтрТЧ.Количество);
            НоваяСтрока.Цена                = ПривестиКЧислу(СтрТЧ.Цена);
            НоваяСтрока.Сумма               = ПривестиКЧислу(СтрТЧ.Сумма);
            НоваяСтрока.СуммаНДС            = ПривестиКЧислу(СтрТЧ.СуммаНДС);
            
            Если СтрТЧ.СтавкаНДС        = "18%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС18;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "10%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС10;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "0%" Тогда
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.НДС0;
            ИначеЕсли СтрТЧ.СтавкаНДС   = "Без НДС%" Тогда  
                 НоваяСтрока.СтавкаНДС  = Перечисления.СтавкиНДС.БезНДС;
            КонецЕсли;
            
        КонецЕсли;
        
    КонецЦикла;
    
    ДокОбъект.Записать();
    ДокОбъект.Прочитать();
    ДокОбъект.Обновить(); // 
 
КонецПроцедуры
Как отловить ошибку во внешней обработке, есть предположение что просто не хватает какого то свойства (Артикул, склад)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 17:40
Ответы с готовыми решениями:

Загрузка табличной части
Всем привет. Возможно ли загрузить табличную часть одного документа (ранее...

Загрузка и выгрузка табличной части документа в Excel
Учусь. Есть Документ в котором Табличные Части -> ПереченьТоваров с...

Значение строки табличной части получить в табличной части другого документа
Есть документ ПриходнаяНакладная (товар приходит от поставщика по его цене), с...

Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части
Есть документ "РаспределениеМатериаловНаВыпуск". У этого документа имеется...

Заполнение табличной части одного документа из табличной части другого документа
Здравсвуйте. 1С 8.2. Есть документ Приход и документ Расход. Оба документа...

10
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
06.02.2017, 17:48 2
Fzer0, напишите текст ошибки.
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
06.02.2017, 17:50  [ТС] 3
{ВнешняяОбработка.ЗагрузкаТабличнойЧастиЧекККМ.Форма.Форма.Форма(86)}: Метод объекта не обнаружен (Обновить)
ДокОбъект.Обновить();
0
Tklwegsd
Эксперт 1С
745 / 544 / 184
Регистрация: 24.07.2013
Сообщений: 1,899
06.02.2017, 20:42 4
Fzer0, С какой целью написаны последние 2 строчки?
1C
1
2
ДокОбъект.Прочитать();
ДокОбъект.Обновить(); //
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
06.02.2017, 21:06  [ТС] 5
Tklwegsd - это хороший вопрос, просто проблема в том, что не я писал, заказал человеку обработку договорились 3000 срок разработки 3 дня, предоплата 50% деньги перевел, после 3х дней получил это из УТ выгрузка работает а в Рознице загрузка через раз(данные можно загрузить если запустить загрузку не в самом документе чек, а в Чеки)
0
Tklwegsd
Эксперт 1С
745 / 544 / 184
Регистрация: 24.07.2013
Сообщений: 1,899
06.02.2017, 21:12 6
Fzer0, Ну так, обратись к этому человеку, что он не поможет разобраться/починить свою же поделку?
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
06.02.2017, 21:23  [ТС] 7
Tklwegsd, - пропал 1,5 суток не выходит на связь? Я сомневаюсь конечно, что он удовлетворен 1500, но пока молчит просто мне дали Атол 55Ф с ФН-эмулятором на время все протестировать и время заканчивается а обработки нетTklwegsd, поэтому ищу варианты решения проблемы
0
Tklwegsd
Эксперт 1С
745 / 544 / 184
Регистрация: 24.07.2013
Сообщений: 1,899
06.02.2017, 21:28 8
Попробуй удалить эти 2 строчки. В приведенном коде они явно лишние.
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
06.02.2017, 21:45  [ТС] 9
Tklwegsd, я удалил их из документа чек вообще ни чего не происходит то есть таб часть, не загружается,
а если из Чеки то вываливается ошибка ВнешняяОбработка.ЗагрузкаТабличнойЧастиЧекККМ.Форма.Форма.Форма(6)}: Поле объекта не обнаружено (Объект)
Пар.Вставить("Док",ВладелецФормы.Объект.Ссылка);

но табличная часть заполняется через раз
0
wwall
195 / 189 / 13
Регистрация: 29.05.2014
Сообщений: 989
06.02.2017, 22:38 10

Не по теме:

Fzer0, а ты молодца - веришь в людей... на будущее - используй для этого фрилансер или что подобное с безопасной сделкой.



по теме -
строки
ДокОбъект.Прочитать();
ДокОбъект.Обновить();
убрать вообще. Работать будет, правда - через анус. После тогоа как отработало - тебе надо будет закрывать форму документа и переоткрывать.
Кстати, если осталось еще 3000 рублей - то за 2 дня я готов вписаться.
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
06.02.2017, 23:43  [ТС] 11
wwall, ну а что остается только верить
0
06.02.2017, 23:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 23:43

Заполнение табличной части одного документа из табличной части этого же документа
Здравсвуйте. 1С 8.2. Есть документ в этом документе 2 табличные части В 1...

Запрос к табличной части
Всем бодрого времени суток! Помогите новичку составить запрос. Есть...

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


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

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

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