Последние сообщения

#51
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 22:41
все равно непонятно, от чего хотите защититься (?) что не устраивает что Форма.ТолькоПросмотр(1) не подходит?
#52
7.7 / Re: Отчетность в 7.7 1кв
Последний ответ от Харлампий Дымба - 07 апреля 2026, 22:40
Цитата: Ветер в поле от 07 апреля 2026, 12:56Даже не представлял, что такие извращенцы еще могут быть - на ОСНО и вести бухгалтерию в 7.7...
Каждый со своей колокольни судит. Я, например, очень рад, что избегал до сего времени плясок с торговым оборудованием и разными честными знаками - это тяжело. Бухгалтерия и Зарплата - довольно консервативные ветки. Достаточно простые. А у меня - далеко не ларьки, писать код в БП и ЗУП - брррр.

По поводу Декларации по НДС ещё не думал, через недельку посмотрю. Вариантов для ТС видится 4:
1) Не знаю как СБис, но Контур вроде давал загружать для редактирования отчеты по старым формам, потом поправить;
2) Кошки рулят - сам не пользуюсь, но если человек делает неплохие вещи, то почему бы и нет;
3) Ждать 1С - отчетность по ФСБУ 4/2023 выпустили же к концу года, а там достаточно много было работы, может и тут выпустят;
4) Подправить текущий вариант выгрузки самому, думаю там всех изменений - пару полей в книгах, да поменять ВерсиЯФормата)

Про себя так - если 1С не выпустит, то наверное форму не буду рисовать, что их каждый раз перерисовыать эти 20 листов? Сделаю выгрузку просто, а визуализацию можно и от оператора ЭДО получить.


 





#53
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 22:33
не подойдет...
#54
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 22:25
А глобальная ПриОткрытииФормыДокумента() - не пойдет?
там есть как раз параметр флРежимПросмотра
#55
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 22:19
вот, промоделировал:
.
// модуль формы
ОткрытВРежимеРедактирования = 1-Форма.ТолькоПросмотр();
Сообщить(""+ТекущийДокумент()+", открыт в режиме редактирования = "+ОткрытВРежимеРедактирования);

// в ПриОткрытии()
    глПроверкаРазрешенияРедактирования(Контекст);
    //[+]progadmin 2026-04-07 22:12 добавлено нетиповое
    Если ОткрытВРежимеРедактирования = Форма.ТолькоПросмотр() 
    Тогда // был открыт в режиме редактирования, а потом переклбчили в режим просмотра
      СтатусВозврата(0);
      ОткрытьФорму(ТекущийДокумент(),,1);
      Возврат;
    КонецЕсли;    
    //[+]_progadmin 2026-04-07 22:12 добавлено нетиповое

Дата запрета редактирования = 01.01.2026
Реализация  П000001415 (15.03.2026), открыт в режиме редактирования = 1
Реализация  П000008698 (31.12.2025), открыт в режиме редактирования = 1
Реализация  П000008698 (31.12.2025), открыт в режиме редактирования = 0
#56
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Харлампий Дымба - 07 апреля 2026, 22:17
Цитата: Злоп от 07 апреля 2026, 21:59Никакие программные установки режима просмотра еще не отрабатывали, форма изначально открыта в режиме просмотра (из меню или программно с передачей параметра режима открытия = просмотр.
Да. Осталось малость: положить этот код в локальном ПриОткртыии в 100 документов и 100 справочников и в несколько разных нетленок. Выход - глобальная ПриОткрытии. А её нету. Вот если бы Ёпрст убедил 2 года назад АЛьФа при анонсе формекса 2.0.5.194, что:
  • -перед
  • -вместо
  • -после
для предопределенных процедур это здОрово, то задачу можно было бы легко решить.



#57
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Харлампий Дымба - 07 апреля 2026, 22:09
Цитата: Злоп от 07 апреля 2026, 21:27Поставьте в настройках "режим открытия = Просмотр", при энтере или жмаком мышью на документе будет открываться на просмотр. шифт+энтер - на редактирование.
Я не для себя - то для друга) Для 100500 пользователей.
Перехват команд вообще не вариант - куча способов открыть документ/элемент: расшифровка отчетов, меню, мышка, свои кнопки на формах. Это прям очень сильно надо заморочится.


Задача была простая: если после ПриОткрытии у формы ТолькоПросмотр()=1 и она открыта на запись, то закрыть и открыть на чтение.

Замечание: ТолькоПросмотр()=1 может быть по миллиону причин - право доступа "Корректировка" в конфгируторе, программный контроль прав доступа, служебные объекты только для избранных, открыженные документы, дата запрета, форма открыта в режиме просмотра, временный период блокировки для корректировки некоторых данных, принадлежность центр-переферийка и т.д.
Все варианты в глобальной ПриОткрытии не предусмотришь. Поэтому захотелось сделать красиво. Пока не получилось.

#58
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 22:09
// модуль формы
ОткрытВРежимеРедактирования = 1-Форма.ТолькоПросмотр();

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

???
#59
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Злоп - 07 апреля 2026, 21:59
Если в модуле формы (внизу, после всех процедур/функций самым первым оператором
получаем что Форма.ТолькоПросмотр()=1 - еще ни одна предопределенная процедура не выполнялась.
Этот код отрабатывает самым первым, при инийиализации модуля формы.
Никакие программные установки режима просмотра еще не отрабатывали, форма изначально открыта в режиме просмотра (из меню или программно с передачей параметра режима открытия = просмотр.
.
?
#60
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Харлампий Дымба - 07 апреля 2026, 21:48
Цитата: Злоп от 07 апреля 2026, 09:15то у меня спокойно открываются две формы документа - одна на редактирование и одна в режиме просмотра
Ну да, только требуется ровно обратное - открыть форму в режиме чтения когда в ПриОткрытии Форма.ТолькоПросмотр() = 1.

Если Форма.ТолькоПросмотр() = 1 Тогда
    ОткрытьФорму(ТекущийДокумент(),,1);//портал в бесконечный цикл открытий
КонецЕсли;