Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Таблица Формы Перебор Строк на Клиенте • Поиск по блогу

В новых конфигурациях появилась замечательная возможность копировать строки с содержимым, для этого просто выберите нужные строки, можно выбрать сразу несколько через зажатую клавишу Ctrl на клавиатуре, и через правую кнопку мыши вызовем контекстное меню, где будут пункты Скопировать строки и Вставить строки , для начала выберем Скопировать строки.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Для иллюстрации механизма подбора информации в форме будем использовать задачу подбора элементов справочника Номенклатура в табличную часть документа ПриходнаяНакладная как наиболее распространенную. 1С очистить таблицу значений на форме Обращайтесь в форму связи

Полезные приемы при работе с Excel из 1С (Версия 3.1)

После манипуляции с файлом необходимо его закрыть. В противном случае он останется захваченным в системе, и мы не сможем его использовать в других приложениях.

Клиент-Серверный вариант в управляемых формах.

1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.

2-ой способ — это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.

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

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

На выходе получаем двумерный массив, который содержит все данные указанного листа Excel

При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.

2. Работа с Excel через ТабличныйДокумент 1С

С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.

2. Производим манипуляции уже с ТабличнымДокументом

Давайте теперь разберем сохранение в Excel с помощью данного метода:

Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel

Выражаю особую благодарность коллеги Fragster за хороший комментарий

Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:

  1. Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
  2. Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.

Строка подключения зависит от версии ODBC. И вызывает наибольшие трудности при подключение поэтомя я рекомендую ее сгенерировать на сайте http://www.connectionstrings.com

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

Запись в Excel тоже производится в виде запроса:

Хочу отметить что наименование полей производится по первой строке в таблице

ADODB предоставляет ряд объектов, с которыми мы работаем

Похож на ADODB.Command предназначен для выполнения запросов и обработки результата

В файле продемонстрированны оба варианта работы с запросами.

1С команды в табличной части - Вэб-шпаргалка для интернет предпринимателей!
Допустим, нам необходимо в документ «Заказ клиента» в табличную часть «Товары» добавить новую колонку «Группа» которая будет отображать наименование группы номенклатуры в которой она состоит. Переходим в меню «Еще» — «Изменить форму».

НаКлиенте, &НаСервере, &НаСервереБезКонтекста — 1C База знаний

В результате выполнения функции ПоместитьВоВременноеХранилище получаем адрес во временном хранилище, где расположена выгруженная таблица значений.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Более подробно использование формы подбора и настройка механизма перетаскивания между списками Drag-and-Drop рассматривается в курсе Профессиональная разработка интерфейсов и форм в 1С Предприятие 8. Учебник 1С. Обращайтесь в форму связи

личный блог

С задачей вывода каких либо данных в Таблицу Значений (ТЗ) на форме сталкиваются наверное все программисты. Если раньше до выхода Управляемого Интерфейса все решалось довольно просто, то теперь все немного изменилось.

Для управляемых форм все ровно тоже самое кроме того что нужно на сервере получить значение данных ТЗ на форме, записать в них результат запроса и потом снова вернуть их на форму.

Во всей этой истории следует обратить внимание на 2 строчки.

Первый из типа данных ДанныеФормыКоллекция преобразует данные в тип ТаблицаЗначений. Второй соответственно конвертирует в обратном направлении.

1C Таблица Формы Перебор Строк на Клиенте

Чтобы среди элементов справочника Склады можно было выделить Главный склад , создадим в конфигураторе предопределенный элемент справочника.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Метод формы ОповеститьОВыборе используется в тех случаях, когда алгоритм формирования данных подбора сложен и кроме собственно выбора элемента справочника от пользователя требуется указание некоторой дополнительной информации. Решение задач по управляемым формам — Тема № 10: Как реализовать заполнение табличной части документа при помощи формы подбора, Курсы по 1С Обращайтесь в форму связи

Разбить строку в 1С

Например, нам понадобилось для дальнейшего анализа вывести табличную часть «Товары» документа «Заказ клиента» в файл Excel. Проще простого – нажимаем кнопку «Еще» — «Вывести список».

Выбираем флагами нужные колонки для вывода или оставляем все по умолчанию.

В появившейся таблице на клавиатуре нажимаем сочетание клавиш «Ctrl» + «S» при этом откроется диалоговое окно для выбора места сохранения файла таблицы, указываем тип файла «Лист Excel» и нажимаем «Сохранить».

Передача данных между управляемыми формами: Статьи и материалы.
Аналогичные способы можно встретить при работе с интернет-магазинами. Пользователь набирает товары в корзину, видит их цены, остатки на складах. После этого из корзины данные переносятся в заказ покупателя. Таким образом экономится время на внесение заказа в систему.

Лайфхаки 1С – чудеса с табличной частью документа!

Сортировка строк в 1с таблице

Мы можем отсортировать строки по алфавиту, например, в таблице «Товары» документа «Заказ клиента», для этого сначала кликнем левой кнопкой мыши на нужном столбце по которому хотим выполнить сортировки и нажимаем кнопку «Еще» — «Сортировать по возрастанию» или «Сортировать по убыванию».

Нужно иметь ввиду, что не получится сортировать данные в 1С по тем колонкам которые мы добавили через «Изменить форму» путем выбора вложенного поля из существующей колонки (смотрите выше, где мы добавляли колонку «Группа»), так как это не родные колонки для таблицы. Но это легко сделать через конфигуратор, нормальный программист это сделает за пару десятков минут.

Назначение в этом поле перечисляются документы, для которых эта обработка предназначена в которых она появится после регистрации в информационной базе.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
При этом левая таблица справочник Номенклатура , правая таблица виртуальная таблица Остатки регистра накопления ОстаткиНоменклатуры. СКД и таблицы значений Обращайтесь в форму связи

1C Таблица Формы Перебор Строк на Клиенте

ТабЗнач.НоваяКолонка(«Номер»);
ТабЗнач.НоваяКолонка(«Сотрудник»);
ТабЗнач.НоваяКолонка(«Должность»);
ТабЗнач.НоваяКолонка(«Оклад»);

//можно указать тип данных каждой колонки
//если тип данных колонки не указан, то можно хранить данные любого типа
Синтаксис: НоваяКолонка(, , , , , , , )

ТабЗнач.НоваяКолонка(«Номер»,»Число»,10,0);
ТабЗнач.НоваяКолонка(«Сотрудник»,»Справочник.Сотрудники»);
ТабЗнач.НоваяКолонка(«Должность»,»Справочник.Должности»);
ТабЗнач.НоваяКолонка(«Оклад»,»Число»,10,2);

ТабЗнач.НоваяСтрока();
ТабЗнач.Номер = 1;
ТабЗнач.Сотрудник = «Иванов Иван Иванович»; //следите за типом колонки!
ТабЗнач.Должность = «Программист»;
ТабЗнач.Оклад = 20000;

ТабЗнач.НоваяСтрока();
ТабЗнач.Номер = 2;
ТабЗнач.Сотрудник = «Петров Петр Петрович»;
ТабЗнач.Должность = «Бухгалтер»;
ТабЗнач.Оклад = 10000;

//обычно строки добавляются в цикле
СпрСотр = СоздатьОбъект(«Справочник.Сотрудники»);
СпрСотр.ВыбратьЭлементы();
Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
. ТабЗнач.НоваяСтрока();
. ТабЗнач.Номер = СпрСотр.Код;
. ТабЗнач.Сотрудник = СпрСотр.ТекущийЭлемент(); //следите за типом колонки!
. ТабЗнач.Должность = СпрСотр.Должность;
. ТабЗнач.Оклад = СпрСотр.Оклад;
КонецЦикла;

ТабЗнач.ВыбратьСтроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл
. Сообщить(ТабЗнач.Сотрудник);
КонецЦикла;

2-й способ.

Для НомерСтроки = 1 По ТабЗнач.КоличествоСтрок() Цикл
. ТабЗнач.ПолучитьСтрокуПоНомеру(НомерСтроки);
. Сообщить(ТабЗнач.Сотрудник);
КонецЦикла;

//сортировать по должности по возрастанию
ТабЗнач.Сортировать(«Должность+»);

//сортировать по должности по возрастанию, а внутри должности по убыванию оклада
ТабЗнач.Сортировать(«Должность+,Оклад-«);

Синтаксис: НайтиЗначение(,,)
Возвращает число: 0 — значение не найдено; 1 — значение найдено
Если указан параметр , то поиск производится только по заданной строке
Если указан параметр , то поиск производится только по заданной колонке

номстр = 0;
Если ТабЗнач.НайтиЗначение (10000, номстр, «Оклад») = 1 Тогда
. ТабЗнач.ПолучитьСтрокуПоНомеру(номстр);
. Сообщить(ТабЗнач.Сотрудник);
КонецЕсли;

//получить итог по колонке можно методом Итог
ВсеОклады = ТабЗнач.Итог(«Оклад»)

//часто требуется группировать строки и подсчитывать итоги по группам,
//в этом случае применяется метод Свернуть

//проссумировать оклады по каждой должности
ТабЗнач.Свернуть(«Должность»,»Оклад»);

//Можно группировать и суммировать сразу по нескольким колонкам
ТабЗнач.Свернуть(«Категория, Должность»,»Оклад,Налог»);

1С данныеформыколлекция в таблицу значений

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*