Добрый вечер. В наличии 1С Предприятие 8.2, релиз Управление тороговым предприятием для Украины 1.2. Файловый вариант. Подскажите с решением проблемы, немогу составить цикл отбора кладовщиков.
Есть три кладовщика Петя. Вася. Сережа. При форматировании расходной накладной зависимости от номера накладной ( точнее её последней цифры) выбивается кладовщик который собирает товар. Решил проблему таким образом код ниже. Но столкнулся с проблемой что при такой схеме Петя за 10 собраных накладных будет собирать 4 раза, а Вася и Сережа по 3 раза. Получается дискриминация кладовщиков...
Хотелось бы решить так. При первом проходе (при сквозном создании накладных от 0 до 9) собирали Петя- 4 раза. Вася-3 раза и Сережа-3. При втором проходе (Накладные от 0 до 9) Петя-3 раза. Вася-4 раза Сережа-3 раза. При следующем проходе Петя-3 раза. Вася-3 раза. Сережа-4 раза (Накладные от 0 до 9). И так по кругу. Т.е при таком плавающем раскладе (происходит движение кладовщика перебором) все кладовщики в равных долях собирают товар. Накладные идут от 0 до 10000 по порядку.
Подскажите как изменить код чтоб выполнялось условие формирование в равных долях.?
если"0"=ПРАВ(Номер,1)
тогда СотрудникСклада="Петя"иначеесли"1"=ПРАВ(Номер,1)
тогда СотрудникСклада="Вася"иначеесли"2"=ПРАВ(Номер,1)
тогда СотрудникСклада="Сережа"иначеесли"3"=Прав(Номер,1)
тогда СотрудникСклада="Петя"иначеесли"4"=Прав(Номер,1)
тогда СотрудникСклада="Вася"иначеесли"5"=Прав(Номер,1)
тогда СотрудникСклада="Сережа"иначеесли"6"=Прав(Номер,1)
тогда СотрудникСклада="Петя"иначеесли"7"=Прав(Номер,1)
тогда СотрудникСклада="Вася"иначеесли"8"=Прав(Номер,1)
тогда СотрудникСклада="Сережа"иначеесли"9"=Прав(Номер,1)
тогда СотрудникСклада="Петя"конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
конецЕсли;
Символ = ПРАВ(Номер,1);
ЕСЛИ Символ = "9"ИЛИ Символ = "0"ТОГДА
СотрудникСклада="Петя";
ИНАЧЕЕСЛИЕСЛИ Символ = "1"ИЛИ Символ = "4"ТОГДА
СотрудникСклада = "Вася";
ИНАЧЕЕСЛИ
...........................
...........................
...........................
КОНЕЦЕСЛИ;
Символ = "";
СотрудникСклада = "";
Символ = ПРАВ(Номер,1);
ЕСЛИ Символ = "9"ИЛИ Символ = "0"ТОГДА
СотрудникСклада="Петя";
ИНАЧЕЕСЛИЕСЛИ Символ = "1"ИЛИ Символ = "4"ТОГДА
СотрудникСклада = "Вася";
ИНАЧЕЕСЛИ
...........................
...........................
...........................
КОНЕЦЕСЛИ;
Символ = "";
СотрудникСклада = "";
Спасибо за ответ. Но при вашем условии получается так же как я описал выше
Решил таким способом. Т.е Все кладовщики собирают накладные по очереди и все довольны))
x=(Формат(ПРАВ(номер,9)/3,"ЧДЦ=1"));
если"0"=прав(x,1)
тогда СотрудникСклада="Вася"иначеесли"3"=прав(x,1)
тогда СотрудникСклада="ПЕтя"иначеесли"7"=прав(x,1)
тогда СотрудникСклада="Сережа"ИНАЧЕ СотрудникСклада="";
конецЕсли;
конецЕсли;
конецЕсли;
А если на склад прийдет еще какой-нибудь "Саша"... или вместо Пети прийдет Галя, и не захочет заходить в программу под Петей.. Будут Вас вызывать, править код. Деньги Вам платить. Что, в общем, хорошо, конечно..
Указанное условие должно быть где-то подано табличкой ..в справочнике, регистре сведений... находите номерсотрудника, потом в этой табличке по номерусотрудника находите соотвествующего пользователя. Без условий.
Может правильнее и без изменения структуры конфигурации: таблица значений создается и заполняется где-то при начале работы.
Сообщение отредактировал Домовик - 17.02.15, 23:17
Предыдущий пост дал новую идею. А если скажем появится новый кладовщик -четвертый "Александр" то мы этот код делим на 4 и всё? Или тут вступает другое правило вычисления кладовщика?
а в формуле номераСотрудника деление на КоличествоКладовщиков.
Формирование коэффициентов для пользователей можно тоже запрограммировать.( А можно и указывать вручную, если таблица не расчитываемой, а в составе конфигурации.
расчет коэффициентов: делим числа от 1 до КоличествоКладовщиков на КоличествоКладовщиков.
1
Сообщение отредактировал Домовик - 18.02.15, 10:01
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!