Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (30-10-2009 09:51): http://forum.ru-board.com/topic.cgi?forum=33&topic=10715  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования 1С!!!
Это продолжение темы, предыдущие части доступны тут


ПРОГРАММЫ  1С:Предприятие 1C - 1C: Вопросы по конфигурациям

ВАРЕЗНИК   1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х

Топик 1C Ebooks
ЗДЕСЬ  (обновлено 17.10.2009) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...


Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board
 
Предыдущие темы были здесь часть 4 | часть 3 | часть 1
 
Как убить рекламу при обновлении отчетности | конфигурации (ИБ)?

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:02 03-04-2009 | Исправлено: vkramnik, 12:06 23-10-2009
egerLESHIK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В принципе, если дело упирается в то, что _Док=КредитовыйДокумент; - это лишнее. пусть будет так, но меня устраивает, то, что щелчком по строке в печатной форме можно перейти в диалоговое окно формы Расходная накладная.

Всего записей: 950 | Зарегистр. 24-03-2004 | Отправлено: 01:52 14-07-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
egerLESHIK
в расшифровку добавил бы не _Док, а КредитовыйДокумент - будет тоже самое...

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 10:35 14-07-2009
Skilet



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз., есть ли аналог ОткрытьПодбор() в 1сv8.1?
Искал в Синтаксис-Помощнике, не нашел.
Может есть что нибудь, если есть, можно небольшой пример черкануть

Всего записей: 98 | Зарегистр. 12-10-2005 | Отправлено: 11:29 14-07-2009
Ad108

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть задача запретить доступ к группам в справочнике. В 1с 8.1.
 
Поискав в нете, обнаружил заметки о существовании модуля Администрирования RLS, выражается это в виде дополнительной закладки в настройках пользователя, также сказано, что входит в ряд типичных конфигураций. Подскажите пожалуйста в каких. В бухгалтерии не нашел. И вообще есть ли простой способ решения задачи.

Всего записей: 10 | Зарегистр. 25-09-2007 | Отправлено: 12:07 14-07-2009
vizlipuzli

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skilet
Смотрите в синтакс-помощнике: ПолучитьФорму() или ПолучитьФормуВыбора()

Всего записей: 4038 | Зарегистр. 17-08-2005 | Отправлено: 13:27 14-07-2009
egerLESHIK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть некая "семерочная" конфигурация, в которой есть справочник телефонов контрагентов. Телефоны в этом справочнике проходят проверку через функцию в глобальном модуле.
 
На данный момент маска телефона 999-99-99.
Код самого справочника такой:

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

 
Код на проверку телефона в глобальном модуле такой:

Код:
// Функция проверки правильности записи телефона
//
Функция глПроверкаЗаписиТелефона(Тел, КоличествоСимволов=9) Экспорт
        Если СтрДлина(Тел)<>КоличествоСимволов Тогда
        Предупреждение("Не верный номер!");
        Возврат 0;
    КонецЕсли;
    Для Сч=1 по КоличествоСимволов-3 цикл
        Символ=Сред(Тел, 1+КоличествоСимволов-Сч, 1);
        Если (Сч=3) или (Сч=6) Тогда
            Если Символ<>"-" Тогда
                Предупреждение("Не верный формат!");
                Возврат 0;
            КонецЕсли;
        ИначеЕсли Сч<5 тогда
            Если (Символ<"0") или (Символ>"9") Тогда
                Предупреждение("Не допустимые символы!");
                Возврат 0;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    ПервыеЦифры=Сред(Тел, 1, КоличествоСимволов-6);
    Дл=СтрДлина(СокрЛП(ПервыеЦифры));
    Ст=СокрЛП(ПервыеЦифры);
    Если Дл=0 Тогда
        Предупреждение("Не верный номер!");
        Возврат 0;
    КонецЕсли;
    Для Сч=1 по Дл цикл
        Символ=Сред(Ст, Дл-Сч, 1);
        Если (Символ<"0") или (Символ>"9") Тогда
            Предупреждение("Не допустимые символы!");
            Возврат 0;
        КонецЕсли;
    КонецЦикла;
    Если СокрП(ПервыеЦифры)<>ПервыеЦифры Тогда
        ИсправленныйТел="";
        Для Сч=1 по СтрДлина(ПервыеЦифры)-СтрДлина(СокрП(ПервыеЦифры)) цикл
            ИсправленныйТел=ИсправленныйТел+" ";
        КонецЦикла;
        ИсправленныйТел=ИсправленныйТел+СокрП(ПервыеЦифры);
        ИсправленныйТел=ИсправленныйТел+Прав(Тел, 6);
        Тел=ИсправленныйТел;
    КонецЕсли;                                  
    
    Возврат Тел;
    
КонецФункции //глПроверкаЗаписиТелефона

 
Пытаюсь поправить проверку в глобальнике под другую маску, постоянно выдает сообщение "Не допустимые символы!"
 
Что нужно поправить в функции глобальника, чтобы нормально отрабатывался код по измененной маске? Сама маска новая имеет следующий вид 9-999-999-99-99. Спасибо.

Всего записей: 950 | Зарегистр. 24-03-2004 | Отправлено: 16:57 14-07-2009 | Исправлено: egerLESHIK, 16:59 14-07-2009
zextol

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, хочу загрузить справочник сотрудников из 7 в 8. сначала выгружаю справочник в .mxl таблицу а как загрузить ее в 8 не знаю, в 7 делал так:

Код:
 
Табл = СоздатьОбъект("Таблица");
Табл.Открыть(ФайлЗагрузки);
    
НомерСтроки = 1;
Пока ПустоеЗначение(Табл.Область(НомерСтроки, 2).Текст) = 0 Цикл
Имя    = Сред(Табл.Область(НомерСтроки, 1).Текст,11);
КонецЦикла;
 

и еще как создать базу в SQL? в 7 "Администрирование->Параметры базы данных SQL..." и там указывалось имя сервера, базы, пользователя и пароль, а в 8 где это?

Всего записей: 51 | Зарегистр. 07-01-2009 | Отправлено: 18:03 14-07-2009 | Исправлено: zextol, 18:12 14-07-2009
vizlipuzli

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egerLESHIK
возможно так код будет понятнее: Подробнее... в этом примере можно проверить любую маску с одним символом разделителя

Всего записей: 4038 | Зарегистр. 17-08-2005 | Отправлено: 18:19 14-07-2009 | Исправлено: vizlipuzli, 18:23 14-07-2009
egerLESHIK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vizlipuzli
 
все дело в том, что маска программируется вот таким вот образом:
 

Всего записей: 950 | Зарегистр. 24-03-2004 | Отправлено: 18:33 14-07-2009
vizlipuzli

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zextol

Цитата:
а в 8 где это?

При указании имени добавляемой базы установите переключатель "На сервере 1С:Предприятия". Если переключатель не активен - переустановите платформу, выбрав в компонентах доступ к серверу 1С:Предприятия  
 
Добавлено:
egerLESHIK

Цитата:
все дело в том

тогда так:  
Подробнее...

Всего записей: 4038 | Зарегистр. 17-08-2005 | Отправлено: 18:36 14-07-2009 | Исправлено: vizlipuzli, 18:43 14-07-2009
egerLESHIK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
  Тел=глПроверкаЗаписиТелефона(Телефон, Форма.Телефон.Маска(), "-");  

 
Ошибочка-с:
Тел=глПроверкаЗаписиТелефона(Телефон, Форма.Телефон.Маска(), <<?>>"-");
{Справочник.Телефоны.ФормаСписка.ФормаСписка.Модуль(4)}: Слишком много фактических параметров

 
Прошу прощения. Виноват. Код рабочий, просто не досмотрел и не дописал. Премного благодарен.

Всего записей: 950 | Зарегистр. 24-03-2004 | Отправлено: 20:31 14-07-2009 | Исправлено: egerLESHIK, 20:42 14-07-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
egerLESHIK
Цитата:
На данный момент маска телефона 999-99-99.
так а что нужно собственно провевить, если тел по маске вводится?

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 00:17 15-07-2009
Akam1



Комса
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ad108
Цитата:
Есть задача запретить доступ к группам в справочнике. В 1с 8.1.
Конфигурация какая? К каким справочникам?
Откройте справочник "Группы пользователей", если есть.

----------
В правильно поставленном вопросе всегда содержится 50% ответа
Все будет так, как должно быть. Даже если будет иначе.

Всего записей: 26360 | Зарегистр. 20-04-2006 | Отправлено: 06:09 15-07-2009
Ad108

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Akam1
 
Конфигурация Бухгалтерия. Справочник Контрагенты.  
Необходимо, чтобы некоторые пользователи, например обычные менеджеры, не видели (или был запрещен доступ) группу Поставщики в справочнике Контрагенты.  
 
Справочник "Группы пользователей" есть.

Всего записей: 10 | Зарегистр. 25-09-2007 | Отправлено: 07:36 15-07-2009
Akam1



Комса
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ad108
Цитата:
Справочник Контрагенты.  
Необходимо, чтобы некоторые пользователи, например обычные менеджеры, не видели (или был запрещен доступ) группу Поставщики в справочнике Контрагенты.
Тогда именно в этой конфигурации Вам придется ее дорабатывать. Т.е. у Регистра сведений "НастройкиПравДоступаПользователей" у измерений проставить не только "Организации" и "Внешние обработки", но и "Контрагенты", Перечисления.ВидОбъектаДоступа тоже добавить и т.д. Посмотрите как это реализовано у справочника Организации и сделайте по образу и подобию. Только наверное придется додумать, чтобы механизм групп тоже обрабатывался.
Тогда в Справочнике "Группы пользователей" добавите нужных пользователей, которым разрешен доступ к определенным контрагентам, а по кнопке "Перейти" этой группы установите контрагентов, к которым доступ разрешен (т.е. заполните список регистра НастройкиПравДоступаПользователей).
Ну вот как-то так.

----------
В правильно поставленном вопросе всегда содержится 50% ответа
Все будет так, как должно быть. Даже если будет иначе.

Всего записей: 26360 | Зарегистр. 20-04-2006 | Отправлено: 08:14 15-07-2009 | Исправлено: Akam1, 08:16 15-07-2009
egerLESHIK



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поступило предложение усовершенствовать справочник Телефонов по вчерашнему вопросу. Значит мысль вроде такая, чтобы в колонке Телефон (Справочника Телефонов) можно было вводить телефоны по двум маскам:
-маска 99-99-99 - это телефон стационарный;
-маска 9-999-999-99-99 - это телефон мобильный;
Подскажите на верном ли я пути? Колонке сделал запрет на редактированиеи установил ей галочку кнопки выбора. Написал часть кода, но очевидно не дописал момент выбора вида телефона. Я понимаю так: при нажатии на кнопку выбора в колонке Телефон должно задать вопрос выбора "какого рода телефон Вы хотите ввести", или выпасть выпадающее меню с двумя строками: "телефон рабочий" и "телефон мобильный", соответственно выбраному одному из них должна подставиться своя маска кода и выпасть окошко для ввода самого номера. Ниже приводится код процедуры, который я начал писать:
 

Код:
Перем ТелРаб;
Перем ТелМоб;
 
Процедура ПриНачалеВыбораЗначения(Телефон,)
    Если Телефон = "ТелРаб" Тогда
        Форма.Телефон.Маска="99-99-99";
        Стр = ""+ТелРаб;
         Если ВвестиСтроку(Стр, "Введите рабочий телефон", 8,1) = 0 Тогда  
             СтатусВозврата(0);
               Возврат;
           КонецЕсли;
           ТелРаб = Стр;
    ИначеЕсли Телефон = "ТелМоб" Тогда
        Форма.Телефон.Маска="9-999-999-99-99";  
        Стр = ""+ТелМоб;
        Если ВвестиСтроку(Стр, "Введите рабочий телефон", 15,1) = 0 Тогда  
             СтатусВозврата(0);
               Возврат;
           КонецЕсли;
           ТелМоб = Стр;
    Иначе
        Сообщить ("Неверный формат или неверный номер, проверьте правильность ввода!");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;    
КонецПроцедуры

 Что в нем нужно доработать? Подскажите, пожалуйста. Спасибо.

Всего записей: 950 | Зарегистр. 24-03-2004 | Отправлено: 12:53 15-07-2009
vizlipuzli

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egerLESHIK
я бы сделал редактирование не в списке, а в диалоге , сделал бы форму элемента, разместил там пару полей ввода с разными масками и кнопками очистки, а наименование выводилось бы в поле ввода с галкой запретить редактирование и при записи обрабатывал данные в полях ввода на корректность маски, в случае успеха записывал бы новое наименование.
Вот такую бы форму элемента сделал:  


Всего записей: 4038 | Зарегистр. 17-08-2005 | Отправлено: 13:48 15-07-2009 | Исправлено: vizlipuzli, 13:50 15-07-2009
Stanleygoo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Подскажите пожалуйста, как добавить в запрос несколько значений одного параметра?
 
есть запрос:  
 
Запрос.Текст = "
    |ВЫБРАТЬ
    |    НарядыДвижения.Регистратор.Ссылка Как Наряд,
    |    НарядыДвижения.Контрагент.Ссылка Как Контрагент,
    |    НарядыДвижения.Ответственный.Ссылка Как Ответственный
    |ИЗ
    |    РегистрСведений.НарядыДвижения КАК НарядыДвижения
    |ГДЕ
    |    НарядыДвижения.Ответственный = &Ответственный,  
    |    НарядыДвижения.Состояние В &СписокСостояний
    |
    |СГРУППИРОВАТЬ ПО
    |    НарядыДвижения.Контрагент.Ссылка,
    |    НарядыДвижения.Регистратор.Ссылка,
    |    НарядыДвижения.Ответственный.Ссылка";
 
    Запрос.УстановитьПараметр("Ответственный",    Ответственный);
    Запрос.УстановитьПараметр("СписокСостояний", СЗ);
 
СЗ содержит значения перечисления. Но появляется ошибка:
 
Ошибка при вызове метода контекста (Выполнить): {(9, 47)}: Синтаксическая ошибка ","
НарядыДвижения.Ответственный = &Ответственный<<?>>,
    Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(9, 47)}: Синтаксическая ошибка ","
НарядыДвижения.Ответственный = &Ответственный<<?>>,
 
-------------
 
Может быть есть у кого-нибудь пример, поделитесь пожалуйста.

Всего записей: 58 | Зарегистр. 16-10-2007 | Отправлено: 15:49 15-07-2009
vizlipuzli

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stanleygoo
Не через конструктор что ли запрос написан? Ошибка не связана с СЗ. Нужно в предложении "ГДЕ..." в условиях вместо "," поставить "И" судя по запросу
    |ГДЕ
    |    НарядыДвижения.Ответственный = &Ответственный И  
    |    НарядыДвижения.Состояние В &СписокСостояний

Всего записей: 4038 | Зарегистр. 17-08-2005 | Отправлено: 16:30 15-07-2009
Ad108

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Akam1
Большое спасибо за участие. Задачу решил так.
 
Добавил роль "менеджеры". Прописал ее в разрешении на работу пользователя в процедуре Процедура ПроверитьВозможностьРаботыПользователя(Отказ). Затем в настройках роли к справочнику Контрагенты, в правах на чтение добавил ограничения к полю Код, а условие написал такое:
 Контрагенты ГДЕ Контрагенты.Наименование <> "Поставщики"
Теперь пользователи с ролью Менеджеры видят всех контрагентов кроме группы Поставщики.
 
Пока вроде все работает, но где тут подводные камни, еще не знаю.

Всего записей: 10 | Зарегистр. 25-09-2007 | Отправлено: 17:20 15-07-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
ShIvADeSt (30-10-2009 09:51): http://forum.ru-board.com/topic.cgi?forum=33&topic=10715


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru