Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 апр 2024, 11:53

Заполнить табличную часть из буфера обмена

Автор Вадим Ф, 18 июл 2018, 15:05

0 Пользователей и 1 гость просматривают эту тему.

Вадим Ф

Добрый день!

Уже четвертый день решаю эту задачу, кто знает, пожалуйста подскажите.

Есть документ, в нем табличная часть, в ней 4 столбца. Как заполнить их данными, скопированными из внешнего источника (например Excel).

Спасибо большое кто подскажет

Вадим Ф

Цитата: Вадим Ф от 18 июл 2018, 15:05
Добрый день!

Уже четвертый день решаю эту задачу, кто знает, пожалуйста подскажите.

Есть документ, в нем табличная часть, в ней 4 столбца. Как заполнить их данными, скопированными из внешнего источника (например Excel).

Спасибо большое кто подскажет
ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML_Документа_acb123", Ложь);
Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow;
Окно.ClipboardData.SetData("Text", ТекстПисьма);
ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML_Документа_acb123")));
   

Нашел такой код, но не знаю как он может функционировать.

1с 8.3

chesnauskis


Вадим Ф

Конфигурация УТП

KOI8-R

Я бы просто добавил в форму поле табличного документа типа Табличный документ.
В него без проблем через ctrl-c ctrl-v копируется содержимое табличных документов (не забыть возвести флаг "редактирование").
А уже потом по команде обрабатывать табличный документ и выводить данные в табличную часть.

Вадим Ф

KOI8-R - спасибо за совет.

Так и буду пробовать сделать.

Но к сожалению, я только новичок в 1с, а работу нужно сделать.
Если кому не сложно, подскажите, куда двигаться, чтобы перенести данные с табличного документа в табличную часть.

KOI8-R

Цитата: Вадим Ф от 18 июл 2018, 23:46
Если кому не сложно, подскажите, куда двигаться, чтобы перенести данные с табличного документа в табличную часть.

Вот например кусок кода по обработке табличного документа.
ТабДок = Объект.ТабДок;

НайденнаяНоменклатура = Объект.НайденнаяНоменклатура;
НайденнаяНоменклатура.Очистить();

Для НомерСтроки = 1 По ТабДок.ВысотаТаблицы Цикл

Значение_03 = СокрЛП(ТабДок.Область(НомерСтроки, 3, НомерСтроки, 3).Текст);

Если ЗначениеЗаполнено(Значение_03) Тогда

Значение_01 = СокрЛП(ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст);

НовСтр = НайденнаяНоменклатура.Добавить();
НовСтр.Загружать = Истина;

Если ЗначениеЗаполнено(Значение_01) Тогда
НайденныйЭлемент = ПолучитьНоменклатуру("Артикул", Значение_01, Ложь);
НовСтр.ЭтоГруппа = Ложь;
Иначе
НайденныйЭлемент = ПолучитьНоменклатуру("НаименованиеПолное", Значение_03, Истина);
НовСтр.ЭтоГруппа = Истина;
КонецЕсли;

Значение_02 = СокрЛП(ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст);
Значение_04 = СокрЛП(ТабДок.Область(НомерСтроки, 4, НомерСтроки, 4).Текст);
Значение_05 = СокрЛП(ТабДок.Область(НомерСтроки, 5, НомерСтроки, 5).Текст);

НовСтр.Номенклатура = НайденныйЭлемент;
НовСтр.НаименованиеНоменклатурыГруппы = Значение_03;

Если ЗначениеЗаполнено(Значение_01) Тогда
НовСтр.Артикул = Значение_01;
НовСтр.Размеры = Значение_02;
НовСтр.ЦенаПоступления = Число(Значение_04);
НовСтр.ЦенаРеализации = Число(Значение_05);
КонецЕсли;

КонецЕсли;

КонецЦикла;

Вадим Ф


Похожие темы (5)

Рейтинг@Mail.ru

Поиск