Ошибка при вызове метода контекста (Записать)
{РегистрСведений.ИсторияПогашенийСДИЗЗЕРНО.МодульМенеджера(65)}:НаборДанных.Записать();
{Справочник.СДИЗЗЕРНО.МодульМенеджера(332)}:РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(6472)}:МенеджерОбъекта.ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4369)}:ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ИзмененныеОбъекты, ДанныеОбработки.Объект);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4205)}:ЗапроситьРезультатОбработкиВСервисе(ЭлементОчереди, ПараметрыОбмена, НаборЗаписей, НаборЗаписейОснование);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3461)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Запись с такими ключевыми полями существует! : ИсторияПогашенийСДИЗЗЕРНО: 773439615х/23/0313, (Регистр сведений: История погашений СДИЗ ФГИС "Зерно"; Номер строки: 3)
[ОшибкаХранимыхДанных]
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4251)}:ВызватьИсключение ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3461)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
{РегистрСведений.ИсторияПогашенийСДИЗЗЕРНО.МодульМенеджера(65)}:НаборДанных.Записать();
{Справочник.СДИЗЗЕРНО.МодульМенеджера(332)}:РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(6472)}:МенеджерОбъекта.ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4369)}:ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ИзмененныеОбъекты, ДанныеОбработки.Объект);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4205)}:ЗапроситьРезультатОбработкиВСервисе(ЭлементОчереди, ПараметрыОбмена, НаборЗаписей, НаборЗаписейОснование);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3461)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Запись с такими ключевыми полями существует! : ИсторияПогашенийСДИЗЗЕРНО: 773439615х/23/0313, (Регистр сведений: История погашений СДИЗ ФГИС "Зерно"; Номер строки: 3)
[ОшибкаХранимыхДанных]
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(4251)}:ВызватьИсключение ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(3461)}:ЗапроситьРезультатОбработкиВСервисеТранзакция(ЭлементОчереди, ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОСлужебный.Модуль(597)}:ДатаСледующейИтерации = ОбработатьОчередьСообщений(ПараметрыОбмена);
{ОбщийМодуль.ИнтеграцияЗЕРНОВызовСервера.Модуль(159)}:ВозвращаемоеЗначение = ИнтеграцияЗЕРНОСлужебный.ВыполнитьОбменУниверсально(ПараметрыОбмена);
{ОбщийМодуль.ОбменДаннымиЗЕРНО.Модуль(22)}:ИнтеграцияЗЕРНОВызовСервера.ВыполнитьОбмен(НастройкаРегламентногоЗадания);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
По теме из базы знаний
Найденные решения
Хотя на всякий случай
Функция НаборДанныхИсторияПогашенийСДИЗДляОперации(СДИЗ, Операция)
НаборДанных = СоздатьНаборЗаписей();
НаборДанных.Отбор.СДИЗ.Установить(СДИЗ);
НаборДанных.Прочитать();
ТекущиеДанные = НаборДанных.Выгрузить();
НаборДанных.Очистить();
Для Каждого СтрокаТаблицы Из ТекущиеДанные Цикл
Если СтрокаТаблицы.ВидОперации = Операция Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = НаборДанных.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
КонецЦикла;
Возврат НаборДанных;
КонецФункции
Функция СтруктураОбновленияЗаписи() Экспорт
ВозвращаемоеЗначение = Новый Структура();
Для Каждого Ресурс Из Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.Ресурсы Цикл
ВозвращаемоеЗначение.Вставить(Ресурс.Имя);
КонецЦикла;
Для Каждого Реквизит Из Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.Реквизиты Цикл
ВозвращаемоеЗначение.Вставить(Реквизит.Имя);
КонецЦикла;
Возврат ВозвращаемоеЗначение;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Возможно это:
Процедура ОбработкаЗагрузкиПолученныхДанных(ЭлементОчереди, ПараметрыОбмена, ПолученныеДанные, ИзмененныеОбъекты) Экспорт
Операция = ЭлементОчереди.Операция;
ПараметрыЗапроса = ЭлементОчереди.РеквизитыИсходящегоСообщения.ПараметрыЗапроса;
Если Операция = Перечисления.ВидыОперацийЗЕРНО.ЗапросПогашенийСДИЗ Тогда
ДанныеДляОбработки = ИнтеграцияЗЕРНОСлужебный.МассивДанныхПоляXDTO(ПолученныеДанные.Record);
Блокировка = Новый БлокировкаДанных();
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.СДИЗЗЕРНО.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Идентификатор", ПараметрыЗапроса.НомерСДИЗ);
Попытка
Блокировка.Заблокировать();
СДИЗ = Справочники.СДИЗЗЕРНО.СДИЗ(
ПараметрыЗапроса.НомерСДИЗ,
ЭлементОчереди.Организация,
ЭлементОчереди.Подразделение,
ЭлементОчереди.ВидПродукции, ПараметрыОбмена);
БлокировкаРегистраИстории = Новый БлокировкаДанных();
ЭлементБлокировки = БлокировкаРегистраИстории.Добавить(Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("СДИЗ", СДИЗ);
Блокировка.Заблокировать();
УстановитьПривилегированныйРежим(Истина);
ОперацияИстории = Перечисления.ВидыОперацийЗЕРНО.ПогашениеСДИЗ;
НаборДанных = НаборДанныхИсторияПогашенийСДИЗДляОперации(СДИЗ, ОперацияИстории);
ИмяПоляНомерПартии = ИмяПоляНомерПартии(ЭлементОчереди.ВидПродукции);
Для Каждого ЭлементДанных Из ДанныеДляОбработки Цикл
НоваяСтрока = НаборДанных.Добавить();
НоваяСтрока.СДИЗ = СДИЗ;
НоваяСтрока.НомерПартии = ЭлементДанных[ИмяПоляНомерПартии];
НоваяСтрока.КоличествоЗЕРНО = ЭлементДанных.amount;
НоваяСтрока.ОписаниеПричины = ЭлементДанных.CauseComment;
НоваяСтрока.ВидОперации = ОперацияИстории;
НоваяСтрока.ИдентификаторЗаявки = Формат(ЭлементДанных.id, "ЧГ=0;");
НоваяСтрока.ПолноеПогашение = ЭлементДанных.fullExtinction;
НоваяСтрока.ДатаОперации = ЭлементДанных.dateRegistration;
Если ЭлементДанных.WeightDiscrepancyCause <> Неопределено Тогда
НоваяСтрока.Причина = Справочники.КлассификаторНСИЗЕРНО.КлассификаторНСИ(
Перечисления.ВидыКлассификаторовЗЕРНО.ПричинаРасхожденияВеса,
ЭлементДанных.WeightDiscrepancyCause,
ЭлементОчереди.Организация,
ЭлементОчереди.Подразделение,,
ПараметрыОбмена);
КонецЕсли;
НоваяСтрока.Статус = ИнтеграцияЗЕРНОСлужебный.СтатусЗаписи(ЭлементДанных.status);
КонецЦикла;
Если ДанныеДляОбработки.Количество() Тогда
ИзмененныеОбъекты.Добавить(СДИЗ);
КонецЕсли;
НаборДанных.Записать();
Исключение
ВызватьИсключение;
КонецПопытки;
ИначеЕсли Операция = Перечисления.ВидыОперацийЗЕРНО.ЗапросОтказовПогашенийСДИЗ Тогда
ДанныеДляОбработки = ИнтеграцияЗЕРНОСлужебный.МассивДанныхПоляXDTO(ПолученныеДанные.Record);
Блокировка = Новый БлокировкаДанных();
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.СДИЗЗЕРНО.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Идентификатор", ПараметрыЗапроса.НомерСДИЗ);
Попытка
Блокировка.Заблокировать();
СДИЗ = Справочники.СДИЗЗЕРНО.СДИЗ(
ПараметрыЗапроса.НомерСДИЗ,
ЭлементОчереди.Организация,
ЭлементОчереди.Подразделение,
ЭлементОчереди.ВидПродукции,
ПараметрыОбмена);
БлокировкаРегистраИстории = Новый БлокировкаДанных();
ЭлементБлокировки = БлокировкаРегистраИстории.Добавить(Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("СДИЗ", СДИЗ);
Блокировка.Заблокировать();
УстановитьПривилегированныйРежим(Истина);
ОперацияИстории = Перечисления.ВидыОперацийЗЕРНО.ОформлениеСДИЗОтказПогашенияСДИЗ;
НаборДанных = НаборДанныхИсторияПогашенийСДИЗДляОперации(СДИЗ, ОперацияИстории);
ИмяПоляНомерПартии = ИмяПоляНомерПартии(ЭлементОчереди.ВидПродукции);
ИмяПоляПричина = ИмяПоляПричина(ЭлементОчереди.ВидПродукции);
Для Каждого ЭлементДанных Из ДанныеДляОбработки Цикл
НоваяСтрока = НаборДанных.Добавить();
НоваяСтрока.СДИЗ = СДИЗ;
НоваяСтрока.НомерПартии = ЭлементДанных[ИмяПоляНомерПартии];
НоваяСтрока.КоличествоЗЕРНО = ЭлементДанных.amount;
НоваяСтрока.ОписаниеПричины = ЭлементДанных.CauseComment;
НоваяСтрока.ВидОперации = ОперацияИстории;
НоваяСтрока.ИдентификаторЗаявки = Формат(ЭлементДанных.id, "ЧГ=0;");
НоваяСтрока.ДатаОперации = ЭлементДанных.dateRegistration;
Если ЭлементДанных[ИмяПоляПричина] <> Неопределено Тогда
НоваяСтрока.Причина = Справочники.КлассификаторНСИЗЕРНО.КлассификаторНСИ(
Перечисления.ВидыКлассификаторовЗЕРНО.ПричинаВозвратаПартии,
ЭлементДанных[ИмяПоляПричина],
ЭлементОчереди.Организация,
ЭлементОчереди.Подразделение,
ПараметрыОбмена);
КонецЕсли;
НоваяСтрока.Статус = ИнтеграцияЗЕРНОСлужебный.СтатусЗаписи(ЭлементДанных.status);
КонецЦикла;
Если ДанныеДляОбработки.Количество() Тогда
ИзмененныеОбъекты.Добавить(СДИЗ);
КонецЕсли;
НаборДанных.Записать();
Исключение
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Показать
Хотя на всякий случай
Функция НаборДанныхИсторияПогашенийСДИЗДляОперации(СДИЗ, Операция)
НаборДанных = СоздатьНаборЗаписей();
НаборДанных.Отбор.СДИЗ.Установить(СДИЗ);
НаборДанных.Прочитать();
ТекущиеДанные = НаборДанных.Выгрузить();
НаборДанных.Очистить();
Для Каждого СтрокаТаблицы Из ТекущиеДанные Цикл
Если СтрокаТаблицы.ВидОперации = Операция Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = НаборДанных.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
КонецЦикла;
Возврат НаборДанных;
КонецФункции
Функция СтруктураОбновленияЗаписи() Экспорт
ВозвращаемоеЗначение = Новый Структура();
Для Каждого Ресурс Из Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.Ресурсы Цикл
ВозвращаемоеЗначение.Вставить(Ресурс.Имя);
КонецЦикла;
Для Каждого Реквизит Из Метаданные.РегистрыСведений.ИсторияПогашенийСДИЗЗЕРНО.Реквизиты Цикл
ВозвращаемоеЗначение.Вставить(Реквизит.Имя);
КонецЦикла;
Возврат ВозвращаемоеЗначение;
КонецФункции
Показать
Или же
Процедура ЗаполнитьПогашениеПоСДИЗЗЕРНО(ДанныеЗаполнения, ДополнитьДокумент = Ложь)
Если Не ДополнитьДокумент Тогда
ДанныеШапки = ВыборкаДанныхШапкиСДИЗЗЕРНО(ДанныеЗаполнения);
Если ДанныеШапки.Следующий() Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеШапки);
Если Не ЗначениеЗаполнено(Организация) Тогда
Если ДанныеШапки.ВидОперацииСДИЗ = Перечисления.ВидыОперацийЗЕРНО.ОформлениеСДИЗЭкспорт Тогда
Ключ = ДанныеШапки.УполномоченноеЛицо;
Иначе
Ключ = ?(ЗначениеЗаполнено(Грузополучатель), Грузополучатель, Покупатель);
КонецЕсли;
Если Не ЗначениеЗаполнено(Ключ) Тогда
Ключ = ДанныеШапки.УполномоченноеЛицо;
КонецЕсли;
ДанныеСопоставления = Справочники.КлючиРеквизитовОрганизацийЗЕРНО.ОрганизацииКонтрагентыПоКлючам(Ключ).Получить(Ключ);
Если ДанныеСопоставления <> Неопределено Тогда
Организация = ДанныеСопоставления.Организация;
Подразделение = ДанныеСопоставления.Подразделение;
КонецЕсли;
Если ЗначениеЗаполнено(Грузополучатель)
И ЗначениеЗаполнено(Покупатель)
И Грузополучатель <> Покупатель
И Не ЗначениеЗаполнено(ДанныеСопоставления.Организация)
И ДанныеШапки.ВидОперацииСДИЗ = Перечисления.ВидыОперацийЗЕРНО.ОформлениеСДИЗРФ
И ДанныеШапки.Перевозка И ДанныеШапки.Реализация Тогда
ДанныеСопоставления = Справочники.КлючиРеквизитовОрганизацийЗЕРНО.ОрганизацииКонтрагентыПоКлючам(Покупатель).Получить(Покупатель);
Организация = ДанныеСопоставления.Организация;
Подразделение = ДанныеСопоставления.Подразделение;
КонецЕсли;
КонецЕсли;
Товары.Очистить();
ТранспортныеСредства.Очистить();
КонецЕсли;
КонецЕсли;
ЗаполнитьДанныеПродукции(ВыборкаДанныхСДИЗЗЕРНО(ДанныеЗаполнения));
КонецПроцедуры
Процедура ЗаполнитьДанныеПродукции(ВыборкаСДИЗ)
СтрокиСопоставленияКоличества = Новый Массив;
СтрокиСопоставленияНоменклатуры = Новый Массив;
Пока ВыборкаСДИЗ.Следующий() Цикл
СтрокаТЧ = Товары.Найти(ВыборкаСДИЗ.СДИЗ, "СДИЗ");
Если СтрокаТЧ = Неопределено Тогда
СтрокаТЧ = Товары.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТЧ, ВыборкаСДИЗ);
СтрокаТЧ.Идентификатор = Строка(Новый УникальныйИдентификатор);
Если ЗначениеЗаполнено(СтрокаТЧ.Номенклатура) Тогда
СтрокиСопоставленияКоличества.Добавить(СтрокаТЧ);
Иначе
СтрокиСопоставленияНоменклатуры.Добавить(СтрокаТЧ);
КонецЕсли;
Иначе
ОчиститьСвязанныеСтрокиТабличнойЧасти(СтрокаТЧ.ИдентификаторСтроки, "ТранспортныеСредства");
КонецЕсли;
ВыборкаТранспортныеСредства = ВыборкаСДИЗ.ТранспортныеСредства.Выбрать();
Пока ВыборкаТранспортныеСредства.Следующий() Цикл
СтрокаТранспортныеСредства = ТранспортныеСредства.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТранспортныеСредства, ВыборкаТранспортныеСредства);
СтрокаТранспортныеСредства.ИдентификаторСтрокиТоваров = СтрокаТЧ.Идентификатор;
КонецЦикла;
КонецЦикла;
Если СтрокиСопоставленияНоменклатуры.Количество() Тогда
СопоставленныеТовары = ИнтеграцияЗЕРНО.ПолучитьСопоставленныеТовары(СтрокиСопоставленияНоменклатуры);
Для Каждого СтрокаТЧ Из СтрокиСопоставленияНоменклатуры Цикл
Если ЗначениеЗаполнено(СтрокаТЧ.Номенклатура) Тогда
Продолжить;
КонецЕсли;
СтрокаСопоставленногоТовара = СопоставленныеТовары.Найти(СтрокаТЧ.НомерСтроки, "НомерСтрокиТовара");
Если СтрокаСопоставленногоТовара <> Неопределено Тогда
СтрокаТЧ.Номенклатура = СтрокаСопоставленногоТовара.Номенклатура;
СтрокаТЧ.Характеристика = СтрокаСопоставленногоТовара.Характеристика;
СтрокиСопоставленияКоличества.Добавить(СтрокаТЧ);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если СтрокиСопоставленияКоличества.Количество() Тогда
ИнтеграцияЗЕРНОПереопределяемый.ЗаполнитьКоличествоПоКоличествуЗЕРНО(СтрокиСопоставленияКоличества);
КонецЕсли;
КонецПроцедуры
Функция ВыборкаДанныхСДИЗЗЕРНО(МассивСДИЗ)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылки", МассивСДИЗ);
Запрос.Текст =
"ВЫБРАТЬ
| ОформлениеСДИЗЗЕРНОТовары.СДИЗ КАК СДИЗ,
| МАКСИМУМ(ОформлениеСДИЗЗЕРНОТовары.Номенклатура) КАК Номенклатура,
| МАКСИМУМ(ОформлениеСДИЗЗЕРНОТовары.Характеристика) КАК Характеристика,
| МАКСИМУМ(ОформлениеСДИЗЗЕРНОТовары.Серия) КАК Серия
|ПОМЕСТИТЬ
| ОформлениеСДИЗЗЕРНОТовары
|ИЗ
| Документ.ОформлениеСДИЗЗЕРНО.Товары КАК ОформлениеСДИЗЗЕРНОТовары
|ГДЕ
| ОформлениеСДИЗЗЕРНОТовары.СДИЗ В (&Ссылки)
|СГРУППИРОВАТЬ ПО
| ОформлениеСДИЗЗЕРНОТовары.СДИЗ
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОформлениеСДИЗЗЕРНОТовары.Номенклатура) = 1
| И КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОформлениеСДИЗЗЕРНОТовары.Характеристика) = 1
| И КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОформлениеСДИЗЗЕРНОТовары.Серия) = 1
|;
|
|///////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПогашениеСДИЗЗЕРНОТовары.СДИЗ КАК СДИЗ,
| МАКСИМУМ(ПогашениеСДИЗЗЕРНОТовары.Номенклатура) КАК Номенклатура,
| МАКСИМУМ(ПогашениеСДИЗЗЕРНОТовары.Характеристика) КАК Характеристика,
| МАКСИМУМ(ПогашениеСДИЗЗЕРНОТовары.Серия) КАК Серия
|ПОМЕСТИТЬ
| ПогашениеСДИЗЗЕРНОТовары
|ИЗ
| Документ.ПогашениеСДИЗЗЕРНО.Товары КАК ПогашениеСДИЗЗЕРНОТовары
|ГДЕ
| ПогашениеСДИЗЗЕРНОТовары.СДИЗ В (&Ссылки)
|СГРУППИРОВАТЬ ПО
| ПогашениеСДИЗЗЕРНОТовары.СДИЗ
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПогашениеСДИЗЗЕРНОТовары.Номенклатура) = 1
| И КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПогашениеСДИЗЗЕРНОТовары.Характеристика) = 1
| И КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПогашениеСДИЗЗЕРНОТовары.Серия) = 1
|;
|
|///////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(ПогашениеСДИЗЗЕРНОТовары.СДИЗ,ОформлениеСДИЗЗЕРНОТовары.СДИЗ) КАК СДИЗ,
| ЕСТЬNULL(ОформлениеСДИЗЗЕРНОТовары.Номенклатура,ПогашениеСДИЗЗЕРНОТовары.Номенклатура) КАК Номенклатура,
| ЕСТЬNULL(ОформлениеСДИЗЗЕРНОТовары.Характеристика,ПогашениеСДИЗЗЕРНОТовары.Характеристика) КАК Характеристика,
| ЕСТЬNULL(ОформлениеСДИЗЗЕРНОТовары.Серия,ПогашениеСДИЗЗЕРНОТовары.Серия) КАК Серия
|ПОМЕСТИТЬ СопоставленныеТовары
|ИЗ ПогашениеСДИЗЗЕРНОТовары КАК ПогашениеСДИЗЗЕРНОТовары
| ПОЛНОЕ СОЕДИНЕНИЕ ОформлениеСДИЗЗЕРНОТовары КАК ОформлениеСДИЗЗЕРНОТовары
| ПО ОформлениеСДИЗЗЕРНОТовары.СДИЗ = ПогашениеСДИЗЗЕРНОТовары.СДИЗ
|;
|
|///////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ИсторияПогашенийСДИЗЗЕРНО.СДИЗ КАК СДИЗ,
| СУММА(ИсторияПогашенийСДИЗЗЕРНО.КоличествоЗЕРНО) КАК Количество
|ПОМЕСТИТЬ РанееПогашено
|ИЗ
| РегистрСведений.ИсторияПогашенийСДИЗЗЕРНО КАК ИсторияПогашенийСДИЗЗЕРНО
|ГДЕ
| ИсторияПогашенийСДИЗЗЕРНО.СДИЗ В (&Ссылки)
| И ИсторияПогашенийСДИЗЗЕРНО.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаписейЗЕРНО.Подписано)
|СГРУППИРОВАТЬ ПО
| ИсторияПогашенийСДИЗЗЕРНО.СДИЗ
|;
|
|///////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СДИЗЗЕРНО.Ссылка КАК СДИЗ,
| СопоставленныеТовары.Номенклатура КАК Номенклатура,
| СопоставленныеТовары.Характеристика КАК Характеристика,
| СопоставленныеТовары.Серия КАК Серия,
| СДИЗЗЕРНО.Количество - ЕСТЬNULL(РанееПогашено.Количество, 0) КАК КоличествоЗЕРНО,
| СДИЗЗЕРНО.ТранспортныеСредства.(
| ТипТранспорта КАК ТипТранспорта,
| НомерТранспортногоСредства КАК НомерТранспортногоСредства,
| НомерАвтомобильногоКонтейнера КАК НомерАвтомобильногоКонтейнера) КАК ТранспортныеСредства
|ИЗ
| Справочник.СДИЗЗЕРНО КАК СДИЗЗЕРНО
| ЛЕВОЕ СОЕДИНЕНИЕ СопоставленныеТовары КАК СопоставленныеТовары
| ПО СДИЗЗЕРНО.Ссылка = СопоставленныеТовары.СДИЗ
| ЛЕВОЕ СОЕДИНЕНИЕ РанееПогашено КАК РанееПогашено
| ПО СДИЗЗЕРНО.Ссылка = РанееПогашено.СДИЗ
|ГДЕ
| СДИЗЗЕРНО.Ссылка В (&Ссылки)";
Возврат Запрос.Выполнить().Выбрать();
КонецФункции
Функция ВыборкаДанныхШапкиСДИЗЗЕРНО(МассивСДИЗ)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", МассивСДИЗ);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ВЫБОР
| КОГДА СДИЗЗЕРНО.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗЕРНО.ОформлениеСДИЗЭкспорт)
| ТОГДА СДИЗЗЕРНО.УполномоченноеЛицо.ОрганизацияКонтрагент
| КОГДА СДИЗЗЕРНО.Грузополучатель <> Значение(Справочник.КлючиРеквизитовОрганизацийЗЕРНО.ПустаяСсылка)
| ТОГДА СДИЗЗЕРНО.Грузополучатель.ОрганизацияКонтрагент
| КОГДА СДИЗЗЕРНО.Покупатель <> Значение(Справочник.КлючиРеквизитовОрганизацийЗЕРНО.ПустаяСсылка)
| ТОГДА СДИЗЗЕРНО.Покупатель.ОрганизацияКонтрагент
| ИНАЧЕ СДИЗЗЕРНО.УполномоченноеЛицо.ОрганизацияКонтрагент КОНЕЦ КАК Организация,
| СДИЗЗЕРНО.ВидПродукции КАК ВидПродукции,
| СДИЗЗЕРНО.ВидОперации КАК ВидОперацииСДИЗ,
| СДИЗЗЕРНО.Продавец КАК Продавец,
| СДИЗЗЕРНО.Грузоотправитель КАК Грузоотправитель,
| СДИЗЗЕРНО.Покупатель КАК Покупатель,
| СДИЗЗЕРНО.Грузополучатель КАК Грузополучатель,
| СДИЗЗЕРНО.ПунктОтправления КАК ПунктОтправления,
| СДИЗЗЕРНО.ПунктНазначения КАК ПунктНазначения,
| СДИЗЗЕРНО.Перевозка КАК Перевозка,
| СДИЗЗЕРНО.Реализация КАК Реализация,
| СДИЗЗЕРНО.УполномоченноеЛицо КАК УполномоченноеЛицо
|ИЗ
| Справочник.СДИЗЗЕРНО КАК СДИЗЗЕРНО
|ГДЕ
| СДИЗЗЕРНО.Ссылка В(&Ссылка)";
Возврат Запрос.Выполнить().Выбрать();
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот