Digital-агентство Программист 1С
Портфолио
О нас
  • О компании
  • Партнеры
  • Реквизиты
  • Вопрос ответ
Услуги
  • Продвижение сайтов
    • SEO-продвижение
    • Seo-оптимизация сайта
    • Продвижение сайта статьями
    • SMM-продвижение в социальных сетях
    • Продвижение бренда в Инстаграм
    • Продвижение товаров интернет-магазина
  • Настройка и ведение контекстной рекламы
    • Настройка и ведение контекстной рекламы Яндекс.Директ
    • Google Adwords
    • Комплексная контекстная реклама
    • Аудит контекстной рекламы
  • Создание сайтов
    • Создание Интернет-магазина
    • Создание Корпоративного сайта
    • Наполнение интернет-магазина и сайтов
    • Дизайн и редизайн сайта
    • Интеграция сайта с Яндекс Маркетом
    • Коллтрекинг Mango
    • Web-аналитика и настройка счетчиков
  • Услуги 1С для бизнеса
    • Внедрение 1С
    • Hастройка 1С
    • Обслуживание 1С
    • Услуги программиста 1С
    • Сопровождение 1С
    • Автоматизация 1С
    • Доработка 1С
    • Интеграция 1С:Предприятие с Яндекс Маркетом
    • Маркировка импорта обуви
    • Интеграция OZON и 1C Предприятие
  • Автоматизация салона красоты
    • 1С:Предприятие для Салона красоты
    • CRM-система для Салона красоты
    • Создание сайта салона красоты
    • Продвижение сайта салона красоты
    • Реклама для Салона красоты
Блог
Контакты
Ещё
    Задать вопрос
    info@programmist1c.ru
    Люберцы, ул. Октябрьский проспект, 241Б,этаж 3 ,офис 301.
    Digital-агентство Программист 1С
    Портфолио
    О нас
    • О компании
    • Партнеры
    • Реквизиты
    • Вопрос ответ
    Услуги
    • Продвижение сайтов
      Продвижение сайтов
      • SEO-продвижение —
      • Seo-оптимизация сайта —
      • Продвижение сайта статьями —
      • SMM-продвижение в социальных сетях —
      • Продвижение бренда в Инстаграм —
      • Продвижение товаров интернет-магазина
    • Настройка и ведение контекстной рекламы
      Настройка и ведение контекстной рекламы
      • Настройка и ведение контекстной рекламы Яндекс.Директ —
      • Google Adwords —
      • Комплексная контекстная реклама —
      • Аудит контекстной рекламы
    • Создание сайтов
      Создание сайтов
      • Создание Интернет-магазина —
      • Создание Корпоративного сайта —
      • Наполнение интернет-магазина и сайтов —
      • Дизайн и редизайн сайта —
      • Интеграция сайта с Яндекс Маркетом —
      • Коллтрекинг Mango —
      • Web-аналитика и настройка счетчиков
    • Услуги 1С для бизнеса
      Услуги 1С для бизнеса
      • Внедрение 1С —
      • Hастройка 1С —
      • Обслуживание 1С —
      • Услуги программиста 1С —
      • Сопровождение 1С —
      • Автоматизация 1С —
      • Доработка 1С —
      • Интеграция 1С:Предприятие с Яндекс Маркетом —
      • Маркировка импорта обуви —
      • Интеграция OZON и 1C Предприятие
    • Автоматизация салона красоты
      Автоматизация салона красоты
      • 1С:Предприятие для Салона красоты —
      • CRM-система для Салона красоты —
      • Создание сайта салона красоты —
      • Продвижение сайта салона красоты —
      • Реклама для Салона красоты
    Блог
    Контакты
      Digital-агентство Программист 1С
      Портфолио
      О нас
      • О компании
      • Партнеры
      • Реквизиты
      • Вопрос ответ
      Услуги
      • Продвижение сайтов
        Продвижение сайтов
        • SEO-продвижение —
        • Seo-оптимизация сайта —
        • Продвижение сайта статьями —
        • SMM-продвижение в социальных сетях —
        • Продвижение бренда в Инстаграм —
        • Продвижение товаров интернет-магазина
      • Настройка и ведение контекстной рекламы
        Настройка и ведение контекстной рекламы
        • Настройка и ведение контекстной рекламы Яндекс.Директ —
        • Google Adwords —
        • Комплексная контекстная реклама —
        • Аудит контекстной рекламы
      • Создание сайтов
        Создание сайтов
        • Создание Интернет-магазина —
        • Создание Корпоративного сайта —
        • Наполнение интернет-магазина и сайтов —
        • Дизайн и редизайн сайта —
        • Интеграция сайта с Яндекс Маркетом —
        • Коллтрекинг Mango —
        • Web-аналитика и настройка счетчиков
      • Услуги 1С для бизнеса
        Услуги 1С для бизнеса
        • Внедрение 1С —
        • Hастройка 1С —
        • Обслуживание 1С —
        • Услуги программиста 1С —
        • Сопровождение 1С —
        • Автоматизация 1С —
        • Доработка 1С —
        • Интеграция 1С:Предприятие с Яндекс Маркетом —
        • Маркировка импорта обуви —
        • Интеграция OZON и 1C Предприятие
      • Автоматизация салона красоты
        Автоматизация салона красоты
        • 1С:Предприятие для Салона красоты —
        • CRM-система для Салона красоты —
        • Создание сайта салона красоты —
        • Продвижение сайта салона красоты —
        • Реклама для Салона красоты
      Блог
      Контакты
        Digital-агентство Программист 1С
        Digital-агентство Программист 1С
        • Портфолио
        • О нас
          • Назад
          • О нас
          • О компании
          • Партнеры
          • Реквизиты
          • Вопрос ответ
        • Услуги
          • Назад
          • Услуги
          • Продвижение сайтов
            • Назад
            • Продвижение сайтов
            • SEO-продвижение
            • Seo-оптимизация сайта
            • Продвижение сайта статьями
            • SMM-продвижение в социальных сетях
            • Продвижение бренда в Инстаграм
            • Продвижение товаров интернет-магазина
          • Настройка и ведение контекстной рекламы
            • Назад
            • Настройка и ведение контекстной рекламы
            • Настройка и ведение контекстной рекламы Яндекс.Директ
            • Google Adwords
            • Комплексная контекстная реклама
            • Аудит контекстной рекламы
          • Создание сайтов
            • Назад
            • Создание сайтов
            • Создание Интернет-магазина
            • Создание Корпоративного сайта
            • Наполнение интернет-магазина и сайтов
            • Дизайн и редизайн сайта
            • Интеграция сайта с Яндекс Маркетом
            • Коллтрекинг Mango
            • Web-аналитика и настройка счетчиков
          • Услуги 1С для бизнеса
            • Назад
            • Услуги 1С для бизнеса
            • Внедрение 1С
            • Hастройка 1С
            • Обслуживание 1С
            • Услуги программиста 1С
            • Сопровождение 1С
            • Автоматизация 1С
            • Доработка 1С
            • Интеграция 1С:Предприятие с Яндекс Маркетом
            • Маркировка импорта обуви
            • Интеграция OZON и 1C Предприятие
          • Автоматизация салона красоты
            • Назад
            • Автоматизация салона красоты
            • 1С:Предприятие для Салона красоты
            • CRM-система для Салона красоты
            • Создание сайта салона красоты
            • Продвижение сайта салона красоты
            • Реклама для Салона красоты
        • Блог
        • Контакты
        info@programmist1c.ru
        Люберцы, ул. Октябрьский проспект, 241Б,этаж 3 ,офис 301.
        • Главная
        • Примеры программирования

        v8: Размещение колонки с остатками в списке справочника

        Мы всегда на связи
        Размещение колонки с остатками в списке справочника
        Автор статьи: acsent | Редакторы: Волшебник, Гений 1С, ZolotarevAA, romix, FlyingOff
        Последняя редакция №16 от 01.08.07 | История


        Ключевые слова: Форма, остатки, колонка, справочник, список


        Вариант 1: В процедуре ПриПолученииДанных


        Перем Запрос;
        
        Процедура ПриОткрытии()
        
            Запрос = Новый Запрос;
            Запрос.Текст = 
            "ВЫБРАТЬ
            |    Рег.Номенклатура,
            |    Рег.КоличествоОстаток
            |ИЗ
            |    РегистрНакопления.ТоварыНаСкладах.Остатки(
            |        ,
            |        Склад = &Склад
            |            И Номенклатура В (&Номенклатура)) КАК Рег";
        
            Запрос.УстановитьПараметр("Склад", Склад);
        КонецПроцедуры
        
        Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
          Если Элемент.Колонки.Остаток.Видимость Тогда
            МассивНоменклатуры = Новый Массив;
            Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
                Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
                    МассивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
                КонецЕсли;    
            КонецЦикла;    
            
            Запрос.УстановитьПараметр("Номенклатура", МассивНоменклатуры);
            тзОстатки = Запрос.Выполнить().Выгрузить();
        
            Для Каждого ОформлениеСтроки ИЗ 
        ОформленияСтрок Цикл
                Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа 
        Тогда
                    СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка,
         "Номенклатура");
                    Если СтрТЗ <> Неопределено Тогда
                      ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток);
                    КонецЕсли;    
                КонецЕсли;    
            КонецЦикла;    
          КонецЕсли;
        КонецПроцедуры
        


        От Гения 1С: Для ускорения вместо тзОстатки можно использовать Соответствие, оно проиндексировано
        и работает быстрее таблицы значений
        acsent: Соответствие конечно быстрее, но в него надо будет как-то выгружать запрос, а это скорее всего убьет всю прелесть его скорости.
        FlyingOff: а не проще ли использовать выбОстатки = Запрос.Выполнить().Выбрать() и
        выбОстатки.НайтиСледующий(ОформлениеСтроки.ДанныеСтроки.Ссылка,
        "Номенклатура") вместо работы с таблицей значений?


        см. также:

        Вариант 2: Кэширование остатков в тз при открытии


        Перем тзОстатки;
        
        Процедура ПриОткрытии()
        
            Запрос = Новый Запрос;
            Запрос.Текст = 
            "ВЫБРАТЬ
            |    Рег.Номенклатура,
            |    Рег.КоличествоОстаток
            |ИЗ
            |    РегистрНакопления.ТоварыНаСкладах.Остатки(
            |        ,
            |        Склад = &Склад) КАК Рег";
                
            Запрос.УстановитьПараметр("Склад", Склад);
            тзОстатки = Запрос.Выполнить().Выгрузить();  
        КонецПроцедуры
        
        Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
          Если Элемент.Колонки.Остаток.Видимость Тогда
            Для Каждого ОформлениеСтроки ИЗ ОформленияСтрок Цикл
                Если НЕ ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда
                    СтрТЗ = тзОстатки.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "Номенклатура");
                    Если СтрТЗ <> Неопределено Тогда
                        ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(СтрТЗ.КоличествоОстаток);
                    КонецЕсли;    
                КонецЕсли;    
            КонецЦикла;    
          КонецЕсли;
        КонецПроцедуры
        

        Минусы данного варианта:
        1) Долгое открывание формы
        2) Неоперативные остатки
        Плюсы:
        1) Более быстрый скролинг (будет еще быстрей, когда в 8.1 появятся индексы для ТЗ)


        Вариант 3: Использование обработчика событий (ВК от romix'а)



        Минусы данного варианта:
        1) Требуется ВК (впрочем, для кого-то это плюс)

        Плюсы:
        1) Скорость близка к максимально возможной (т.к. остаток хранится в таблице справочника).
        2) Можно применять и в 7.7 (по ссылке приведен пример для 7.7)
        3) Многие полезные алгоритмы реализуются похожим способом (по ссылке приведены некоторые из них).

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

        Обновление остатка в справочнике происходит после проведения/отмены проведения документа. Если карточка товара в этот момент была заблокирована, также по событию после ее закрытия.
        Услуги
        Продвижение сайтов
        Настройка и ведение контекстной рекламы
        Создание сайтов
        Услуги 1С для бизнеса
        Автоматизация салона красоты
        Компания
        О компании
        Партнеры
        Реквизиты
        Вопрос ответ
        Проекты
        Пресс-центр
        Контакты
        Подписка на рассылку
        info@programmist1c.ru
        Люберцы, ул. Октябрьский проспект, 241Б,этаж 3 ,офис 301.
        Политика конфиденциальности
        © 2026 Все права защищены.
        ООО «УСПЕХ» ОРГН:1105027007843