Имя: Пароль:
1C
 
Подскажите с организацией контроля перемещений УПП 1.3!
0 Одинесю
 
07.04.16
15:43
При перемещении со склада на склад необходимо контролировать, что лицо, принявшее на себя действительно его приняло. Мысли такие - в ОбработкеПроведения выдаю запрос на пароль, пароли хранятся в регистре, определяем лицо получающего, сверяем пароль и проводим в случае успеха. Настораживает хранение паролей в регистре, хочется чтобы это был не прямой доступ, а хранилось бы ну типа двоичные данные. Полученный пароль преобразуем в двоичные данные, сравниваем и тп. Как это лучше организовать?
8 lett
 
07.04.16
16:00
(3) 1С не решает проблем с бардаком. Наводите порядок. Если уж хочется решить именно выворачиванием кишков учетной системе, то смотри в сторону ЭЦП.
9 Одинесю
 
07.04.16
16:00
(6) Да все с чего, что пошел кто-то в отказ, не брал и все. Сказали надо сделать по паролю, вот и думаю.
10 Одинесю
 
07.04.16
16:00
(8) А есть что почитать?
11 HeKrendel
 
07.04.16
16:01
(9) Начни со штрафов
12 HeKrendel
 
07.04.16
16:01
Под кем сделали неправильный документ, тот и платит
13 HeKrendel
 
07.04.16
16:01
Все проблемы будут до первой получки
14 lett
 
07.04.16
16:02
(9) ничего не мешает пойти в отказ со словами: "Я не вводил пароль", следующая итерация - видеозапись.
15 Одинесю
 
07.04.16
16:03
(13) (14) Да я тоже самое говорю, без первички - это все х..., мне с моей стороны надо сделать, чтобы от меня огтгреблись и все.
16 Одинесю
 
07.04.16
16:03
отгреблись*
17 HeKrendel
 
07.04.16
16:03
(14) Запрос на изменение пароля был? не был, авторизация происходила с компа? с какого? В общем это детский сад
18 HeKrendel
 
07.04.16
16:04
(15) Если отгреблись тогда вводи цифровую подпись под каждым документом по отпечатку пальцев
19 HeKrendel
 
07.04.16
16:04
Или по СМС
20 aka AMIGO
 
07.04.16
16:07
Директор сказал мне: сделать переприсвоение авторства документов: Автором записывается тот, что последним записал документ.

И есть соответствующий отчетик типа истории документа.
Правда, это всё в 7.7.. фи!.. :)
21 lett
 
07.04.16
16:10
(20) истории документа есть и в УПП. Версионирование называется. Если автору этого достаточно.
22 Одинесю
 
07.04.16
16:13
(21) Нет не достаточно.
(20)  Это штатно есть.
23 FIXXXL
 
07.04.16
16:16
(22) да пойми, без первички с подписью чел пошлет вас нах и подаст в суд на ущемление по зп
нет подписи - значит не брал
не МОЛ - значит не брал
не пойман - не вор
24 Одинесю
 
07.04.16
16:19
(23) Это не мои проблемы, мне надо максимально защитить прлграмму.
25 Одинесю
 
07.04.16
16:22
(23) и понимаю, сам в шоке, но документов нет. Уходит прораб, переместил все себя, прошел инвентаризацию и гуляй?
26 HeKrendel
 
07.04.16
16:31
(24) Увольняйся, так будет максимальная защита
27 lett
 
07.04.16
16:33
(25) Не давайте прав на ввод документов таким сотрудникам. С помощью только программы порядка не будет. Наймите оператора, который будет первичку готовить. Все остальное - бесполезная трата времени и денег.
28 Одинесю
 
07.04.16
16:39
(26) и все?
(27) нужно чтобы именно принимающий только мог провести. Мне кажется это не плохо.
29 Молочный брат
 
07.04.16
16:42
Ну нельзя же быть таким   одинэсником.. Я фигею. Научись хотя бы слушать
30 Одинесю
 
07.04.16
16:48
(29) чего слушать-то? Про бумаги я сразу сказал, это проблема гб, моя - реализовать пооведение по паролю. Другого не дано.
31 Молочный брат
 
07.04.16
16:52
(30) Тебе говорят, что данная проблема не решается методом установления паролей или кодинга.. А ты как дятел. Продолжай. Лучше бы основы бухучета изучил
32 Одинесю
 
07.04.16
16:54
(31) знаю я бухучет. Мне надо неализовать проведение по пародю. Не надо меня лечить.
33 Serg_1960
 
07.04.16
16:57
УПП, хотелки юзверей:

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

    Если ОбменДанными.Загрузка  Тогда
        Возврат;
    КонецЕсли;

    // Проводить документ имеет право ответсвенное лицо склада-отправителя
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        
        ФизЛицоПользователя = глЗначениеПеременной("глТекущийПользователь").ФизЛицо;
        Если Не ЗначениеЗаполнено(ФизЛицоПользователя) Тогда
            ФизЛицоПользователя = Неопределено;
        КонецЕсли;
        ФизЛицоСклада = Неопределено;
        Отбор = Новый Структура("СтруктурнаяЕдиница");
        Отбор.СтруктурнаяЕдиница = СкладОтправитель.Ссылка;
        СрезПоследних = РегистрыСведений.ОтветственныеЛица.СрезПоследних(ЭтотОбъект.Дата, Отбор);
        Если СрезПоследних.Количество() > 0 Тогда
            ФизЛицоСклада = СрезПоследних[0].ФизическоеЛицо;
        КонецЕсли;

        Отказ = Не (ФизЛицоСклада = Неопределено ИЛИ ФизЛицоСклада = ФизЛицоПользователя);
34 Молочный брат
 
07.04.16
16:59
(32) Ну если ты знаешь, тогда кто все эти люди? Включая меня
35 Serg_1960
 
07.04.16
17:06
36 Одинесю
 
07.04.16
17:07
(33) надо не просто проверку мол, надо проведение по паролю. Спасибо.
37 Одинесю
 
07.04.16
17:10
(35) не, не гб, а новому прорабу, который заип* уже с новыми предложениями, чтобы выслужиться. И по* ему на мои доводы по первичке.
38 Молочный брат
 
07.04.16
17:13
На чьей стороне будет проведение?
39 Одинесю
 
07.04.16
17:14
(38) кто принимает.
40 Serg_1960
 
07.04.16
17:16
(36) Храни хэш пароля
http://catalog.mista.ru/public/70030/
41 Молочный брат
 
07.04.16
17:17
(39) А тот, кто передает, что должен делать? Он товар отдал, его у него нет, а по инвентаризации на нем это числится до тех пор, пока склад приемщик не подтвердит? А что если что-то не срослось, недостача или еще чт?
42 Одинесю
 
07.04.16
17:19
(40) спасибо, пока на телефоне, посмотрю попозже.
43 Serg_1960
 
07.04.16
17:19
Тогда контроль скаждойстороны перемещения - ордерная система
44 Serg_1960
 
07.04.16
17:20
Сорь, (43) для (41)
45 Молочный брат
 
07.04.16
17:21
Ничего не надо выдумывать. Есть принципы бухучета ТМЦ. Они разумны.
(44) Я догадался
46 Одинесю
 
07.04.16
17:23
(41) он подготавливает и записывает. Проводит принимающий. И это задача 1- го смотрть, что с него списалось.
Вообще суть вопроса - реализация, а не как правильно. Я попросил совета реализовать. Я откажусь, придет франч, сделает за бабки, а меня, что я х* 1 сник спишут, не смог.
47 Serg_1960
 
07.04.16
17:23
(45) Я знаю, ясно дело - это был наводящий вопрос автору.
48 Молочный брат
 
07.04.16
17:25
(46) Продолжаю наблюдение за непробиваемой птичкой с большим и твердым носом
49 Одинесю
 
07.04.16
17:29
(48) вот можно в двух словах про ордерную систему и как она решит проблему?
50 Одинесю
 
07.04.16
17:32
В принципе понятно, но как решить, что под ним может другой сидеть.
51 HardBall
 
07.04.16
17:34
Я не вижу проблем особых проблем у  ТС.
Двухэтапная аутентификация.
Можно СМС-ки с паролем рассылать.
52 HardBall
 
07.04.16
17:36
Пароли хешировать, и держать в регистре.
53 Одинесю
 
07.04.16
17:37
(51) смс ки не надо, сами позвонят, узнают. Реализацию мне бы.
54 Одинесю
 
07.04.16
17:39
(52) зачем? Я в ресурсах буду держать пароли
55 HardBall
 
07.04.16
17:43
(54) Да хоть в реквизитах.
56 Одинесю
 
07.04.16
17:43
Сведу задачу к логическому концу. МОЛ должен знать, что принял только он.
57 Одинесю
 
07.04.16
17:45
(55) пароли хешировать - это как и как воспользоваться?
58 mehfk
 
07.04.16
17:47
(49) Нормально решит. Без еп@нутой куиты в виде проведения по паролю.

Что такое ордерная схема и как она работает поищи в гугле.
59 HardBall
 
07.04.16
17:47
(57) В 1с - ХешированиеДанных
60 Одинесю
 
07.04.16
17:51
(58) Да не пойдет никто на усложнения...
61 Одинесю
 
07.04.16
17:51
(59) Хорошо, спасибо, посмотрю.
62 mehfk
 
07.04.16
17:53
(60) Беги от этих идиотов, пока они тебя не заразили.
63 Одинесю
 
07.04.16
17:55
Вы, ребят, не понимаете. Работодатель - Мы, со стопроцентой гарантией даем, что документ не будет проведен тем, кто за него не ответственнен. Все наши данные верны. А в Вашей ордерной схеме пробел - сел чел, за комп друга и списал все на него. Неужели не понятно?
64 mehfk
 
07.04.16
17:58
Значит уже заразили.
65 mehfk
 
07.04.16
18:00
Делай. Потом придет нормальный спец и возьмет с вас бабла в первый раз за убирание этой копросамодеятельности, а второй раз за постановку документооборота.
66 mehfk
 
07.04.16
18:02
Только пароль это слабая защита. Прикручивай сканер отпечатков пальцев или сканер сетчатки.
67 Одинесю
 
07.04.16
18:04
Я знаю уровень Мисты, знаю уважаемых людей, знаю области мышления. Дело, ребят, в чем - мне нужно максимально обезопасить проведение документа другим лицом, ордерная схема не подходит, представим, что это клиент-банк. Извините за грубости если были, я прошу Вас описать как бы Вы реализовали проведение документа конкретным лицом. Спасибо всем, я все проанализирую, но пока ответа не нашел.
68 ВРедная
 
07.04.16
18:07
(63) Значит друг е*лан, оставил свой комп не заблокированным. Все что делается на не заблокированном компе - ответственность пользователя. Пусть выучит кнопки win + L

Уже сто раз сказали, что твои пароли через месяц будут гулять между пользователями и следующей итерацией будет, "а Вася мой пароль знает - это он списал / принял, не я!".
69 ВРедная
 
07.04.16
18:09
(63) "...Мы, со стопроцентой гарантией ..."
Какие могут быть гарантии? Пароль утек и гарантий ноль. Давай сканировать сетчатку перед проведением, так хоть ближе к 100% будет.
70 ВРедная
 
07.04.16
18:10
(67) Реализовали бы административно. Провели под учеткой Васи - вася платит штраф. Сразу научатся не оставлять компьютер включенным и не раздавать пароли.
71 Одинесю
 
07.04.16
18:10
(68) Оль, извини за такое хамское обращение, понимаешь, мне это не важно, мне надо чтобы был пароль, и все)
72 Одинесю
 
07.04.16
18:12
(70) Да не пойдет это. Дело в деньгах, уходят, на них висит, а они уходят. ПС По неправильным документам.
73 Одинесю
 
07.04.16
18:13
(69) Вот представь, ты уходишь, а на тебе 1000 свай, которые не принимала.
74 ВРедная
 
07.04.16
18:13
(72) Пароль уже есть... при загрузке базы. Нужен второй - выше писали, храни хэши и сравнивай. Но это исходную проблему не решит.
75 Одинесю
 
07.04.16
18:14
(74) Я и спрашиваю, кто-бы как решил, меня учат бухучету.
76 Одинесю
 
07.04.16
18:15
(74) Не описали процесс, в общем, не надо конкретики.
77 ВРедная
 
07.04.16
18:16
(73) Если на мне 1000 свай, значит я провела этот документ.

Тебе ведь предложили схему:
МОЛ отправитель создает документ, но не проводит - нет прав
МОЛ получатель проверяет все и проводит документ. Провел - значит на нем висят 1000 свай.

Если кто-то под его учеткой провел документ - это его проблема. Нужно следить за безопасностью.

Если на мне висит 1000 свай - значит я, или кто-то кому я доверяю компьютер их принял. И теперь я должна за них деньги. Все честно.
78 ВРедная
 
07.04.16
18:18
+ потом в один момент тебе понадобится групповое перепроведение...
79 Одинесю
 
07.04.16
18:18
Я про это и спрашиваю "(73) Если на мне 1000 свай, значит я провела этот документ." - как лучше.
80 Одинесю
 
07.04.16
18:18
(78) Ну, не, надеюсь)
81 Одинесю
 
07.04.16
18:19
Вообще, конечно, абсурд - проводит бухгалтерия, согласно первичным документам, но нет же. Как я зол!
82 ВРедная
 
07.04.16
18:21
(79) В смысле, "как лучше"?
В 1С есть пользователи, которые авторизуются по паролям. Ты зашел в 1С и провел документ. Все, сваи твои.
83 Одинесю
 
07.04.16
18:21
И как обычно Миста начинает тупить, вместо того, чтобы понять. И простить...)
84 mehfk
 
07.04.16
18:22
Нужен готовый код?
85 Одинесю
 
07.04.16
18:22
(82) Там у меня написано выше, что под Сидоровым может работать Петров.
86 Одинесю
 
07.04.16
18:22
(84) Наброски, смысл мне понять.
87 Одинесю
 
07.04.16
18:23
(84) Причем как лучше, чтобы франч меня не опозорил.
88 Одинесю
 
07.04.16
18:24
(84) Код не нужен - схема.
89 mehfk
 
07.04.16
18:27
(88) То есть ТЗ нужно?
90 Одинесю
 
07.04.16
18:28
Денис мне бы помог, Лев, прости Господи, с отчеством в такие годы, ВДЕ, может Волшебник, епрст, хххх, Кубэ....
91 Одинесю
 
07.04.16
18:31
(89) Я не знаю конкретно как организовать - Перед проведением вопрос о пароле, считывание, сравнение с хранимым значением, в случае ошибки прервать, в обратном случае продолжить. И это чтобы не было видно пользователю в регистре.
92 mehfk
 
07.04.16
18:36
что конкретно не получается?
93 Одинесю
 
07.04.16
18:53
(92) Алгоритм, как правильно сделать, поэтапно
Вывести окно запроса
Получить данные
Преобразовать в двоичные данные
Сравнить
Результат,
а как заносить данные тоже вопрос.
94 AceVi
 
08.04.16
12:57
(67)  представим, что это клиент-банк
Ну и делай как банки - на каждый документ создавай разовый пароль и высылай на почту или в смс.
(93) Слишком большой вопрос - ты просишь тебе тз составить.
Ты давай по порядку. Например Заносить данные - что делал , что не получаеться? и т.д. через недельку поймешь как надо)
95 Azverin
 
08.04.16
13:30
(0) погоди, а как же подпись принявшего в накладной?
дающий создаёт док, печатает накладную.
принимающий ставит подпись в накладной, проводит док.
оба сверяют по отчётам остатки еже-дневно-недельно-месячно.
96 Одинесю
 
12.04.16
12:32
(94) Вот так сделал
// Проверка пароля
    Стр = "";
    Если ВвестиСтроку(Стр,"Введите пароль!",0,Истина) Тогда
    Запрос = Новый Запрос;                    
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК Физлицо,
        |    ДляПроведенияПеремещения.Пароль
        |ИЗ
        |    РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, СтруктурнаяЕдиница.Ссылка = &Склад) КАК ОтветственныеЛицаСрезПоследних
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДляПроведенияПеремещения КАК ДляПроведенияПеремещения
        |        ПО ОтветственныеЛицаСрезПоследних.ФизическоеЛицо = ДляПроведенияПеремещения.ОтветственноеЛицо";
    
    Запрос.УстановитьПараметр("Дата", ТекущаяДата());
    Запрос.УстановитьПараметр("Склад", СкладПолучатель);
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ВыборкаДетальныеЗаписи.Следующий();     
    ДвоичныеДанные = ВыборкаДетальныеЗаписи.Пароль.Получить();    
        Если Стр = ДвоичныеДанные Тогда
            Сообщить("Все нормально! В регистре - " + ДвоичныеДанные + ", вы ввели - " + Стр);
        Иначе
            Сообщить("Не правильный пароль!");
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;
    // Конец проверки пароля
Только метод ВвестиСтроку если не запрещен режим модальности.
По другому не знаю как.
(95) "оба сверяют по отчётам остатки еже-дневно-недельно-месячно" Не, нет такого, они прорабы, им строить надо. И все, что он хочет, чтобы на свой склад мог приходовать только он.
97 HardBall
 
12.04.16
13:28
(96)
1.ВвестиСтроку(Стр,"Введите пароль!",0,Истина) - дырка-виден пароль.
2.Сообщить("Все нормально! В регистре - " + ДвоичныеДанные + ", вы ввели - " + Стр) - тоже самое.
3.А если пользователь не ввел пароль? - дырка
4.Пароли хранятся в открытом виде - дырка
98 Одинесю
 
12.04.16
13:33
(97)  я еще дорабатываю, по 1 пункту нет дырки, а если это дырка не избавиться от нее, 2 это я уже убрал, это для меня было,3 это сделал,3 пароли в ХранилищеЗначений.
99 Одинесю
 
12.04.16
13:34
Вот подредактированное

Процедура ПроверкаПароляПеремещениеТоваров(Источник, Отказ, РежимПроведения) Экспорт
    Если РольДоступна("ПроверкаПароляПеремещениеТоваров") Тогда
        Стр = "";
        Если ВвестиСтроку(Стр,"Введите пароль!",15,Ложь) Тогда
            Запрос = Новый Запрос;                    
            Запрос.Текст =
                "ВЫБРАТЬ
                |    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК Физлицо,
                |    ДляПроведенияПеремещения.Пароль
                |ИЗ
                |    РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, СтруктурнаяЕдиница.Ссылка = &Склад) КАК ОтветственныеЛицаСрезПоследних
                |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДляПроведенияПеремещения КАК ДляПроведенияПеремещения
                |        ПО ОтветственныеЛицаСрезПоследних.ФизическоеЛицо = ДляПроведенияПеремещения.ОтветственноеЛицо";
            
            Запрос.УстановитьПараметр("Дата", ТекущаяДата());
            Запрос.УстановитьПараметр("Склад", Источник.СкладПолучатель);
            
            РезультатЗапроса = Запрос.Выполнить();
            ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
            ВыборкаДетальныеЗаписи.Следующий();     
            ДвоичныеДанные = ВыборкаДетальныеЗаписи.Пароль.Получить();    
                Если НЕ(Стр = ДвоичныеДанные) Тогда
                    Сообщить("Не правильный пароль!");
                    Отказ = Истина;
                КонецЕсли;
        Иначе
            Сообщить("Не введен пароль!");
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
100 Одинесю
 
12.04.16
13:36
+ еще надо сделать - проверить на неопределено результат запроса, думаю все. Лучше, чем кто хочет проводит, мне кажется.
101 FIXXXL
 
12.04.16
13:36
(96) "пришей" пароль реквизитом к документу
будет а-ля подпись электронная
в каждом документе перед записью (или проведением) необходимо заполнить реквизит "пароль"
102 Одинесю
 
12.04.16
13:39
(101) И потом обрабатывать строку, преобразуя в двоичные данные? Вообще не, не соображу, как преобразовать?
103 FIXXXL
 
12.04.16
13:47
(102) да как хочешь, хоть подменой, хоть хешированием
зависит от хранения
104 HardBall
 
12.04.16
13:55
+ Дырка. Пароли не должны совпадать.
105 Одинесю
 
12.04.16
13:57
(104) Это проблема раздачи паролей, я буду их обработкой заносить, а так да, подумаю, чтобы одинаковых не было.
106 FIXXXL
 
12.04.16
14:16
(105) проверка по-любас должна быть пары юзер+пароль
107 AceVi
 
12.04.16
16:16
(98) 1.Это дырка - исправляется легко. 1а. Делаешь свою форму с 1 реквизитом строка и ставишь у реквизита признак РежимПароля. 2а. Вызываешь эту форму и обрабатываешь результат который она вернула, при вызове формы можно определить функцию которая будет запущена при закрытии формы, в функцию будет передан результат закрытия. При это форма будет открыта не модально что позволит использовать это в веб клиенте.
4. Хранилище это не защита - Делай хэш пароля и помещай в хранилище, а функцию по преобразованию храни где нить во внешней обработке. Внешнюю обработку сохраняешь в хранилище значений - когда надо записать или прочитать хэш создаешь обработку на диске, после работы удаляешь обработку с диска.