Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 17:05

Обмен заказами с сайтом...

Автор Kintim, 23 янв 2012, 10:46

0 Пользователей и 1 гость просматривают эту тему.

Kintim

Друзья, нужна Ваша помощь...
Конфигурация: 1С УПП, 8.2 (Ликероводочный и винный завод)

Так как 1С программист занят решением задач с бухгалтерией, приходится возиться с 1С мне, а я прямо скажу в этом вопросе Дуб-дубом...
В общем ситуация такая. При выгрузке ("записывать", "Только изменения") с сайта заказов в 1С, все превосходно пишется. Однако при проведении заказа и последующей выгрузке изменений документ имеющий статус ПРОВЕДЕН, перезаписывается и становится не проведенным в 1С-ке.... А если помечаешь заказ на удаление, то такой заказ не перезаписывается...?!

Вопрос такой, что нужно дописать в обмене, чтобы ЕСЛИ Проведен ТО не перезаписывать...
Если я правильно понимаю, то за обмен с сайтом отвечает файл во вложении.. Поправьте меня если я не прав!!!

Kintim

Пробовал сделать так...
Функция СоздатьОбновитьДокументы(ДеревоДокументов, СтруктураСтатистики, МассивДокументовДляПроведения, МассивЗагруженныхДокументов)
   
   Успешно = Истина;
   
   Для Каждого Док Из ДеревоДокументов.Строки Цикл
      
      // если на документ есть ссылки, то он вообще пропускается и не загружается
      Если Док.ЕстьСсылкиНаРанееЗагруженныйДокумент Тогда
         СтруктураСтатистики.Пропущено = СтруктураСтатистики.Пропущено + 1;
         Продолжить;
      КонецЕсли;      
      
      //добавил, но не работает...
      Если Док.ДокументОбъект.Проведен = Истина Тогда
            Сообщить("Статус проведен");
         СтруктураСтатистики.Пропущено = СтруктураСтатистики.Пропущено + 1;
         Продолжить;
      КонецЕсли;

Dethmontt

А что такое ДокументОбъект? - тип какой? Как он попал в ДеревоДокументов?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kintim

ДокументОбъект... как я понимаю это часть XML файла, которая несет в себе информацию, в данном конкретном случае "ПРОВЕДЕН" = true или falce...
А в общем я в первом посте дал ссылку на весь файл целиком.
Думаю это стандартная конфигурация обмена с сайтом для УПП! не для УТ!
Я там ни чего не правил, мне сказали все из коробки.. .но не работает ((

Dethmontt

Я думаю они в XML всегда "Проведен = False"
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kintim

Цитата: Dethmontt от 23 янв 2012, 23:36
Я думаю они в XML всегда "Проведен = False"
Нет не всегда. Если документ проведен в 1С, то он сразу становится TRUE, даже при том, что у документа нет даты отгрузки или даты оплаты..
Это хорошо видно из XML во вложении ))

Dethmontt

Вот эти строки кода говорят о том что он всегда не проведен вне зависимости от того что в твое XML
Если ИмяЭлемента = "Документ" Тогда

НовыйДокумент    = Документы.ЗаказПокупателя.СоздатьДокумент();
НовыйДокумент.УчитыватьНДС    = Истина;
НовыйДокумент.СуммаВключаетНДС = Истина;
НовСтрокаДерева    = ДеревоДокументов.Строки.Добавить();
НовСтрокаДерева.ДокументОбъект = НовыйДокумент;
НовСтрокаДерева.СтавкаНДС    = Перечисления.СтавкиНДС.БезНДС;

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

Dethmontt

Вот стоки кода где перезаписываются найденные документы:
Для Каждого СтрокаДД Из ДеревоДокументов.Строки Цикл

Если НЕ ЗначениеЗаполнено(СтрокаДД.РанееЗагруженныйДокументСсылка) Тогда
Продолжить;
КонецЕсли;

ДокументОбъект = СтрокаДД.РанееЗагруженныйДокументСсылка.ПолучитьОбъект();

Если НЕ СтрокаДД.ЕстьСсылкиНаРанееЗагруженныйДокумент Тогда

ЗаполнитьЗначенияСвойств(ДокументОбъект, СтрокаДД.ДокументОбъект, , "Номер");
ДокументОбъект.Товары.Очистить();
ДокументОбъект.Услуги.Очистить();

КонецЕсли;

СтрокаДД.ДокументОбъект = ДокументОбъект;

КонецЦикла;

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

Dethmontt

Тебе просто из дерева нужно вычищать совсем те документы которые уже найдены в БД
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kintim

Спасибо за ответы..
Буду пытаться понять что да как...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск