Имя: Пароль:
1C
1С v8
Обмен с сайтом
0 blackswan
 
03.08.11
10:18
Конфигурация УТП
Был совершено обновление с 1.1.7 до 1.2.1.3 в БАЗА1, т.е. достаточно большая разница между релизами.
Затем новая 1.2.1.3 была накатана на другую базу БАЗА2.
В БАЗА2 перестала работать обработка ОбменССайтом, которая экспортирует в сайт на Битриксе товары в виде XML-файла. Конкретно выгружается только один товар, план обмена настраивали аналогично. При этом обмен с сайтом в БАЗА1 всё также работает. БАЗА2 была пустой в плане данных, её только начали заполнять товарами и документами.
Существует стандартный общий модуль "Процедуры обмена с сайтом", в нём докопался до процедуры

Процедура НастроитьПостроительОтчета(ПостроительОбъект) Экспорт

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

ВЫБРАТЬ РАЗРЕШЕННЫЕ
               |       Товары.НоменклатураСсылка КАК НоменклатураСсылка,
               |       Товары.НоменклатураСсылка.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
               |       Товары.НоменклатураСсылка.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода,
               |       Товары.НоменклатураСсылка.ВидНоменклатуры.Наименование КАК ВидНоменклатуры,
               |       Товары.НоменклатураСсылка.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры,
               |       Товары.НоменклатураСсылка.Производитель КАК Производитель,
               |       РегистрШтрихКоды.Штрихкод КАК ШтрихКод,
               |       Товары.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
               |       ЗначенияСвойствХарактеристик.Свойство КАК ХарактеристикаСвойство,
               |       ЗначенияСвойствХарактеристик.Значение КАК ХарактеристикаЗначениеСвойства,
               |       ВЫБОР
               |               КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL
               |                       ТОГДА ЦеныНоменклатурыБезХарактеристики.ТипЦен
               |               ИНАЧЕ ЦеныНоменклатуры.ТипЦен
               |       КОНЕЦ КАК ТипЦен,
               |       ВЫБОР
               |               КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL
               |                       ТОГДА ЦеныНоменклатурыБезХарактеристики.Валюта
               |               ИНАЧЕ ЦеныНоменклатуры.Валюта
               |       КОНЕЦ КАК Валюта,
               |       ВЫБОР
               |               КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL
               |                       ТОГДА ЦеныНоменклатурыБезХарактеристики.Цена
               |               ИНАЧЕ ЦеныНоменклатуры.Цена
               |       КОНЕЦ КАК Цена,
               |       ВЫБОР
               |               КОГДА ЦеныНоменклатуры.Цена ЕСТЬ NULL
               |                       ТОГДА ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения
               |               ИНАЧЕ ЦеныНоменклатуры.ЕдиницаИзмерения
               |       КОНЕЦ КАК ЕдиницаИзмеренияЦены,
               |       ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток,
               |       ЗначенияСвойствОбъектов.Значение КАК СвойствоНоменклатурыЗначение,
               |       ЗначенияСвойствОбъектов.Свойство КАК СвойствоНоменклатуры
               |ИЗ
               |       (ВЫБРАТЬ
               |               Номенклатура.Ссылка КАК НоменклатураСсылка,
               |               Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода,
               |               ХарактеристикиНоменклатуры.Наименование КАК ХарактеристикаНаименование,
               |               ВЫБОР
               |                       КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL
               |                               ТОГДА ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
               |                       ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка
               |               КОНЕЦ КАК ХарактеристикаСсылка,
               |               Номенклатура.СнятСПроизводства КАК СнятСПроизводства
               |       ИЗ
               |               Справочник.Номенклатура КАК Номенклатура
               |                       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
               |                       ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
               |       ГДЕ
               |               Номенклатура.ЭтоГруппа = ЛОЖЬ
               |               И Номенклатура.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры)
               |       {ГДЕ
               |               Номенклатура.Ссылка.* КАК Номенклатура}) КАК Товары
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствХарактеристик
               |               ПО (ЗначенияСвойствХарактеристик.Объект = Товары.ХарактеристикаСсылка)
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК РегистрШтрихКоды
               |               ПО Товары.НоменклатураСсылка = РегистрШтрихКоды.Владелец
               |                       И Товары.ХарактеристикаСсылка = РегистрШтрихКоды.ХарактеристикаНоменклатуры
               |                       И Товары.ЕдиницаДляШтрихКода = РегистрШтрихКоды.ЕдиницаИзмерения
               |               ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
               |                       ЗначенияСвойствОбъектов.Объект КАК Объект,
               |                       ЗначенияСвойствОбъектов.Свойство КАК Свойство,
               |                       ЗначенияСвойствОбъектов.Значение КАК Значение
               |               ИЗ
               |                       РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
               |               ГДЕ
               |                       ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенкл
атура)
               |               {ГДЕ
               |                       ЗначенияСвойствОбъектов.Свойство КАК Свойство}) КАК ЗначенияСвойствОбъектов
               |               ПО Товары.НоменклатураСсылка = ЗначенияСвойствОбъектов.Объект
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатуры
               |               ПО Товары.НоменклатураСсылка = ЦеныНоменклатуры.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатурыБезХарактеристики
               |               ПО Товары.НоменклатураСсылка = ЦеныНоменклатурыБезХарактеристики.Номенклатура
               |                       И (ЦеныНоменклатурыБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыНаСкладахОстатки
               |               ПО Товары.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРозницеОстатки
               |               ПО Товары.НоменклатураСсылка = ТоварыВРозницеОстатки.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВНТТОстатки
               |               ПО Товары.НоменклатураСсылка = ТоварыВНТТОстатки.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРезервеНаСкладахОстатки
               |               ПО Товары.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
               |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыКПередачеСоСкладовОстатки
               |               ПО Товары.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
               |                       И Товары.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
               |ГДЕ
               |       ИСТИНА
               |{ГДЕ
               |       (ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0)) КАК Остаток}
               |ИТОГИ
               |       МАКСИМУМ(ЕдиницаИзмерения),
               |       МАКСИМУМ(ЕдиницаДляШтрихКода),
               |       МАКСИМУМ(ВидНоменклатуры),
               |       МАКСИМУМ(ТипНоменклатуры),
               |       МАКСИМУМ(ШтрихКод),
               |       МАКСИМУМ(ХарактеристикаЗначениеСвойства),
               |       МАКСИМУМ(ТипЦен),
               |       МАКСИМУМ(Валюта),
               |       МАКСИМУМ(Цена),
               |       МАКСИМУМ(ЕдиницаИзмеренияЦены),
               |       МАКСИМУМ(Остаток),
               |       МАКСИМУМ(СвойствоНоменклатурыЗначение)
               |ПО
               |       НоменклатураСсылка,
               |       ХарактеристикаСсылка,
               |       ХарактеристикаСвойство,
               |       СвойствоНоменклатуры
               |АВТОУПОРЯДОЧИВАНИЕ


Он был немного изменён , добавлено поле Остаток (из регистров остаткой формируется).
Возможно в нём проблема, однако знаний для его анализа и понимания не хватает.
В чём может быть проблема? Куда копать?
1 lxs
 
03.08.11
10:24
В права смотри.
2 lxs
 
03.08.11
10:24
права на группы пользователей
3 blackswan
 
03.08.11
14:07
какие права?
у пользователей , которые в новой базе, такие же роли и права, как и у старых, полные права администратора
4 Просто Лёха
 
03.08.11
14:16
(3) Скорее всего дело именно в плане обмена, и вся номенклатура кроме одной режется вот этой переменной МассивИзмененийНоменклатуры.

Где-нибудь здесь

Процедура ДобавитьФильтрыВПостроительОтчета(МассивИзмененийНоменклатуры)
   
   ТекстПоиска = "ГДЕ Истина";
   ТекстЗамены = "ГДЕ (Товары.НоменклатураСсылка В (&МассивИзмененийНоменклатуры))";
   
   СтрокаТекста = ПостроительЗапроса.Текст;
   СтрокаТекста = СтрЗаменить(СтрокаТекста, ТекстПоиска, ТекстЗамены);
   
   ПостроительЗапроса.Текст = СтрокаТекста;
   ПостроительЗапроса.Параметры.Вставить("МассивИзмененийНоменклатуры", МассивИзмененийНоменклатуры);
   
КонецПроцедуры
5 blackswan
 
03.08.11
15:24
спасибо, нашёл проблему, не совсем это, но другое условие было FALSE
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший