Регистрация Правила Главная форума Поиск |
0
- 31.10.2012 - 09:42
|
Добрый день. Столкнулся с проблемой при переходе с ТиС на УТ. В типовые правила что есть в УТ закралась одна ошибка, при выгрузке цен номенклатуры в УТ попадает первый документ установки цен с первым типом цен. Потом должен попадать второй со вторым типом цен, но вместо этого переписывается предыдущий. В итоге после загрузки цен я имею всего 1 документ с номером 10, в котором всего несколько строк по одному из типов цен. Вот правила выгрузки: __________________________________________ ПКО_ЦеныНоменклатуры_ПередВыгрузкойОбъекта ПередВыгрузкой: Если ТипЗначенияСтр(ВходящиеДанные) = "СписокЗначений" Тогда Номер = ВходящиеДанные.Получить("Номер"); КлючВыгружаемыхДанных = ИмяПКО + Номер; КонецЕсли; ПОслеЗагрузки: Объект.УстановитьНовыйНомер(); _________________________________________ ПКО_ЦеныНоменклатуры_ПослеЗагрузкиОбъекта Объект.Информация = ""; Для Каждого ТекущийТип Из Объект.ТипыЦен Цикл Если Объект.Информация <> "" Тогда Объект.Информация = Объект.Информация + ", "; КонецЕсли; Объект.Информация = Объект.Информация + СокрЛП(ТекущийТип.ТипЦен); КонецЦикла; ____________________________________________ ПВД_ЦеныНоменклатуры_ПередОбработкойПравила Товары = СоздатьОбъект("ТаблицаЗначений"); Товары.НоваяКолонка("Номенклатура"); Товары.НоваяКолонка("Цена"); Товары.НоваяКолонка("ТипЦен"); Товары.НоваяКолонка("ЕдиницаИзмерения"); Товары.НоваяКолонка("ПроцентСкидкиНаценки"); Товары.НоваяКолонка("ИндексСтрокиТаблицыЦен"); Товары.НоваяКолонка("Валюта"); Товары.НоваяКолонка("СпособРасчетаЦены"); ТипыЦен = СоздатьОбъект("ТаблицаЗначений"); ТипыЦен.НоваяКолонка("ТипЦен"); ДатаТА = ПолучитьДатуТА(); ДатаНач = ?((ПустоеЗначение(ДатаНачала) = 0) И (ДатаНачала < ДатаТА), ДатаНачала,ДатаТА); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//**{ЗАПРОС(ОтборЦен) |Период с ДатаНач по ДатаНач; |Номенклатура = Справочник.Цены.Владелец; |ТипЦен = Справочник.Цены.ТипЦен; |Рассчитывается = Справочник.Цены.ТипЦен.Рассчитывается; |БазовыйТипЦен = Справочник.Цены.ТипЦен.БазовыйТипЦен; |Цена = Справочник.Цены.Цена; |Единица = Справочник.Цены.Единица; |Валюта = Справочник.Цены.Валюта; |Процент = Справочник.Цены.Процент; |Функция ЦенаСумма = Сумма(Цена); |Группировка ТипЦен; |Группировка Номенклатура без групп; |Условие((Номенклатура.ЭтоГруппа() = 0) И (Цена <> 0)); |"; Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда Индекс = 1; Номер = 0; Пока Запрос.Группировка(1) = 1 Цикл ТипыЦен.УдалитьСтроки(); ТипыЦен.НоваяСтрока(); ТипыЦен.ТипЦен = Запрос.ТипЦен; Товары.УдалитьСтроки(); Номер = Номер + 1; Пока Запрос.Группировка(2) = 1 Цикл Товары.НоваяСтрока(); Товары.Номенклатура = Запрос.Номенклатура; Товары.ТипЦен = Запрос.ТипЦен; Товары.Цена = Запрос.Цена; Товары.ЕдиницаИзмерения = Запрос.Единица; Товары.ПроцентСкидкиНаценки = Запрос.Процент; Товары.ИндексСтрокиТаблицыЦен = Индекс; Товары.Валюта = Запрос.Валюта; Если (Запрос.Рассчитывается = 1) Или ((Запрос.Рассчитывается = 0) И (ПустоеЗначение (Запрос.БазовыйТипЦен) = 0)) Тогда Товары.СпособРасчетаЦены = "ПоПроцентнойНаценкеНаБазовыйТип"; КонецЕсли; КонецЦикла; ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Номер", Номер); ИсходящиеДанные.Установить("Дата", ДатаНач); ИсходящиеДанные.Установить("ТипыЦен",ТипыЦен); ИсходящиеДанные.Установить("Комментарий", Параметры.СтрокаКомментария); ИсходящиеДанные.Установить("Товары", Товары); ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "ЦеныНоменклатуры"); Индекс = Индекс + 1; КонецЦикла; Иначе Отказ = 1; КонецЕсли; Подскажите, где подправить, что бы документы создавались новые а не перезаписывался один и тот же документ. | |
1
- 31.10.2012 - 11:03
| ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "ЦеныНоменклатуры"); где это правило и что о нём известно? | |
2
- 31.10.2012 - 11:29
|
правила описаны выше: ПВД_ЦеныНоменклатуры_ПередОбработкойПравила Есть подозрение что надо было просто в правилах поставить галку не запоминать выгруженные объекты. Сейчас эту галку поставил и пробую перевыгрузить данные, посмотрю что получится. | |
3
- 31.10.2012 - 13:14
| Нет, к сожалению галка эта не помогла мне :-( | |
| Интернет-форум Краснодарского края и Краснодара |