СПРОСИ ПРОФИ
👍
0
👎 00

Заполнение табличной части на сервере, на клиенте данные не отображаются

Делаю внешнюю обработку по заполнении табличной части так:

&НаКлиенте
Процедура Записать(Команда)

Если НЕ ЗначениеЗаполнено(ИмяФайла) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(«Не указан файл!»);
Возврат;
КонецЕсли;

ПостОбьект = ВладелецФормы.Объект;
ЗаписатьНаСервере(ПостОбьект);
ВладелецФормы.Модифицированность = Истина;
КонецПроцедуры;

&НаСервере
Процедура ЗаписатьНаСервере(ПостОбьект)

ИмяТемп = ПолучитьИмяВременногоФайла(«xlsx»);

ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
Попытка
ТабДок.Прочитать(ИмяФайла);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не удалось прочитать файл по причине: " + ОписаниеОшибки();
Сообщение.Сообщить();
Возврат;
КонецПопытки;

ПостОбьект.Товары.Очистить();
КоличествоСтрок = ТабДок.ВысотаТаблицы;
КоличествоКолонок = 3;
НачальнаяСтрока = 1;

Для Сч = НачальнаяСтрока По КоличествоСтрок Цикл

АртикулНоменклатуры = СокрЛП(ТабДок.Область(Сч, 1).Текст);
ЯчейкаОтправителя = СокрЛП(ТабДок.Область(Сч, 2).Текст);
КоличествоКПеремещению = Число(СокрЛП(ТабДок.Область(Сч, 3).Текст));

НайденнаяНоменклатура = НайтиНоменклатуру(АртикулНоменклатуры);
Если НайденнаяНоменклатура = Неопределено Тогда
Сообщить("Не удалось найти артикул " + АртикулНоменклатуры + " в строке № " + Сч);
Продолжить;
КонецЕсли;

НайденнаяЯчейка = НайтиЯчейку(ЯчейкаОтправителя);
Если НайденнаяЯчейка = Неопределено Тогда
Сообщить("Не удалось найти ячейку " + ЯчейкаОтправителя + " в строке № " + Сч);
Продолжить;
КонецЕсли;

СкладВДокументе = НайденнаяЯчейка.Владелец;
Если СкладВДокументе <> ПостОбьект.Склад Тогда
Сообщить(«Не удалось найти ячейку " + ЯчейкаОтправителя + " в строке № " + Сч + ". Ячейка не принадлежит текущему складу.»);
Продолжить;
КонецЕсли;

НоваяСтр = ПостОбьект.Товары.Добавить();
НоваяСтр.Номенклатура = НайденнаяНоменклатура;
НоваяСтр.ЯчейкаОтправитель = НайденнаяЯчейка;

КонецЦикла;

КонецПроцедуры

очень надо делать на сервере заполнение, поскольку алгоритм большой и цепляет табличную часть документа основания.

вопрос: как отобразить данные на клиенте не записывая объект?

программисты 1С программисты IT     #1   27 июн 2026 23:00   Увидели: 3 клиента, 0 специалистов   Ответить

Задайте свой вопрос по программистам 1С
профессионалам

Сейчас онлайн 75 программистов
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2026