Как отсортировать товары при заказе поставщику

Сегодня рассмотрим документ "Заказ Поставщику"

Поступил такой вопрос: при заполнении документа "Заказ Поставщику" по минимальному остатку необходимо выбирать только те товары, которые закупаются именно у выбранного контрагента.

В программе 1С 7.7 "Торговля и склад" нет привязки номенклатуры к конкретному контрагенту, т.е. мы нигде не можем пометить какой товар у какого контрагента закупается. 

Давайте это исправим :) Рассмотрим тот случай, когда для каждого товара есть только один поставщик.

Открываем программу в режиме "Конфигуратор".

ВАЖНО!! Обязательно сохраняем базу!! Смотрим тут - как сохранить базу

Первым делом добавим поставщика в номенклатуру.

Открываем "Справочники" (нажимаем на +) и ищем "Номенклатура"

Щелкаем дважды мышкой на нем ив открывшемся окне нажимаем кнопку "Новый" - добавляем новый реквизит в справочник


В окне нового реквизита на вкладке "Общие" в поле "Идентификатор" пишем "Поставщик", а ниже в поле "Тип Значения" выбираем "Справочник.Контрагенты"

Затем переходим на вкладку "Дополнительные" - в поле "Использовать:" должно стоять "Для элемента"


По кнопке "ОК" сохраняем реквизит. 
Теперь добавим его на форму товара : нажимаем кнопку "Форма элемента" - открывается форма товара

Что бы вставить новый реквизит давайте немного расширим форму, а точнее удлиним :)
По нижней границе формы в середине (появляется маленькая двойная стрелочка) щелкаем мышкой и не отпуская тянем вниз примерно на такую же ширину, как ширина кнопок

Теперь перенесем кнопки вниз: зажимаем кнопку Shift на клавиатуре компьютера и легонько щелкаем по кнопкам "Записать", "ОК", "Закрыть", кнопка стрелочки, "Печать" и "Справочники.." на форме элемента - таким образом выделяем кнопки

А теперь стрелочкой на клавиатуре компьютера передвигаем выделенные кнопки вниз

Можно переместить кнопки по одной, но таким способом получается аккуратнее :)
Добавим нашего поставщика - нажимаем в верхнем меню "Вставить" и выбираем "Реквизиты.."

В открывшемся окне ставим галочки у "Поставщик" и "Вставлять имя"

А затем мышкой выделяем место (где раньше были кнопки, которые мы передвинули). Поставщик вставлен
Давайте рядом поставим кнопочку, по которой можно было бы стирать выбранного поставщика

Нажимаем показанную на картинке кнопочку внизу 

Можно так же нажить "Вставить" в верхнем меню и выбрать "Кнопка" . Вставляем кнопку рядом с поставщиком, а в открывшемся окне кнопки на вкладке "Общие" в поле "Заголовок" ставим заглавную букву "Х" 

Затем переходим на вкладку "Дополнительно" и в поле "Формула" пишем - Поставщик=""
По кнопке "ОК" сохраняем. Немного уменьшаем саму кнопку, что бы выглядело красиво. 
Выделяем наши вставленные элементы формы и перенесем их в слой "Кнопки" (щелкаем на них правой кнопкой мыши и выбираем "Поместить" - "В слой Кнопки"

Можно этого и не делать в данном примере:)

Поставщика в номенклатуру мы добавили, теперь нам нужно добавить соответствующее условие в документ "Заказ Поставщику" . Открываем "Документы" (нажимаем на +) и находим документ "ЗаказПоставщику"
Щелкаем на нем дважды и в окне документа нажимаем кнопку "Форма"
На форме документа переходим на вкладку "Модуль" и нажимаем кнопку с биноклем внизу на панели кнопок (по этой кнопке открывается список процедур и функций)

Галочка "Сортировка" поможет нам быстрее найти нужную процедуру/функцию :) Нам нужно найти "ЗаполнитьПоМинОстатку" - 

щелкаем на ней дважды или нажимаем кнопку "Перейти". Теперь смотрим на картинке и добавляем строки, обведенные в красный прямоугольник туда, где они стоят на картинке


Строки такие (если плохо видно или плохо читаются):

Если Запрос.Номенклатура.Поставщик<>Контрагент Тогда
         Продолжить;
КонецЕсли;

Именно это условие будет сортировать товары при подборе по минимальному остатку: будут отсеиваться все товары, у которых не заполнен поставщик или он не тот, что выбран в документе Заказ Поставщику.

Сохраняем все (Файл - Сохранить). Закрываем.

Открываем программу в режиме "Предприятие" и смотри, что у нас получилось.

 Я для нескольких товаров "Шайба" выбрала поставщика "Поставщик шайб" (проверила, что у них есть минимальный остаток - он заполняется на вкладке "Дополнительно)

Формирую документ "Заказ Поставщику", выбираю в нем контрагента "Поставщик шайб", и на вкладке "Табличная часть" заполняю документ по минимальному остатку
Вот что получилось - попали только шайбы, у которых был указан выбранный  документе контрагент :)


5 комментариев:

  1. Добрый день! Подскажите пожалуйста как в "заказе поставщику" сделать колонку с остатками.

    ОтветитьУдалить
  2. Здравствуйте!
    А где именно сделать эту колонку?

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

    ОтветитьУдалить
  4. Здравствуйте!

    Тут ответ на Ваш вопрос :) http://1ctisprosto.blogspot.ru/2017/02/blog-post_15.html

    ОтветитьУдалить
  5. Спасибо большое! Очень сильно помогли.

    ОтветитьУдалить