1С Режим Конфигуратор

       

Дополнение


Товар

Товар

С.Номенклатура



СтЦенаП

Старая цена прихода

Число 7.2

ЦенаП

Новая цена прихода

Число 7.2

СтЦенаР

Старая цена расхода

Число 7.2

ЦенаР

Новая цена расхода

Число 7.2

  • Новый документ;
  • Идентификатор – "ИзменениеЦен", Синоним – "Изменение цен", Комментарий – "изменение цен товара";
  • Документ будет проводиться и перепроводиться;
  • Новый журнал – "ИзменениеЦен";
  • В окне свойств документа заполним позиции согласно таблицы;
  • Создадим форму документа;
  • Графы "СтЦенаП" и "СтЦенаР" – сделаем недоступными;
  • На поле ввода "Товар" повесим формулу ВыбТовар();
  • На поле ввода "ЦенаП" повесим формулу ЦенаП();
  • В модуль формы добавим две процедуры:

    Процедура ВыбТовар()

      СтЦенаП=Товар.ЦенаП.Получить(ДатаДок);

      ЦенаП=Товар.ЦенаП.Получить(ДатаДок);

      СтЦенаР=Товар.ЦенаР.Получить(ДатаДок);

      ЦенаР=Товар.ЦенаР.Получить(ДатаДок);

    // Получаем значения периодических реквизитов справочника на дату документа

    КонецПроцедуры

    //-----------------------------------------------

    Процедура ЦенаП()

      ЦенаР=Окр(ЦенаП*(1+(Константа.ПроцентНаценки/100)),2,1);

    КонецПроцедуры

  • Перейдем к модулю документа;
  • Напишем процедуру обработки проведения документа:

    Процедура ОбработкаПроведения()

      ВыбратьСтроки();

      Пока ПолучитьСтроку()=1 Цикл

        УстановитьРеквизитСправочника(Товар,"ЦенаП",ЦенаП);

        УстановитьРеквизитСправочника(Товар,"ЦенаР",ЦенаР);

    // Мы указываем периодические реквизиты элемента справочника,

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

      КонецЦикла;

    КонецПроцедуры

  • Сохраним конфигурацию;
  • Загрузим 1С:Предприятие;
  • Введем новый документ "Изменение цен" №1 от 04.10.2000;
  • В многострочную часть занесем товар "МПР-0342" (Кефир);
  • Укажем ему новую цену поступления – 6.50;
  • Цена реализации изменилась, и составила теперь – 8.78;



  • Подтвердим, что это нас устраивает нажатием на Enter, если нет, то можно отредактировать эту цену;


  • Заведем еще один товар – "ФРЯ-908" (Яблоки);


  • Новая цена поступления – 18, цена реализации – 25;


  • [ОК]. Проведем документ;


  • Откроем журнал ИзменениеЦен. Мы журнал не редактировали, таким он выглядит в 1С по умолчанию. Если будет желание, можете поэкспериментировать с изменением внешнего вида этого журнала в Конфигураторе;


  • Документ с галочкой. Галочка сиреневого цвета – документ проведен, но он не документ оперативного учета;


  • Посмотрим какие движения вызвал наш документ;


  • Он не изменял регистров, а внес изменения в реквизиты справочников;


  • Мы видим четыре строки. Пиктограммки показывают, что это изменение периодического реквизита. Указано в каком справочнике, какой реквизит, у какого элемента, когда принял новое значение;


  • Откроем теперь справочник "Номенклатура";


  • Найдем позицию "Кефир";


  • Меню Действия команда "История значения". Выберем "ЦенаП";


  • Мы видим, когда как менялась цена поступления этого товара;



  • Первая строчка с изображением руки – мы ввели цену вручную, при создании этого товара;


  • Вторая строка – листик с галочкой – мы изменили цену документом;

    Ручное изменение цены никогда не имеет времени. Оно всегда располагается в самом начале дня. Изменение цены документом отслеживает время документа. Оно может располагаться в начале, середине либо конце дня, как было указано при сохранении документа. Если в течении дня было несколько таких документов, они расположатся в зависимости от указанного в них времени.


  • Закроем 1С:Предприятие;


  • 2.18 Регистры по товарам.

    Нами теперь уже накоплен некоторый опыт работы с документами и регистрами. Займемся конструированием регистров по товарам. Мы уже упоминали, что регистры бывают двух типов: остатков и оборотов. Заведем для примера оба типа регистров. А чтоб никто не догадался, назовем их так: регистр остатков – "ОстаткиТоваров" – для хранения информации по остаткам товаров, и регистр оборотов – "ОборотыТоваров" – для накопления информации по оборачиваемости товара.



    Регистр "ОстаткиТоваров" будет содержать информацию: где хранится/ хранился товар, что хранилось, какого сорта. Следовательно, у нас будут измерения "Склад", "Товар", "Сорт". В задании сказано, что списание товара может идти либо по LIFO, либо по FIFO, либо по среднему. Для первых двух вариантов нам надо хранить еще информацию – когда этот товар поступил на склад. Удобнее всего будет завести еще одно измерение – "Партия" – типа документ прихода товара ("ПриходнаяНакладная"). В документе хранятся дата и время, и можно без труда отсортировать их по порядку постановки на учет. Ресурсы регистра – то, что хранит регистр. Нас будет интересовать во-первых, количество товара в основной единице измерения товара, во-вторых его сумма по цене поступления – цена учета, и в-третьих сумма по цене документа – для определения полученного навара. Ценой документа в случае приходной накладной и накладной на перемещение будет цена поставки, а в случае расходной накладной – цена реализации. Реквизит у нас будет один – "ФлагДвижения" тип Число 1.0. В нем мы будем отражать характер движения, он будет равен 1 при движении Контрагент-Склад/Склад-Контрагент, и 2 при движении Склад-Склад. Движения по регистру у нас будут – приход для прихода товара на склад и расход для расхода товара со склада. Данные по регистру сведем в таблицу:

    Идентификатор: ОстаткиТоваров

    Тип: Остатки

    Периодичность: -


    Содержание раздела