Проект

Общее

Профиль

СтатусУказанияСерий

Версия:
Статус указания серий - это ФЛАГ. Если он четный, эначит количество номенклатуры равно количеству серий

// Возможные статусы указания серий:
//
// 0 - серии указывать не требуется (нет картинки)
// первый указанный статус - количество по сериям не совпадает с количеством товаров или серии не указаны (красная картинка)
// второй указанный статус - количество по сериям совпадает с количеством товаров (зеленая картинка)
// третий указанный статус - серии не указаны, их можно указывать, а можно и не указывать (синяя картинка)
// 1,2,21 - серии указываются справочно
// 3,4,23 - по сериям учитываются остатки, серии указываются по факту отбора
// 5,6,25 - по сериям учитываются остатки, серии указываются при планировании отбора,
// заполняются по FEFO (используются только в документах отгрузки товаров)
// 7,8,27 - по сериям учитываются остатки, серии указываются при планировании отбора
// 9,10,11 - по сериям учитываются остатки, серии указываются при планировании отгрузки,
// по сериям формируются движения по регистру СвободныеОстатки (как при приходе, так и при расходе)
// 13,14,15 - по сериям учитывается себестоимость
//
// Параметры:
// Объект - ДанныеФормыСтруктура или ДокументОбъект - объект, в котором нужно заполнить статусы.
// ПараметрыУказанияСерий - Структура - состав полей задается функцией НоменклатураКлиентСервер.ПараметрыУказанияСерий
// (см. описание полей в комментарии к этой фукнции).
// СтрокиТоваровДляОбработки - Массив - строки товаров, в которых нужно заполнить статусы указания серий,
// если передано "Неопределено", то статусы заполняются во всех строках товаров.
// СтрокиСерийДляОбработки - Массив - строки серий, по данным которых нужно заполнить статусы указания серий,
// если передано "Неопределено", то учитываются все строки серий. 
// 1 - количество по сериям не совпадает с количеством товаров (движения по сериям делать не нужно)
// 3 - количество по сериям не совпадает с количеством товаров (нужно делать движения по сериям)
// 5 - количество по сериям не совпадает с количеством товаров (нужно делать движения по сериям, серии заполняются по FEFO)
// 7 - количество по сериям не совпадает с количеством товаров (серии указываются при планировании отбора)
// 9 - количество по сериям не совпадает с количеством товаров (серии указываются при планировании отгрузки)
// 13 - количество по сериям не совпадает с количеством товаров или серия не указана (учет себестоимости по сериям)
// то выдается ошибка

ОбщийМодуль.НоменклатураКлиентСервер

Функция СтатусыСерийСерияНеУказана() Экспорт

    // Порядок статусов следования используется в ПересчитатьСтатусУказанияСерийПриОбработке
    // и должен соответствовать порядку в других функциях СтатусыСерийСерия.
    Статусы = Новый Массив;
    Статусы.Добавить(1);
    Статусы.Добавить(3);
    Статусы.Добавить(5);
    Статусы.Добавить(7);
    Статусы.Добавить(9);
    Статусы.Добавить(13);
    Статусы.Добавить(17);

    Возврат Статусы;

КонецФункции

Функция СтатусыСерийСерияУказана() Экспорт

    // Порядок статусов следования используется в ПересчитатьСтатусУказанияСерийПриОбработке
    // и должен соответствовать порядку в других функциях СтатусыСерийСерия.
    Статусы = Новый Массив;
    Статусы.Добавить(2);
    Статусы.Добавить(4);
    Статусы.Добавить(6);
    Статусы.Добавить(8);
    Статусы.Добавить(10);
    Статусы.Добавить(14);
    Статусы.Добавить(18);

    Возврат Статусы;

КонецФункции

Функция СтатусыСерийСериюМожноУказать() Экспорт

    // Порядок статусов следования используется в ПересчитатьСтатусУказанияСерийПриОбработке
    // и должен соответствовать порядку в других функциях СтатусыСерийСерия.
    Статусы = Новый Массив;
    Статусы.Добавить(21);
    Статусы.Добавить(23);
    Статусы.Добавить(25);
    Статусы.Добавить(27);
    Статусы.Добавить(11);
    Статусы.Добавить(15);
    Статусы.Добавить(28);

    Возврат Статусы;

КонецФункции