Сегодня к нам обратился клиент с проблемой, что ответ по акту из егаис приходит ошибка по списку товара. Начали разбираться в чем дело нашли это:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровТовары.ОбщепитЕГАИСИдентификаторСтроки,
| ПоступлениеТоваровТовары.Количество
|ПОМЕСТИТЬ ВремПоступление
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровТовары
|ГДЕ
| ПоступлениеТоваровТовары.Ссылка = &СсылкаПоступление
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.ИдентификаторСтроки,
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.Количество КАК КоличествоТТН,
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.НомерСправкиБНовый
|ПОМЕСТИТЬ ВремТТН
|ИЗ
| Документ.ОбщепитТоварноТранспортнаяНакладнаяЕГАИС.Товары КАК ТоварноТранспортнаяНакладнаяЕГАИСТовары
|ГДЕ
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.Ссылка = &СсылкаТТН
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВремПоступление.ОбщепитЕГАИСИдентификаторСтроки КАК ЕГАИСИдентификаторСтроки,
| ЕстьNULL(ВремПоступление.Количество, 0) КАК Количество,
| ВремТТН.КоличествоТТН,
| ВремТТН.НомерСправкиБНовый
|ИЗ
| ВремТТН КАК ВремТТН
| ЛЕВОЕ СОЕДИНЕНИЕ ВремПоступление КАК ВремПоступление
| ПО ВремПоступление.ОбщепитЕГАИСИдентификаторСтроки = ВремТТН.ИдентификаторСтроки";
Запрос.УстановитьПараметр("СсылкаПоступление", ДокументСсылка);
Запрос.УстановитьПараметр("СсылкаТТН", ДокументСсылка.ОбщепитЕГАИСТТН);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ЕстьРасхождения = Ложь;
Пока Выборка.Следующий() Цикл
Если Выборка.Количество <> Выборка.КоличествоТТН Тогда
ЕстьРасхождения = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Пока Выборка.Следующий() Цикл
СтруктураТовар = Новый Структура;
СтруктураТовар.Вставить("ИдентификаторСтроки", Выборка.ЕГАИСИдентификаторСтроки);
СтруктураТовар.Вставить("КоличествоФакт" , Выборка.Количество);
СтруктураТовар.Вставить("НомерСправкиБ" , Выборка.НомерСправкиБНовый);
Параметры.СтрокиСРасхождениями.Добавить(СтруктураТовар);
КонецЦикла;
Релиз - 1С:Предприятие 8. Общепит (3.0.43.206)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровТовары.ОбщепитЕГАИСИдентификаторСтроки,
| ПоступлениеТоваровТовары.Количество
|ПОМЕСТИТЬ ВремПоступление
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровТовары
|ГДЕ
| ПоступлениеТоваровТовары.Ссылка = &СсылкаПоступление
|;
|
|////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.ИдентификаторСтроки,
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.Количество КАК КоличествоТТН,
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.НомерСправкиБНовый
|ПОМЕСТИТЬ ВремТТН
|ИЗ
| Документ.ОбщепитТоварноТранспортнаяНакладнаяЕГАИС.Товары КАК ТоварноТранспортнаяНакладнаяЕГАИСТовары
|ГДЕ
| ТоварноТранспортнаяНакладнаяЕГАИСТовары.Ссылка = &СсылкаТТН
|;
|
|////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВремПоступление.ОбщепитЕГАИСИдентификаторСтроки КАК ЕГАИСИдентификаторСтроки,
| ЕстьNULL(ВремПоступление.Количество, 0) КАК Количество,
| ВремТТН.КоличествоТТН,
| ВремТТН.НомерСправкиБНовый
|ИЗ
| ВремТТН КАК ВремТТН
| ЛЕВОЕ СОЕДИНЕНИЕ ВремПоступление КАК ВремПоступление
| ПО ВремПоступление.ОбщепитЕГАИСИдентификаторСтроки = ВремТТН.ИдентификаторСтроки";
Запрос.УстановитьПараметр("СсылкаПоступление", ДокументСсылка);
Запрос.УстановитьПараметр("СсылкаТТН", ДокументСсылка.ОбщепитЕГАИСТТН);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ЕстьРасхождения = Ложь;
Пока Выборка.Следующий() Цикл
Если Выборка.Количество <> Выборка.КоличествоТТН Тогда
ЕстьРасхождения = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Пока Выборка.Следующий() Цикл
СтруктураТовар = Новый Структура;
СтруктураТовар.Вставить("ИдентификаторСтроки", Выборка.ЕГАИСИдентификаторСтроки);
СтруктураТовар.Вставить("КоличествоФакт" , Выборка.Количество);
СтруктураТовар.Вставить("НомерСправкиБ" , Выборка.НомерСправкиБНовый);
Параметры.СтрокиСРасхождениями.Добавить(СтруктураТовар);
КонецЦикла;
Релиз - 1С:Предприятие 8. Общепит (3.0.43.206)