helpf.pro
Регистрация
 +6 
Распечатать

1С 8.x : Функция загружает весь табличный документ в таблицу значений

Код 1C v 8.х
  // Вариант 1
// По переданному табличному документу возвращает таблицу значений,
// при условии что в первой строке таблицы - идентификаторы колонок
// Автор : dimoff
Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1) Экспорт

ТаблицаДанных = Новый ТаблицаЗначений;
НомерКолонки = 0;
Пока Истина Цикл
НомерКолонки = НомерКолонки + 1;
ИмяКолонки = ТабДок.Область(1, НомерКолонки).Текст;
Если ПустаяСтрока(ИмяКолонки) Тогда
Прервать;
КонецЕсли;
ТаблицаДанных.Колонки.Добавить(ИмяКолонки);
КонецЦикла;

СчетчикКолонок = НомерКолонки - 1;

НомерСтроки = 1; ФлагПрерывания = Ложь;
Пока Истина Цикл
НомерСтроки = НомерСтроки + 1;
Стр = ТаблицаДанных.Добавить();

Для А = 1 ПО СчетчикКолонок Цикл
ТекстКолонки = ТабДок.Область(НомерСтроки, А).Текст;
Если ПустаяСтрока(ТекстКолонки) Тогда
Если А = КолонкаИндекса Тогда
Флагпрерывания = Истина;
ТаблицаДанных.Удалить(Стр);
КонецЕсли;
Иначе
Стр[А - 1] = ТекстКолонки
КонецЕсли;

Если Флагпрерывания Тогда
Прервать
КонецЕсли;
КонецЦикла;

Если Флагпрерывания Тогда
Прервать
КонецЕсли;
КонецЦикла;

Возврат ТаблицаДанных
КонецФункции

// Варинат 2
//Функция загружает весь макет, табличный документ в таблицу значений
//Первая строка содержит подписи колонок (должны быть правильные идентификаторы)
//Пустые строки (состоящией из пробелов, переводов строки и т.п.) заменяет на Неопределено
//Если в ячейке есть значение, в ячейку таблицы значений попадает именно это значение
//Автор : Гений1С
Функция обМакетВТаблицуЗначений(Макет) Экспорт
Перем ТЗ;
ТЗ=Новый ТаблицаЗначений();
#Если Клиент Тогда
//Считываем колонки
Для Стр=1 По Макет.ВысотаТаблицы Цикл
Если Стр>1 Тогда
ТекСтр=ТЗ.Добавить();
КонецЕсли;
ПустаяСтрока=истина;
Для Кол=1 По Макет.ШиринаТаблицы Цикл
Яч=Макет.Область(Стр, Кол);
Если Яч.СодержитЗначение Тогда
Зн=Яч.Значение;
Иначе
Зн=Яч.Текст;
КонецЕсли;
Если ТипЗнч(Зн)=Тип("Строка") И ПустаяСтрока(Зн) Тогда
Зн=Неопределено;
КонецЕсли;

//Добавляем колонку
Если Стр=1 Тогда
ТЗ.Колонки.Добавить(Зн);
Иначе
ТекСтр[Кол-1]=Зн;
КонецЕсли;
КонецЦикла;
КонецЦикла;
#КонецЕсли
Возврат ТЗ;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 60518
 +6 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.