Мегадок
Subsystems
Авторская разработка решений для 1С с 2008 года. Об авторе.
8 (995) 091-01-01
В онлайне: с 10:00 до 18:00
Заказать звонок
Skype: shekineugeniy
Мегапрайс
Разработки
  • Мегапрайс PRO
  • Мега: Загрузка в 1С
  • Мега: Номенклатура
  • Мега: Цены
  • Мега: Помощник закупок
  • Мега: Помощник продаж
  • Парсеры прайсов
  • Маркетплейсы
  • Удалить (всякое старье)
Что нового?
Отзывы
Информация
  • Об авторе
    • Об авторе
    • История
    • Лицензии
    • Партнеры
    • Контакты
  • Договор-оферта
  • Есть идея!
  • Техподдержка
  • Вопрос ответ
  • Статьи
  • Для интернет-магазинов
    • Продукты Битрикс
    • Шаблоны для сайта
  • Партнерство
  • Акции
Форум
    Subsystems
    Мегапрайс
    Разработки
    • Мегапрайс PRO
    • Мега: Загрузка в 1С
    • Мега: Номенклатура
    • Мега: Цены
    • Мега: Помощник закупок
    • Мега: Помощник продаж
    • Парсеры прайсов
    • Маркетплейсы
    • Удалить (всякое старье)
    Что нового?
    Отзывы
    Информация
    • Об авторе
      • Об авторе
      • История
      • Лицензии
      • Партнеры
      • Контакты
    • Договор-оферта
    • Есть идея!
    • Техподдержка
    • Вопрос ответ
    • Статьи
    • Для интернет-магазинов
      • Продукты Битрикс
      • Шаблоны для сайта
    • Партнерство
    • Акции
    Форум
      0
      Subsystems
      0
      • Мегапрайс
      • Разработки
        • Назад
        • Разработки
        • Мегапрайс PRO
        • Мега: Загрузка в 1С
        • Мега: Номенклатура
        • Мега: Цены
        • Мега: Помощник закупок
        • Мега: Помощник продаж
        • Парсеры прайсов
        • Маркетплейсы
        • Удалить (всякое старье)
      • Что нового?
      • Отзывы
      • Информация
        • Назад
        • Информация
        • Об авторе
          • Назад
          • Об авторе
          • Об авторе
          • История
          • Лицензии
          • Партнеры
          • Контакты
        • Договор-оферта
        • Есть идея!
        • Техподдержка
        • Вопрос ответ
        • Статьи
        • Для интернет-магазинов
          • Назад
          • Для интернет-магазинов
          • Продукты Битрикс
          • Шаблоны для сайта
        • Партнерство
        • Акции
      • Форум
      • Мой кабинет
      • Корзина0
      • 8 (995) 091-01-01
      Skype: shekineugeniy
      support@subsystems.ru
      • Facebook
      • Вконтакте
      • Telegram
      • YouTube

      Автоматическая установка даты запрета редактирования 1С Управление торговлей 10

      • Главная
      • Форум
      • Как работать в 1С
      • 1C Управление торговлей 10 / КА1 / УПП
      • Автоматическая установка даты запрета редактирования 1С Управление торговлей 10
      Аренда 1С (4)
      Поиск  Правила 
      Форум » Как работать в 1С » 1C Управление торговлей 10 / КА1 / УПП
      Страницы: 1
      Автоматическая установка даты запрета редактирования 1С Управление торговлей 10
       
      Евгений
      Администратор
      Сообщений: 2870 Регистрация: 04.07.2011
      #1
      11.07.2011 15:06:37
      Описание добавления в программу способа, позволяющего автоматически устанавливать дату запрета редактирования.
      Данный метод раз и навсегда позволяет уйти от проблемы контроля даты запрета редактирования.

      Наверно все знают что такое дата запрета редактирования. Знают как устанавливается и где. Вопрос только в том, что кому то надо постоянно за ней следить, устанавливать.

      Как правило для большинства пользователей программа должна автоматически

      каждый день запрещать менять что-либо задним числом.

      В восьмерке основная проблема, что дата запрета должна ставится до начала работы пользователей,

      иначе после установки она не будет применена в силу пока пользователи не перезайдет в программу.

      Тоесть кто-то с утра, самый первый, должен зайти и сразу поставить запрет.

      Представляете что это будет?

      Итак решение (внимание, действия должны выполнятся специалистом)

      Общий Модуль - Полные Права - Процедура

      Процедура УстановитьПараметрГраницыЗапретаИзмененияДанных() Экспорт

      В начало процедуры код:

      //Мания1С
      Попытка
      СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
      ГраницаПериода = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
      Вчера = НачалоДня(НачалоДня(ТекущаяДата())-1);
      ПозаВчера = НачалоДня(НачалоДня(Вчера)-1);
      Если ГраницаПериода < ПозаВчера Тогда
      Рег = РегистрыСведений.ГраницыЗапретаИзмененияДанных;
      Набор = Рег.СоздатьНаборЗаписей();
      ТекущиеДанные = Рег.Выбрать();
      Пока ТекущиеДанные.Следующий() Цикл
      Если ЗначениеЗаполнено(ТекущиеДанные.Организация) Тогда
      Продолжить;
      КонецЕсли;
      Запись = Набор.Добавить();
      Запись.Организация = ТекущиеДанные.Организация;
      Запись.Пользователь = ТекущиеДанные.Пользователь;
      Запись.ГраницаЗапретаИзменений = ПозаВчера;
      КонецЦикла;
      Набор.Записать();
      КонецЕсли;
      Исключение
      Сообщить(ОписаниеОшибки());
      КонецПопытки;

      Всё. После добавления этого кода, каждый день при входе первого пользователя программа автоматически устанавливает дату запрета редактирования для всех последующих пользователей. (в моем примере дата автоматически устанавливается для всех пользователей на позавчерашний день).
       
       
       
      леха
      Гость
      #2
      20.01.2014 15:59:41
      Насущная проблема, я ее решил вот так:


      ////Форма только просмотр ///////Администратор_БЬЕМ_ПО_шаловливым ручкам.
        //ЕслиНЕ
       
      ТекДата = НачалоДня(ТекущаяДата());
      //ПользователиИнформационнойБазы = РольДоступна(ПолныеПрава);
      //Если НЕ РольДоступна("ПолныеПрава"  ;)    Тогда
      //        Отказ = Истина;
      Если ДокументОбъект. Проведен Тогда
         Если НЕ РольДоступна("ПолныеПрава"  ;)  
         И (НачалоДня  (ДокументОбъект.Дата)- ТекДата)< 0 Тогда
         //Сообщить ("Вам запрещено изменять текущий документ! Для редактирования данных свяжитесь с ОФИСОМ !!!", СтатусСообщения.Важное);
         Ответ = Вопрос("Вам запрещено изменять текущий документ!
                 |Для редактирования данных свяжитесь с Офисом!!!Документ можно открыть для просмотра?", РежимДиалогаВопрос.ДаНет);
                 //Если Ответ = КодВозвратаДиалога.Да Тогда
                 ТолькоПросмотр = Истина;
      КонецЕсли;
      КонецЕсли;


      Устанавливаем в конце модуля каждой формы что надо запрет поставить и все кроме пользователя с полными правами грызут ногти если вчера или раньше накосипорили(а полн прав ток у администратора и старшего менеджера)!!!!!
      тот же метод у меня прокатил и в РОЗНИЦА 1.0.
       
       
       
      zenz
      Гость
      #3
      26.01.2014 11:52:19
      Цитата
      test пишет:
      //Мания1С
      Попытка
      СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
      ГраницаПериода = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
      Вчера = НачалоДня(НачалоДня(ТекущаяДата())-1);
      ПозаВчера = НачалоДня(НачалоДня(Вчера)-1);
      Если ГраницаПериода < ПозаВчера Тогда
      Рег = РегистрыСведений.ГраницыЗапретаИзмененияДанных;
      Набор = Рег.СоздатьНаборЗаписей();
      ТекущиеДанные = Рег.Выбрать();
      Пока ТекущиеДанные.Следующий() Цикл

      А Какой код будет если граница запрета  -неделя?
       
       
       
      Гость
      Гость
      #4
      29.10.2015 16:53:22
      С привязкой к ролям;

      Попытка
          Если РольДоступна("НОВ_УстанавливатьЗапретИзмененияДанных_КВАРТАЛ") Тогда
               ДатаУстановки = НачалоКвартала(ТекущаяДата()) - 1;
               НаборЗаписей = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
               НаборЗаписей.Прочитать();
               Запись = НаборЗаписей.Добавить();
               Запись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь(), ИСТИНА);
               Запись.ГраницаЗапретаИзменений = ДатаУстановки;
               НаборЗаписей.Записать(ИСТИНА);
          ИначеЕсли РольДоступна("НОВ_УстанавливатьЗапретИзмененияДанных_ДЕНЬ")
               ДатаУстановки = НачалоДня(ТекущаяДата()) - 1;
               НаборЗаписей = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
               НаборЗаписей.Прочитать();
               Запись = НаборЗаписей.Добавить();
               Запись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь(), ИСТИНА);
               Запись.ГраницаЗапретаИзменений = ДатаУстановки;
               НаборЗаписей.Записать(ИСТИНА);
          КонецЕсли;
      Исключение
          Сообщить(ОписаниеОшибки());
      КонецПопытки;
       
       
       
      Страницы: 1
      Читают тему
      Подписывайтесь на новости и акции:
      Компания
      Об авторе
      История
      Лицензии
      Партнеры
      Контакты
      Разработки 1С
      Мегапрайс PRO
      Загрузка прайсов в 1С
      Анализатор прайсов
      Помощник установки цен
      Помощник продаж
      Помощник закупок
      Услуги
      Услуги по 1С
      Парсеры прайсов
      Создание сайтов
      Техподдержка
      Информация
      Договор-оферта
      Наши контакты

      8 (995) 091-01-01
      В онлайне: с 10:00 до 18:00
      Skype: shekineugeniy
      support@subsystems.ru
      © 2021 Все права защищены. Работает на 1С-Битрикс
      0

      Корзина

      Ваша корзина пуста

      Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
      В каталог