обмен документами УТ11-УТ11 по com соединению
Добрый всем!
Подскажите, где ошибка. запутался.
Из УТ11-в УТ11 загружаю перемещение (как пример)
Документы создались, но не поставились: склады, товары, серии и т.д.
Подскажите, где ошибка. запутался.
Из УТ11-в УТ11 загружаю перемещение (как пример)
&НаСервере
Процедура ЗагрузитьПеремещениеТоваров();
Объект.ТекущееСостояние="Перемещение Товаров";
ТзСтрокДок = Новый ТаблицаЗначений;
ТзСтрокДок.Колонки.Добавить("Наименование");
ТзСтрокДок.Колонки.Добавить("Код");
ТзСтрокДок.Колонки.Добавить("СтавкаНДС", новый ОписаниеТипов("ПеречислениеСсылка.СтавкиНДС"));
ТзСтрокДок.Колонки.Добавить("Количество");
Выборка=V8УТ.Документы.ПеремещениеТоваров.Выбрать(НачалоДня(Объект.ДатаНач),КонецДня(Объект.ДатаКон));
Пока Выборка.Следующий() Цикл
Если СокрЛП(Выборка.Организация.ИНН) <> СокрЛП(Объект.Организация.ИНН) Тогда продолжить; КонецЕсли;
Если Выборка.Проведен=Ложь Тогда продолжить; КонецЕсли;
ДокументУТ=Выборка;
ДатаДок = ДокументУТ.Дата;
НомерДок = СокрЛП(ДокументУТ.Номер);
СкладОтправитель = ДокументУТ.СкладОтправитель;
СкладОтправительНаименование = ДокументУТ.СкладОтправитель;
СкладПолучатель = ДокументУТ.СкладПолучатель;
СкладПолучательНаименование = ДокументУТ.СкладПолучатель;
УТКомментарий = СокрЛП(ДокументУТ.Комментарий);
ТзСтрокДок.Очистить();
Для Каждого СтрТЧ ИЗ ДокументУТ.Товары Цикл
ТекТовар = СтрТЧ.Номенклатура;
Новаястрока=ТзСтрокДок.Добавить();
Новаястрока.Наименование=стрТЧ.Номенклатура;
Новаястрока.Серия = стрТЧ.Серия;
Новаястрока.Количество=Число(СтрТЧ.Количество);
КонецЦикла;
Документ = Документы.ПеремещениеТоваров.СоздатьДокумент();
Документ.Номер = НомерДок;
Документ.Дата = ДатаДок;
СкладОтправитель = ОпределитьСклад(СкладОтправитель,СкладОтправительНаименование);
СкладПолучатель = СкладПолучательНаименование; ОпределитьСклад(СкладПолучатель,СкладПолучательНаименование);
Документ.Организация = Объект.Организация;
Документ.СкладОтправитель = СкладОтправитель;
Документ.СкладПолучатель = СкладПолучатель;
Документ.Комментарий = "V8УТ "+НомерДок;
//Переносим табличную часть
Документ.Товары.Очистить();
Для Каждого СтрокаТЗ Из ТзСтрокДок Цикл
Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СтрокаТЗ.Наименование);
НоваяСтрока=Документ.Товары.Добавить();
НоваяСтрока.Номенклатура = Номенклатура;
НоваяСтрока.Количество = СтрокаТЗ.Количество;
КонецЦикла;
Попытка
Документ.Записать(РежимЗаписиДокумента.Запись);
Объект.ТекущееСостояние=""+Документ;
Исключение;
Сообщить("документ ПеремещениеТоваров не записан: "+НомерДок,СтатусСообщения.ОченьВажное);
КонецПопытки;
КонецЦикла;
КонецПроцедуры
ПоказатьДокументы создались, но не поставились: склады, товары, серии и т.д.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) товар поиск по коду
Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СтрокаТЗ.Код);
а склад по доп.реквизиту.
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","КодСк");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СкладыДополнительныеРеквизиты.Значение КАК Код,
| СкладыДополнительныеРеквизиты.Ссылка.Наименование КАК Склад
|ИЗ
| Справочник.Склады.ДополнительныеРеквизиты КАК СкладыДополнительныеРеквизиты
|ГДЕ
| НЕ СкладыДополнительныеРеквизиты.Ссылка.ЭтоГруппа
| И НЕ СкладыДополнительныеРеквизиты.Ссылка.ПометкаУдаления
| И СкладыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство",Свойство);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Склад = СокрЛП(Выборка.Код);
У меня дальше данные не идут.
Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СтрокаТЗ.Код);
а склад по доп.реквизиту.
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","КодСк");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СкладыДополнительныеРеквизиты.Значение КАК Код,
| СкладыДополнительныеРеквизиты.Ссылка.Наименование КАК Склад
|ИЗ
| Справочник.Склады.ДополнительныеРеквизиты КАК СкладыДополнительныеРеквизиты
|ГДЕ
| НЕ СкладыДополнительныеРеквизиты.Ссылка.ЭтоГруппа
| И НЕ СкладыДополнительныеРеквизиты.Ссылка.ПометкаУдаления
| И СкладыДополнительныеРеквизиты.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство",Свойство);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Склад = СокрЛП(Выборка.Код);
У меня дальше данные не идут.
(10) у меня такой код используется
&НаСервереБезКонтекста
Функция СериализоватьВСтроку(Ссылка)
//для переноса ссылочных объектов (пока) между идентичными базами через строку ХДТО
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
Значение = Ссылка.ПолучитьОбъект();
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Значение, НазначениеТипаXML.Явное);
Возврат ЗаписьJSON.Закрыть();
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот