обмен с сайтом не выгружает количество по отбору
По теме из базы знаний
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Обмен между 1С и другими системами в формате YML (OZON, Wildberries, Яндекс Маркет, СберМегаМаркет, Юла, Леруа и др.)
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Обмен с системой Меркурий через Web + Ветис.API для любых конфигураций (универсальная конфигурация Хамелеон Меркурий)
- Замена дерева групп в интернет-магазине при обмене с 1С: Предприятие (расширение конфигурации)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Скорее всего значение остаток NULL.
У тебя идет сравнение NULL > 0
Посмотри в запросе, которым формируется выгрузка там где поле остаток
и поставь типа такой конструкции:
ЕСТЬNULL(ОстаткиНаСкладахОстатки.Остаток,0) КАК Остаток
У тебя идет сравнение NULL > 0
Посмотри в запросе, которым формируется выгрузка там где поле остаток
и поставь типа такой конструкции:
ЕСТЬNULL(ОстаткиНаСкладахОстатки.Остаток,0) КАК Остаток
(2)
выборка формируется в процедуре ПолучитьДанныеДляВыгрузкиПакетаПредложений
NULL
выборка формируется в процедуре ПолучитьДанныеДляВыгрузкиПакетаПредложений
Процедура ПолучитьДанныеДляВыгрузкиПакетаПредложений(ПрикладныеПараметры,Знач КомпоновщикНастроек, ТаблицаДанныеПакетаПредложений,
ОписаниеОшибки)
ТекстыЗапросов = Новый Структура("Цены, Остатки");
ОбменССайтомПереопределяемый.ПолучитьТекстыЗапросовПакетаПредложений(ТекстыЗапросов);
ЕстьОшибка = Ложь;
Для Каждого КлючЗначение Из ТекстыЗапросов Цикл
Если Не ЗначениеЗаполнено(КлючЗначение.Значение) Тогда
ОписаниеОшибки = ОписаниеОшибки + НСтр("ru='Не заполнен текст запроса для получения данных:';uk='Не заповнений текст запиту для отримання даних:'")+ КлючЗначение.Ключ
+ Символы.ПС;
ЕстьОшибка = Истина;
КонецЕсли;
КонецЦикла;
Если ЕстьОшибка Тогда
Возврат;
КонецЕсли;
ПоляИсточниковДанных = Новый Структура;
ЗаполнитьПоляИсточниковДанных(ПоляИсточниковДанных, Истина);
ТаблицаЦены = РезультатВыполненияСхемы(КомпоновщикНастроек, ТекстыЗапросов.Цены, ПоляИсточниковДанных.Цены,
ПрикладныеПараметры, "ПакетПредложений");
ТаблицаЦены.Индексы.Добавить("Номенклатура");
ТаблицаОстатки = РезультатВыполненияСхемы(КомпоновщикНастроек, ТекстыЗапросов.Остатки, ПоляИсточниковДанных.Остатки,
ПрикладныеПараметры, "ПакетПредложений");
ТаблицаОстатки.Индексы.Добавить("Номенклатура");
// Полученные в результате выполнения СКД таблицы значений поместим в новую СКД,
// чтобы можно было применить отбор по количеству на складе
СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя = "ИсточникДанных1";
ИсточникДанных.ТипИсточникаДанных = "Local";
ОбъектЦены = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
ОбъектЦены.Имя = "Цены";
ОбъектЦены.ИмяОбъекта = "Цены";
ОбъектЦены.ИсточникДанных = "ИсточникДанных1";
ОбъектОстатки = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
ОбъектОстатки.Имя = "Остатки";
ОбъектОстатки.ИмяОбъекта = "Остатки";
ОбъектОстатки.ИсточникДанных = "ИсточникДанных1";
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("Цены", ТаблицаЦены);
ВнешниеНаборыДанных.Вставить("Остатки", ТаблицаОстатки);
ПоляИсточниковДанных = Новый Структура;
ЗаполнитьПоляИсточниковДанных(ПоляИсточниковДанных, Истина, Ложь);
ЗаполнитьПоляСхемыКомпоновки(ПоляИсточниковДанных, СхемаКомпоновкиДанных);
СвязиНаборов = СхемаКомпоновкиДанных.СвязиНаборовДанных;
НоваяСвязь = СвязиНаборов.Добавить();
НоваяСвязь.НаборДанныхИсточник = "Цены";
НоваяСвязь.НаборДанныхПриемник = "Остатки";
НоваяСвязь.ВыражениеИсточник = "Номенклатура";
НоваяСвязь.ВыражениеПриемник = "Номенклатура";
НоваяСвязь = СвязиНаборов.Добавить();
НоваяСвязь.НаборДанныхИсточник = "Цены";
НоваяСвязь.НаборДанныхПриемник = "Остатки";
НоваяСвязь.ВыражениеИсточник = "Характеристика";
НоваяСвязь.ВыражениеПриемник = "Характеристика";
НоваяСвязь = СвязиНаборов.Добавить();
НоваяСвязь.НаборДанныхИсточник = "Цены";
НоваяСвязь.НаборДанныхПриемник = "Остатки";
НоваяСвязь.ВыражениеИсточник = "ЕдиницаИзмерения";
НоваяСвязь.ВыражениеПриемник = "ЕдиницаИзмерения";
Идентификатор = Новый УникальныйИдентификатор;
АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Идентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных);
КомпоновщикНастроек1 = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек1.Инициализировать(ИсточникНастроек);
Настройки = Новый ХранилищеЗначения(КомпоновщикНастроек.ПолучитьНастройки());
КомпоновщикНастроек1.ЗагрузитьНастройки(Настройки.Получить());
ОбщийМассив = ПоляИсточниковДанных.Цены;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбщийМассив, ПоляИсточниковДанных.Остатки, Истина);
УдалитьПоляДругихНаборовДанных(ОбщийМассив, КомпоновщикНастроек1.Настройки);
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек1.Настройки,,,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,,);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаДанныеПакетаПредложений = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаДанныеПакетаПредложений);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ТаблицаДанныеПакетаПредложений.Индексы.Добавить("Номенклатура");
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот