Простая конфигурация для логистики на 1С 7.7. Для небольших компаний-агрегаторов перевозок. Работа по принципу: звонок заказчика->заявка на перевозку->назначение а/м->акт выполненных работ. Возможен многопользовательский режим. Возможна выгрузка в БП 3.0.
сегодня в 16:00 48 0 pisarevEV 0
сегодня в 16:00
Пакетная выгрузка регламентированных отчетов из Бухгалтерии предприятия
Выгрузка выделенных регламентированных отчётов одной кнопкой (расширение).
сегодня в 15:00 57 0 Power_0N 0
сегодня в 15:00
Сравнение единиц товаров в документах «Приходный ордер» и «Расходный ордер» с документами, на основании которых они сделаны, и документами «Реализации товаров» для ордерных складов
Отчет предназначен для проверки, поиска ошибок и сравнения Распоряжений на приемку и отгрузку товара (Заказ поставщику, Заказ Клиенту и т.д.) с Приходными и Расходными ордерами по Ордерному складу (видно сколько единиц товаров принято на склад или отгружено со склада и сколько товара заказано). Также видно, сколько единиц товара отгружено со склада по Расходному Ордеру и сколько единиц реализовано по документу реализации. Полезен для сравнения «Ордерного склада» и Финансового склада». Возможна сортировка по различным параметрам.
Запросы в 1С за 3 часа
сегодня в 12:30 234 0 egka2017 0
сегодня в 12:30
Рекомендованные маршруты из формы документа + возможность запуска документа только по рекомендованному маршруту для 1С: Документооборот 2.1 КОРП, ПРОФ, ДГУ
Рекомендованные маршруты + возможность запуска только по рекомендованному маршруту для 1С: Документооборот 2.1 КОРП, ПРОФ, ДГУ. Расширение добавляет следующие возможности: — Ограничение возможности выбора только рекомендованного маршрута согласования. — Возможность выбора и запуска маршрута согласования прямо из формы документа, минуя другие формы.
сегодня в 12:00 123 0 vashkostya 0
сегодня в 12:00
Личная карточка (унифицированная форма Т-2) из справочника Сотрудники (ЗУП 3.1, КА 2, ERP 2)
Внешняя печатная форма позволеет печатать Унифицированную форму Т-2 из справочника Сотрудники (ЗУП 3.1, КА 2, ERP 2).
сегодня в 09:00 85 0 Spektr 0
сегодня в 09:00
Гибкий Канбан для 1С: Документооборот 8, редакция 2.1
В данном Канбане, благодаря динамически создаваемым объектам на форме, каждый пользователь может под себя настроить порядок вывода и состав колонок статусов задач.
сегодня в 08:00 192 0 MaksimMalikov 0
сегодня в 08:00
Анализ валовой прибыли, рентабельности и наценки без закрытия месяца
Рубрика: 1с примеры
Иногда возникают задачи, когда необходимо получить размер экрана, чтобы оптимизировать расположение элементов на форме. Для мобильного приложения по этим данным можно косвенно судить об ориентации экрана: расположен он горизонтально или вертикально.
Как выполнить произвольный код в 1С 8?
Рано или поздно каждый разработчик сталкивается с задачей выполнения динамического кода, введенного пользователем. Например, формула расчета цены продажи.
1С программирование для новичков. Урок 1-8. Пишем код
Как привести ФИО к формату «Фамилия Имя Отчество»?
Чтобы привести ФИО сотрудника или клиента к формату «Фамилия Имя Отчество», где первый символ выводится в верхнем регистре, а остальные — в нижнем, можно воспользоваться функцией ТРег(), которая преобразует все слова к титульному регистру.
Как определить начало и конец периода программно?
Во встроенном языке на платформе 1С:Предприятие 8 существует ряд функций для работы с датами. Часть из них отвечает за получение даты начала или конца стандартного учетного периода: года, квартала, месяца, недели и т.п.:
Как сделать паузу в коде?
Эта статья расскажет о способах написания пауз на встроенном языке 1С:Предприятие 8, их достоинствах и недостатках. Также Вы узнаете, какой способ является самым оптимальным с точки зрения потребляемых ресурсов компьютера.
Популярные рубрики
- Новое в платформе
- Описание встроенного языка
- Строковые функции
- Функции работы с числами
- Функции работы с датой
- Функции работы с сеансом
- Интерактивные процедуры и функции
- Прочие процедуры и функции
- Массив
- Список значений
- Структура
- Таблица значений
- Дерево значений
Свежие записи
- Процедура УдалитьФайлы()
- Процедура СоздатьКаталог()
- Функция НайтиФайлы()
- Функция СтрПодобнаПоРегулярномуВыражению()
- Функция СтрЗаменитьПоРегулярномуВыражению()
- Объект РезультатПоискаПоРегулярномуВыражению
- Функция СтрНайтиВсеПоРегулярномуВыражению()
- Функция СтрНайтиПоРегулярномуВыражению()
- Новое в версии 1С:Предприятие 8.3.23
- Лицензия для разработчика 1С:Предприятие 8.3 (комьюнити-лицензия) — что это?
Свежие комментарии
- Александр К. к записи Процедура ОбновитьНумерациюОбъектов()
- Василиса к записи Процедура ОбновитьНумерациюОбъектов()
- Александр К. к записи Как загрузить массив в колонку таблицы значений?
- София к записи Как загрузить массив в колонку таблицы значений?
- Александр К. к записи Программная работа с датой
Источник: www.about1c.ru
Основные приемы работы с запросами во встроенном языке 1С:Предприятия удобнее всего рассматривать на примерах. Приведем типичный пример использования запроса:
// Выполним запрос и запишем результат в переменную РезультатЗапроса.
РезультатЗапроса = Запрос . Выполнить ( ) ;
// Получим выборку из результата запроса.
Выборка = РезультатЗапроса . Выбрать ( ) ;
Как видно из этого примера, работа с запросом ведется при помощи трех основных объектов:
- Запрос – объект, выполняющий сам запрос. Представлен в примере переменной с именем Запрос.
- РезультатЗапроса – объект, содержащий полученные при выполнении запроса данные. Представлен в примере переменной с именем РезультатЗапроса.
- ВыборкаИзРезультатаЗапроса – объект, позволяющий обходить (т.е. перебрать) записи из результата. Представлен в примере переменной с именем Выборка.
Рассмотрим подробнее объект ВыборкаИзРезультатаЗапроса. Для этого нам понадобится следующий текст запроса:
ВЫБРАТЬ
Товар, Количество
ИЗ
Документ.РасхНакл.Состав
УПОРЯДОЧИТЬ ПО Товар
ИТОГИ Сумма(Количество) ПО Товар Иерархия
Его результат представлен в таблице:
N
Товар
Количество
1
Сантехника
104
11
Мебель
134
В эту таблицу добавлена колонка «N», которой нет в результате запроса, но которая будет использоваться нами в дальнейшем для идентификации записи в результате. Итоговые записи в таблице выделены курсивом, итоговые записи для иерархических уровней справочника выделены жирным шрифтом.
Способы обхода результата запроса
Линейный обход результата
Первый, и самый простой способ обхода – линейный. При линейном обходе выборка будет выдавать записи в той последовательности, в которой они располагаются в результате запроса. В нашем примере это будут записи с номерами 1, 2, 3, 4, 5 и так далее до записи с номером 20.
Для получения линейной выборки из результата необходимо вызвать метод Выбрать объекта РезультатЗапроса без параметров, либо с параметром ОбходРезультатаЗапроса.Прямой.
Пример:
| СпособВыборки = ОбходРезультатаЗапроса . Прямой ; Выборка1 = РезультатЗапроса . Выбрать ( СпособВыборки ) ; // что равнозначно записи Выборка1 = РезультатЗапроса . Выбрать ( ) ; |
Иерархический обход результата
Следующий способ обхода результата – иерархический. При данном обходе обходятся только записи, находящиеся на одном уровне. Для получения иерархической выборки из результата необходимо вызвать метод Выбрать() объекта РезультатЗапроса с параметром ОбходРезультатаЗапроса.ПоГруппировкамСИерархией.
Пример:
| СпособВыборки = ОбходРезультатаЗапроса . ПоГруппировкамСИерархией ; Выборка2 = РезультатЗапроса . Выбрать ( СпособВыборки ) ; |
Выборка из результата с иерархическим обходом в нашем примере обойдет только записи с номерами 1 и 11, так как только эти две записи находятся на самом верхнем уровне. Проиллюстрируем это, представив наш результат в виде дерева, где узлами будут итоговые записи, а листьями дерева будут детальные записи. Вот что у нас получится:
Из этого рисунка видно, что именно записи с номерами 1 и 11, и только они находятся на первом уровне дерева, в результате чего только они и попадают в первый проход иерархической выборки.
Возникает вопрос, как получать остальные записи результата запроса. Для этого у объекта ВыборкаИзРезультатаЗапроса можно получить еще одну выборку, которая будет обходить подчиненные записи текущей записи выборки. В нашем примере в момент, когда объект Выборка2 будет позиционирован на запись с номером 1, мы запросим у него иерархическую выборку.
Таким образом, мы получим выборку, которая нам вернет записи с номерами 2, 7. А когда Выборка2 будет спозиционирована на записи с номером 11, то полученная у нее иерархическая выборка вернет записи с номерами 12, 16. Так реализуется иерархический обход результатов запроса. Заметим, что у выборки можно получать вложенные выборки любого типа. Так, если бы мы запросили у Выборки2, спозиционированной на записи 1, линейную выборку, то с ее помощью мы бы получили записи с номерами записей со 2-го по 10-й. Проиллюстрируем описанную методику на примере.
Пример:
// Установим текст запроса
Запрос . Текст = «ВЫБРАТЬ
|Товар, Количество
|ИЗ
|Документ.РасхНакл.Состав
|УПОРЯДОЧИТЬ ПО Товар
|ИТОГИ Сумма(Количество) ПО Товар, Товар Иерархия» ;
// Выполним запрос и запишем результат в переменную
// РезультатЗапроса.
РезультатЗапроса = Запрос . Выполнить ( ) ;
// Получим выборку из результата запроса.
СпособВыборки = ОбходРезультатаЗапроса . ПоГруппировкамСИерархией ;
Выборка = РезультатЗапроса . Выбрать ( СпособВыборки ) ;
Процедура ВыдатьРекурсивно ( Выборка )
// Пока в выборке есть записи .
Пока Выборка . Следующий ( ) Цикл
// . выведем в окно сообщений поля из результата
Товар = Выборка . Наименование ;
Количество = Выборка . Количество ;
Сообщить ( «Товар: » + Товар + » Количество: » + Количество ) ;
Обход результата по группам
Третий, и последний способ обхода результата – по группам. Он сходен с иерархическим обходом, но с одним различием: записи с иерархическими итогами при обходе в нем рассматриваются как детальные записи, а не как узловые. Для получения выборки по группам из результата запроса необходимо вызвать метод Выбрать объекта РезультатЗапроса с параметром ОбходРезультатаЗапроса.ПоГруппировкам.
Пример:
| СпособВыборки = ОбходРезультатаЗапроса . ПоГруппировкам ; Выборка2 = РезультатЗапроса . Выбрать ( СпособВыборки ) ; |
Перебрав в ней всё, мы получим записи с номерами 1, 2, 7, 11, 12, 16.
Пример:
// Установим текст запроса
Запрос . Текст = «ВЫБРАТЬ
|Товар, Количество
|ИЗ
|Документ.РасхНакл.Состав
|УПОРЯДОЧИТЬ ПО Товар
|ИТОГИ Сумма(Количество) ПО Товар, Товар Иерархия»;
// Выполним запрос и запишем результат в переменную
// РезультатЗапроса.
РезультатЗапроса = Запрос . Выполнить ( ) ;
// Получим выборку из результата запроса
СпособВыборки = ОбходРезультатаЗапроса . ПоГруппировкам ;
Выборка = РезультатЗапроса . Выбрать ( СпособВыборки ) ;
// Пока в выборке есть записи .
Пока Выборка . Следующий ( ) Цикл
// . выведем в окно сообщений поля из результата
Товар = Выборка . Наименование ;
Количество = Выборка . Количество ;
Сообщить ( «Товар: » + Товар + » Итого по товару: » + Количество ) ;
ВыдатьДочерниеЗаписи ( Выборка . Выбрать ( ) ) ;
Работа с выборкой
Объект ВыборкаИзРезультатаЗапроса предназначен для обхода записей результата запроса. Можно представить себе выборку как некоторый объект, который содержит указатель на текущую запись в результате и предоставляет программе доступ ко всем полям текущей записи. Для навигации по записям запроса используются три метода:
- Следующий() – перейти к следующей записи результата в соответствии с порядком обхода выборки. При первом вызове позиционирует выборку на первую запись. Когда будут выбраны все записи, данный метод просигнализирует об этом, вернув значение Ложь.
- СледующийПоЗначениюПоля() – получить следующую запись со значением в заданном поле, отличающимся от значения в этом поле текущей записи.
- НайтиСледующий () – найти запись, с заданными значениями некоторых полей.
Использование метода СледующийПоЗначениюПоля
Метод позволяет сгруппировать записи результата по значениям полей.
Пример запроса:
ВЫБРАТЬ
Док.Товар, Док.Получатель, Док.Количество
ИЗ
Документ.РасхНакл.Состав Док
УПОРЯДОЧИТЬ ПО Док.Товар.Наименование, Док.Получатель.Наименование
N
Товар
Получатель
Количество
Источник: yellow-erp.com