Обувь , Детская обувь , Продукты , в поле выборки запроса Производитель выводится строка NULL , а для элементов справочника, не являющихся группой, выводится содержимое поля Производитель рис.

Сортировка строк в 1с таблице
Мы можем отсортировать строки по алфавиту, например, в таблице «Товары» документа «Заказ клиента», для этого сначала кликнем левой кнопкой мыши на нужном столбце по которому хотим выполнить сортировки и нажимаем кнопку «Еще» — «Сортировать по возрастанию» или «Сортировать по убыванию».
Нужно иметь ввиду, что не получится сортировать данные в 1С по тем колонкам которые мы добавили через «Изменить форму» путем выбора вложенного поля из существующей колонки (смотрите выше, где мы добавляли колонку «Группа»), так как это не родные колонки для таблицы. Но это легко сделать через конфигуратор, нормальный программист это сделает за пару десятков минут.
Полезные сведения о языке запросов 1С 8.2 — Статьи — Каталог файлов — 1С отчеты и обработки
Сортировка строк в 1с таблице
Мы можем отсортировать строки по алфавиту, например, в таблице «Товары» документа «Заказ клиента», для этого сначала кликнем левой кнопкой мыши на нужном столбце по которому хотим выполнить сортировки и нажимаем кнопку «Еще» — «Сортировать по возрастанию» или «Сортировать по убыванию».
Нужно иметь ввиду, что не получится сортировать данные в 1С по тем колонкам которые мы добавили через «Изменить форму» путем выбора вложенного поля из существующей колонки (смотрите выше, где мы добавляли колонку «Группа»), так как это не родные колонки для таблицы. Но это легко сделать через конфигуратор, нормальный программист это сделает за пару десятков минут.
В полях выборки запроса имеющих числовой тип данных, с помощью оператора ВЫРАЗИТЬ возможно, контролировать длину целой и дробной части числа.

Заполнение табличной части документа
Теперь нам необходимо добавить на созданной форме новую команду. Предполагается, что она будет автоматически менять данные в табличной части как одного, так и нескольких документов (их формы списка) одновременно, записывая их впоследствии.
Промокоды на Займер на скидки
В рамках нашего примера будет произведена обработка уже существующей табличной части «Товары». Для каждой строки будет установлена ручная скидка в размере 5%. Так же, мы рассчитаем саму сумму данной скидки, равную сумме товаров в строке, умноженных на 0,05.
&НаСервере Процедура ВыполнитьКоманду(Команда, ОбъектыНазначения) Для каждого ЗаказКлиента из ОбъектыНазначения Цикл ЗаказКлиентаОбъект = ЗаказКлиента. ПолучитьОбъект() ; Для каждого СтрокаТЗ из ЗаказКлиентаОбъект. Товары Цикл СтрокаТЗ. ПроцентРучнойСкидки = 5 ; СтрокаТЗ. СуммаРучнойСкидки = СтрокаТЗ. Сумма * 0 . 05 ; КонецЦикла ; ЗаказКлиентаОбъект. Записать() ; КонецЦикла ; КонецПроцедуры
Урок 23. Документы: табличные части | 1С: Программирование | Яндекс Дзен
- Элемент — содержит элемент управления ТабличноеПоле .
- НоваяСтрока — булево. Содержит значение Истина , если добавляется новая строка табличной части, и Ложь, если пользователь начал редактировать уже существующую строку.
- Копирование — булево. Содержит значение Истина , если пользователь копирует строку, и Ложь в остальных случаях.
Регистрация внешней обработки
Запустите 1С в режиме «Предприятие» и откройте справочник «Дополнительные отчеты и обработки». Найдем его через меню «Все функции».
Создайте новый элемент в открывшемся справочнике и по одноименной кнопке загрузите из файла свою обработку. Разместим ее одновременно и на форме списка и на форме самой карточки документа.
Теперь в форме списка документов «Заказ клиента» появится кнопку «Заполнение…», которая позволит произвести изменить ручные скидки товаров сразу у нескольких документов.
Так же данная кнопка будет доступна и в карточке самого документа.
Для того, чтобы учитывать деньги и товары, в бизнесе широко используют разные таблицы. Почти каждый документ – это таблица.
В одной таблице перечислены товары к отгрузке со склада. В другой таблице – обязательства по оплате этих товаров.
Поэтому в 1С видное место занимает работа с таблицами.
Таблицы в 1С также называют «табличные части». Они есть у справочников, документов и других .
Запрос в результате своего выполнения возвращает таблицу, доступ к которой возможно получить двумя разными способами.
Первый – более быстрый – выборка, получение строк из нее возможен только по порядку. Второй – выгрузка результата запроса в таблицу значений и далее произвольный доступ к ней.
//Вариант 1 – последовательный доступ к результатам запроса
//получение таблицы
Выборка = Запрос.Выполнить().Выбрать();
//по порядку обходим все строки результата запроса
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
//Вариант 2 – выгрузка в таблицу значений
Запрос = Новый Запрос(«ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура»);
//получение таблицы
Таблица = Запрос.Выполнить().Выгрузить().
//далее можем также обойти все строки
Для каждого Строка из Таблица Цикл
Сообщить(Строка.Наименование);
КонецЦикла;
//или произвольно обращаться к строкам
Строка = Таблица.Найти(«Лопата», «Наименование»);
Важная особенность – в таблице, которая получена из результата запроса, все колонки будут строго типизированы. Это значит, что запросив поле Наименование из справочника Номенклатура, Вы получите колонку вида Строка с допустимой длиной не более N символов.
Пользователь работает с таблицей, когда она размещена на форме.
Базовые принципы работы с формами мы с Вами обсуждали в уроке по и в уроке по
Итак, разместим таблицу на форме. Для этого можно перетащить таблицу с панели элементов управления. Аналогично можно выбрать в меню Форма/Вставить элемент управления.
Данные могут храниться в конфигурации – тогда нужно выбрать существующую (ранее добавленную) табличную часть того объекта конфигурации, форму которого Вы редактируете.
Нажмите кнопку «…» в свойстве Данные. Для того, чтобы увидеть список табличных частей, нужно раскрыть ветку Объект.
При выборе табличной части 1С сама добавит колонки у таблицы на форме. Строки введенные пользователем в такую таблицу будут сохраняться автоматически вместе со справочником/документом.
Обход результата запроса, содержащего данные табличной части, рассматривается в разделе Обход выборки результата запроса, содержащего данные табличной части.

«ВЫРАЗИТЬ» для составного типа данных и оптимизация запросов
С помощью оператора «ВЫРАЗИТЬ», для в полей имеющих составной тип данных, возможно ограничить попадание значений которые не соответствуют определённому типу данных. Причём такие ограничения можно сделать ещё на этапе выборки данных. Такие действия приводят к неявной оптимизации запросов. Рассмотрим подробно на примере.
Есть запрос, который выбирает всех покупателей, из существующих в базе документов «ПродажаТоваров». У документов такого вида реквизит «Покупатель» имеет составной тип данных:
ВЫБРАТЬ
ПродажаТоваров.Ссылка КАК СсылкаНаДокументПродажи,
ПродажаТоваров.Покупатель КАК СсылкаНаПокупателя
ИЗ
Документ.ПродажаТоваров КАК ПродажаТоваров
Следует понимать, что данные в поле «СсылкаНаПокупателя» формируются путём неявного левого соединения с таблицами «Контрагенты.Ссылка» из справочника «Контраенты» и «Сотрудники.Ссылка» из справочника «Сотрудники». Такие соединения в запросах 1С происходят, когда мы обращаемся к подчинённому полю через точку (разыменовываем поле). В нашем случае мы обращаемся к полю «Покупатель».
Визуальное представление работы такого запроса:
Если бы стояла задача отобрать только те документы, в которых покупателем был сотрудник. То наиболее оптимальным решением с точки зрения скорости выполнения запроса было бы вовсе запретить обращаться к справочнику «Контрагенты» так как данные из этого справочника для нас излишни. С такой задачей легко справится оператор «ВЫРАЗИТЬ» и запрос мог бы выглядеть так:
ВЫБРАТЬ
ПродажаТоваров.Ссылка КАК СсылкаНаДокументПродажи,
ВЫРАЗИТЬ(ПродажаТоваров.Покупатель КАК Справочник.Сотрудники) КАК СсылкаНаПокупателя
ИЗ
Документ.ПродажаТоваров КАК ПродажаТоваров
Однако, как мы можем видеть из результата запроса, поля выборки, которые не удовлетворяют условиям нашего отбора, получили значения «NULL». По этому реализуя отборы с помощью конструкции «ВЫРАЗИТЬ» во избежание дальнейших ошибок правильно накладывать дополнительное условие, например с помощью оператора «Где». Тогда запрос мог бы выглядеть так:
ВЫБРАТЬ
ПродажаТоваров.Ссылка КАК СсылкаНаДокументПродажи,
ВЫРАЗИТЬ(ПродажаТоваров.Покупатель КАК Справочник.Сотрудники) КАК СсылкаНаПокупателя
ИЗ
Документ.ПродажаТоваров КАК ПродажаТоваров
Где
ПродажаТоваров.Покупатель ССЫЛКА Справочник.Сотрудники
1С изменить значение в табличной части документа
ВЫРАЗИТЬ КАК Число
В полях выборки запроса имеющих числовой тип данных, с помощью оператора «ВЫРАЗИТЬ» возможно, контролировать длину целой и дробной части числа. В случаях, когда в результате такого контроля будет уменьшено количество знаков в числе, произойдёт округление по математическим правилам.
Получите понятные самоучители по 1С бесплатно:
ВЫБРАТЬ
3.55 КАК НашеЧисло,
ВЫРАЗИТЬ(3.55 КАК Число(15,1)) КАК РезультатОкругления
ВЫБРАТЬ
10/3 КАК Результат,
ВЫРАЗИТЬ(10/3 КАК Число(15,2)) КАК РезультатОкругления
Глядя на результаты примеров понятно, что оператор «ВЫРАЗИТЬ» округляет числа по правилу «до ближайшего целого».
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы