Имя: Пароль:
1C
1C 7.7
v7: Бардак в формах
,
0 Drongo1986
 
22.04.14
10:03
Добрый день!

Мы работаем с 1С:Предприятие 7.7 и у нас проблема. Нужно добавить нового пользователя в базу, после чего этот пользователь заходит под своим логин/паролем, открывает любую форму, а в ней все перемешано. Если зайти под логином старого пользователя, все в порядке. Помогите пожалуйста разобраться! )))
1 Mikeware
 
22.04.14
10:03
1986 - это диагноз..
2 Drongo1986
 
22.04.14
10:05
Mikeware а по теме есть что сказать?
3 ДенисЧ
 
22.04.14
10:06
"в ней все перемешано"
Похоже, перемешано не в форме, а в голове.
Картинки показывай, что было, что стало
4 Drongo1986
 
22.04.14
10:09
ДенисЧ я бы с удовольствием приложил скрины, но тут нет кнопки "добавит фото" или типа того
5 ДенисЧ
 
22.04.14
10:09
(4) pics.rsh.ru
и сюда ссылки
6 fgaabbb
 
22.04.14
10:09
а ссылку на сторонний ресурс с картинками никак?
7 Mikeware
 
22.04.14
10:10
(3) убедился, глядя на (4) ? :-)
8 Pasha
 
22.04.14
10:10
(0) Пошто старого программиста обидели?
9 povar
 
22.04.14
10:10
Урри у него нет кнопки...
10 КонецЦикла
 
22.04.14
10:12
Переименуй старого
11 NikVars
 
22.04.14
10:12
(0) Это экспериментальная реализация управляемых форм в 7.7.
Нужно еще где-то галочку поставить.
12 Drongo1986
 
22.04.14
10:19
http://pics.rsh.ru/img/OLD_ko5ulsuq.jpg - должно быть

http://pics.rsh.ru/img/NEW_sv81gs4f.jpg - на самом деле
13 Mikeware
 
22.04.14
10:20
(11) самоуправляемых?
14 Mikeware
 
22.04.14
10:20
(12) "позовите программиста"©
ну, или просто кого-нибудь из взрослых. только руками ничего не трогайте...
15 Kookish
 
22.04.14
10:20
Верните пользователю право пользоваться закладками!
16 povar
 
22.04.14
10:21
(12) конфа от Фиксина ?
17 NikVars
 
22.04.14
10:21
(12) Это программист написал кривой документ Наряд. В документе - Закладки. Пщелкай их там, где криво.
Если все станет на место, то зови программиста.
Дело не в пользователе.
18 ДенисЧ
 
22.04.14
10:21
(15) А такое право ввели? О_о
Ну тут явно программный косяк... Погромисту зп не доплатили?
19 Андрей_Андреич
 
naïve
22.04.14
10:22
(8) Исходя из (12), старого программиста обидели правильно.
Скорее всего, еще надо открыть справочник "Пользователи" и там галочек понаставить как у предыдущего юзера.
20 maxmb
 
22.04.14
10:22
да, пахнет тут тысячей.
Волшебные слова не помогут, надо правит код.
21 Drongo1986
 
22.04.14
10:24
КонецЦикла старый пользователь тоже нужен, это наш бух. Я не программист, я мастер по ремонту электроники. Наш программист уехал на месяц, другого нет. Вот я и решил обратиться на форум.
povar не знаю, а где это можно посмотреть?
  Андрей_Андреич галочки у всех стоят одинаково
22 Базис
 
naïve
22.04.14
10:25
Когда я лезу чинить микроволновку (мастер на рыбалке), то покрываюсь волдырями. Почему американский процессор микроволновки работает с ошибками?
23 Drongo1986
 
22.04.14
10:26
У нас когда-то была такая проблема, я где-то рылся в гугле и нашел ответ. Теперь не помню как я его нашел. Честно говоря, даже не представляю как сформулировать вопрос...
24 Андрей_Андреич
 
naïve
22.04.14
10:28
(21) А позвонить программисту?
Думаю - проблема в коде. Типа документ создавался для одного разъдинственного юзера и в коде зашито имя юзера.
Ждите программиста и если это так - чутка отпуск люлями подпортить.
А вообще-то оборзели - без программиста новых людей принимают
25 fgaabbb
 
22.04.14
10:29
Ищи в конфигурации документ наряд, открывай модуль формы,  там ищи кусок кода Форма.ИспользоватьСлой(че-то там) и анализируй, почему так вылазит.
26 ОбычныйЧеловек
 
22.04.14
10:29
Drongo1986 Раз такая проблема возникает при изменении пользователя - значит ваш уникум-программист умудрился использовать "имя пользователя" для отрисовки закладок, но раз сам ты не программист то исправить вряд-ли сможешь.
27 fgaabbb
 
22.04.14
10:30
+ к (25) выводят лишний слой, т.к. не выставлена галка в настройках пользователя и ли еще чего
28 Mikeware
 
22.04.14
10:32
(23) Зачёт!
:-))
29 NikVars
 
22.04.14
10:33
(23) Расскажи какой ответ ты нашел. Вопрос нам не нужен.
30 povar
 
22.04.14
10:36
(23) "Теперь не помню как я его нашел" - ты рылся в гугле
31 КонецЦикла
 
22.04.14
10:39
Смотри права пользователя или какие-то настройки... или привязки к набору прав или даже имени. У юзверя нет закладок и слоев, вылезло все на один слой.
32 NikVars
 
22.04.14
10:40
(21) Озвучь сумму, тут тебе сделают удаленно. Работы на 5 минут.
33 Drongo1986
 
22.04.14
10:42
povar чтоб получить ответ, нужно правильно сформулировать вопрос. А с этим у меня проблема, потому что я не понимаю как это могло получиться.
  NikVars если бы все дело в деньгах, я бы нанял программиста из своего города.
34 Trainee
 
22.04.14
10:43
Прог поставил защиту. Бывает.

(33) Найми специалиста,если нет проблем с деньгами.
35 NikVars
 
22.04.14
10:45
(33) Вижу, что именно в деньгах и дело, раз лезешь не в свое.
Повторяю. Светишь сумму, выбираешь спеца - далее общение по почте, скайпу. Разберешься!
А если не хочешь, то давай ты меня щас начни учить, как мне телик самсунг разобрать и починить, а то у него полэкрана не светится.
36 Drongo1986
 
22.04.14
10:47
NikVars с деньгами как раз проблема. А по телику: нет пол подсветки или нет пол изображения?
37 ОбычныйЧеловек
 
22.04.14
10:48
Drongo1986 Покажи модуль формы документа - скажу где ошибка и как исправить.
38 ДенисЧ
 
22.04.14
10:48
(35) с телевизором - ты попал... :-)))
39 Андрей_Андреич
 
naïve
22.04.14
10:49
(37) Только потом делать на копии сначала
40 Trainee
 
22.04.14
10:50
(37) Полагаю, сначала придется объяснить как его достать и как именно часть показать.
41 Drongo1986
 
22.04.14
10:50
Модуль формы:

//Для печати документов
Перем ТаблицаПечФорм;  // список печатных форм документа
Перем НомерТекущейФормы;


процедура НаСклад()    
    Если СравнитьТА()=-2 Тогда
        Предупреждение("Документ не записан!",60);
    иначе  
        Если пустоезначение(Мастер)=1 Тогда
            Предупреждение("Не указан мастер",60);
        иначе
            ОткрытьФорму("Документ.ЗаказЗапчастей",,ТекущийДокумент());    
        КонецЕсли;
    конецесли;
конецпроцедуры      

процедура СменитьСтатусНаряда()
    перем выбр;
    Если вопрос("Сменить статус наряда?", 4)=6 Тогда
        Если ВвестиЗначение(выбр,"Выбор нового статуса наряда", "Справочник.СтатусРабот")=1 Тогда
            Если выбр.этогруппа()=1 Тогда
                сообщить("Нельзя выбирать группу!!!");
            иначе
                записать();
                док=создатьобъект("Документ.СменаСтатусаНаряда");
                док.новый();  
                док.датадок=текущаядата();
                док.ДокументОснование=текущийдокумент();
                док.СтарыйСтатусНаряда=СтатусРемонта;
                док.НовыйСтатусНаряда=выбр;          
                док.записать();
                док.провести();
                СтатусРемонта=выбр;
                записать();
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
конецпроцедуры

Процедура Печать(ф,ы)
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Печать_квитанции");
    Таб.ВывестиСекцию("Шапка");
    Таб.ВывестиСекцию("ИнформацияДляКлиента");
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Печать Наряд на ремонт","");
КонецПроцедуры

Процедура Печать_Выездной()
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Печать_Выездной");
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Печать Наряд на ремонт","");
КонецПроцедуры

//*****************************************************************************
// ПриВыбореЗакладки()
//
// Параметры:
//    Номер - номер закладки,
//    Значение - значение выбранной закладки формы
//
// Вызывается:
//    При выборе закладки
//
// Описание:
//    Устанавливает видимость слоев формы
//
Процедура ПриВыбореЗакладки(Номер, Значение);
    
    Если Значение=1 Тогда
        Форма.ИспользоватьСлой("Основной, Приемка");
    иначеесли Значение=2 тогда
        Форма.ИспользоватьСлой("Основной, Выезд");
    иначеесли Значение=3 тогда
        Форма.ИспользоватьСлой("Основной, Ремонт");
    иначеесли Значение=4 тогда
        Форма.ИспользоватьСлой("Основной, Выдача");  
    иначеесли Значение=5 тогда
        Форма.ИспользоватьСлой("Основной, Акт");
    КонецЕсли;    
    
    
КонецПроцедуры // ПриВыбореЗакладки

Процедура ПриОткрытии ()
    Если НарядЗ=1 Тогда
        форма.толькопросмотр(1);
    КонецЕсли;
    
    Форма.ВидНаряда.доступность(глпользователь.Привилегия.РазрешитьСменуВидаНаряда);
    Форма.марка.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.типтехники.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.модель.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.СерийныйНомер.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.Комплектация.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.ВнешнийВид.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.неисправность.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.клиент.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.Продавец.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.Датапокупки.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.Контрагент.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.ТелефонКлиента.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    Форма.Примечание.доступность(глпользователь.Привилегия.РазрешитьРедактироватьПриемку);
    

    чист=100000;
    Форма.ИспользоватьЗакладки(1);
    если глпользователь.Привилегия.РазрешитьПриемку=1 тогда
        Форма.Закладки.ДобавитьЗначение(1, "Основной");
        чист=чист+10000;
    конецесли;
    если глпользователь.Привилегия.РазрешитьВыезд=1 тогда
        Форма.Закладки.ДобавитьЗначение(2, "Выезд");
        чист=чист+1000;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьРемонт=1 тогда
        Форма.Закладки.ДобавитьЗначение(3, "Ремонт");
        чист=чист+100;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьВыдачу=1 тогда
        Форма.Закладки.ДобавитьЗначение(4, "Выдача");
        чист=чист+10;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьАкт=1 тогда
        Форма.Закладки.ДобавитьЗначение(5, "Акт");
        чист=чист+1;
    конецесли;

    Если чист>110000 Тогда
        Форма.ИспользоватьСлой("Основной, Приемка");  
    иначеЕсли чист>101000 Тогда
         Форма.ИспользоватьСлой("Основной, Выезд");
    иначеЕсли чист>100100 Тогда
         Форма.ИспользоватьСлой("Основной, Ремонт");
    иначеЕсли чист>100010 Тогда
         Форма.ИспользоватьСлой("Основной, Выдача");
    иначеЕсли чист>100001 Тогда
         Форма.ИспользоватьСлой("Основной, Акт");        
    КонецЕсли;
    
    
    Форма.Закладки.ТекущаяСтрока(1);
    
    // Заполним таблицу для выбора печатной формы
    НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);
    
    // Если открыли только на просмотр, то надо кнопки сделать недоступными
    Если Форма.ТолькоПросмотр()=1 Тогда
        // СДЕЛАТЬ НЕДОСТУПНЫМИ КНОПКИ МОДИФИКАЦИИ ДОКУМЕНТА
        //Форма.КнДействия.Доступность(0);
        Форма.кнОК.Доступность(0);
        Форма.кнЗаписать.Доступность(0);
        Форма.КнопкаПоУмолчанию("кнЗакрыть");
        Форма.НаСклад.Доступность(0);
        Форма.СменитьСтатусНаряда.Доступность(0);
    Иначе
        Форма.КнопкаПоУмолчанию("кнОК");
    КонецЕсли;
    
    Если сервкл=1 Тогда
        серв=1;
        кл=0;
    иначе
        серв=0;
        кл=1;
    КонецЕсли;
КонецПроцедуры      
//******************************************************************************
// ПоКнопкеПечать()
//
// Параметры:
//    Нет
//
// Описание:
//     Вызывается по кнопке "Печать"  
//     
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)
    
    // проверим полномочия печати непроведенных документов

    Если  ПустоеЗначение(НомерТекущейФормы) = 1  Тогда
        НомерТекущейФормы = 1;
        Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
    КонецЕсли;
    
    Если НомерТекущейФормы = 1  Тогда
        Печать(СразуНаПринтер, КолЭкз);
    Иначе
        Параметры = СоздатьОбъект("СписокЗначений");
        Параметры.ДобавитьЗначение(Контекст, "Контекст");
        Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
        Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");
        
        ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
    КонецЕсли;
    
КонецПроцедуры // ПоКнопкеПечать()
//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Параметры:
//  нет.    
//
// Возвращаемое значение:
//  нет.
//
// Описание:
//  - открывает список для выбора способа печати.
//  - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()
    
    ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
    Если ВыбНомер > 0 Тогда
        НомерТекущейФормы = ВыбНомер;
        Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
        ПоКнопкеПечать();
    КонецЕсли;

КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()

////////////////////////////////////////////////////////////////////////////////
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ
//
// формируем таблицу печатных форм
НомерТекущейФормы    = 0;

ТаблицаПечФорм        = СоздатьОбъект("ТаблицаЗначений");
ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);
ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);
ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10);
ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");
    
// добавим информацию о встроенной форме
ТаблицаПечФорм.НоваяСтрока();
ТаблицаПечФорм.Название     = "Наряд на ремонт (внутри)";
ТаблицаПечФорм.Кнопка       = "Печать";
42 NikVars
 
22.04.14
10:50
(36) Вот видишь - пошли уточняющие вопросы. Уверен, их от тебя будет куча - от простых до наивных. Забей - ищи бабосы или скучающих здесь - они помогут!
(38) Шутка! :))
43 ДенисЧ
 
22.04.14
10:52
во...
В справочнике пользователей есть какие-то привилегии...
Их нужно проставить...

А вообще - вашему программисту прописана лечебная эфтаназия. Когда вернётся - не забудь сообщить ему об этом.
44 Trainee
 
22.04.14
10:54
глпользователь.Привилегия - смотреть что это и ставить галки по аналогии с настройками старого пользователя.

(43) ))Паяльник в ухо!))
45 povar
 
22.04.14
10:54
(43) +1900
46 ОбычныйЧеловек
 
22.04.14
10:54
Drongo1986 Открой справочник "Пользователи", найди добавленного пользователя и установи у него такие же привилегии как у главбуха.
47 Люблю_УПП
 
22.04.14
11:00
на первый взгляд дело  видимости и доступности для каждого пользователя.  при открытии формы
48 Люблю_УПП
 
22.04.14
11:00
Дай скрин процедуры "ПриОткрытии"
49 ДенисЧ
 
22.04.14
11:00
(48) Тебе нельзя, ты читать не умеешь
50 Люблю_УПП
 
22.04.14
11:01
чист=100000;
    Форма.ИспользоватьЗакладки(1);
    если глпользователь.Привилегия.РазрешитьПриемку=1 тогда
        Форма.Закладки.ДобавитьЗначение(1, "Основной");
        чист=чист+10000;
    конецесли;
    если глпользователь.Привилегия.РазрешитьВыезд=1 тогда
        Форма.Закладки.ДобавитьЗначение(2, "Выезд");
        чист=чист+1000;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьРемонт=1 тогда
        Форма.Закладки.ДобавитьЗначение(3, "Ремонт");
        чист=чист+100;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьВыдачу=1 тогда
        Форма.Закладки.ДобавитьЗначение(4, "Выдача");
        чист=чист+10;
    конецесли;    
    если глпользователь.Привилегия.РазрешитьАкт=1 тогда
        Форма.Закладки.ДобавитьЗначение(5, "Акт");
        чист=чист+1;
    конецесли;

    Если чист>110000 Тогда
        Форма.ИспользоватьСлой("Основной, Приемка");  
    иначеЕсли чист>101000 Тогда
         Форма.ИспользоватьСлой("Основной, Выезд");
    иначеЕсли чист>100100 Тогда
         Форма.ИспользоватьСлой("Основной, Ремонт");
    иначеЕсли чист>100010 Тогда
         Форма.ИспользоватьСлой("Основной, Выдача");
    иначеЕсли чист>100001 Тогда
         Форма.ИспользоватьСлой("Основной, Акт");        
    КонецЕсли;
    
    
    Форма.Закладки.ТекущаяСтрока(1);
    
    // Заполним таблицу для выбора печатной формы

    НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);



вот тут дело.
51 ОбычныйЧеловек
 
22.04.14
11:01
(50) маладец )))
52 ДенисЧ
 
22.04.14
11:02
а не, смотри-ка... умеет...
53 Люблю_УПП
 
22.04.14
11:03
(51) написано много и много не по делу. Читал что считал нужным

(43) (44)  уже дали ответ
54 Trainee
 
22.04.14
11:05
ТС, читай Мисту)) К возвращению старого прога из отпуска, ты уже перетянешь 7 на 8 и будет у тебя своя конфа с блекджеком и проч.)
55 Drongo1986
 
22.04.14
14:44
Проверил привилегии, стоят одинаково, как у буха, так и у нового пользователя...
56 Ёпрст
 
22.04.14
14:48
(55) перезайди
57 Drongo1986
 
22.04.14
14:54
Trainee кто такой Миста?
Ёпрст уже даже комп с базой перезапустил
   Люблю_УПП в чем там дело? )))
58 Ёпрст
 
22.04.14
15:01
(57) не выставлены привелегии в справочнике пользователи у тебя и всё.
59 Ёпрст
 
22.04.14
15:02
ну и тому, кто это писал, нужно гвоздь в голову.
60 Drongo1986
 
22.04.14
15:06
Ёпрст про эти привелегии разговор?   Там все одинаково. http://pics.rsh.ru/img/user_qcb5fke2.jpg
61 Trainee
 
22.04.14
15:06
Drongo1986, скажи честно, ты - тролль?

Что такое глпользователь.Привилегия? Уверен, что там РазрешитьРедактироватьПриемку выведено на форму?

(59) Гвоздь в голову нужно тому, кто занимается не своим делом.
62 Drongo1986
 
22.04.14
15:08
Traine извините если мои вопросы или непонимание ваших ответов кажется вам глупостью, просто я реально ничего в этом не понимаю. Поэтому и прошу помощи у знатоков...
63 sergey198
 
22.04.14
15:09
(60) укажи привилегии "бухгалтера"
64 Trainee
 
22.04.14
15:09
Что такое "мастер" и "бухгалтер"?
65 Trainee
 
22.04.14
15:10
(62) Похоже ваш прог реализовал что-то вроде "ролей"...
Не хотел хамить. Мы стараемся помочь, но не видя картины целиком это будет длится вечность.
66 Drongo1986
 
22.04.14
15:12
Мастер это новый сотрудник, бух - это старый.

Всем большое спасибо, я разобрался. Выставил всем пользователям одинаковые привелегии, мастерам - мастера, бухгалтерам и менеджерам - буха и все заработало! Еще раз всем спасибо, делов-то действительно на 5 минут.
67 sergey198
 
22.04.14
15:14
вот у вас какие , мастера одинесят, кладавщики бухгалтерят, какие молодцы...
68 Trainee
 
22.04.14
15:20
Всего-то 5 часов общения на форуме и пятиминутная задача решена)Пусть неправильно, но за то работает)) Ура!
69 Drongo1986
 
22.04.14
15:26
У меня есть еще один вопрос, я сейчас создам новую тему...)))
70 Trainee
 
22.04.14
15:32
))Пошел за попкорном))
Основная теорема систематики: Новые системы плодят новые проблемы.