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

#61
7.7 / Re: Понять в каком режиме отк...
Последний ответ от Харлампий Дымба - 04 апреля 2026, 12:23
Полностью задача:
Форма.ТолькоПросмотр(1) и открытие в режиме просмотра - разные вещи и глобально (блокировка объекта на запись) и в нюансах работы с формой (вот тут интересно, надо будет поковыряться на досуге).
Есть желание сделать что-то универсально, чтобы если в ПриОткрытии было установлено Форма.ТолькоПросмотр(1) (дата запрета редактирования документа, статус сверки, другие проверки) форма просто переоткрывалася в режиме просмотра.

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

Варианты чуть посложнее есть:
Анализировать изменение Форма.ТолькоПросмотр() ПередОткрытием и ПослеОткрытия выглядит самым простым (если не считать необходимости контролить, а один и тот же контекст в обоих этих вызовах?)

Цитата: trad от 03 апреля 2026, 21:58Блокировка(1)
Блокировка(1) - там будут нюансы, связанные с тем, что открытую форму операции она считает блокировкой документа и наоборот. Плюс открытия форм с меткой (несколько к одному объекту). В целом, возможно рабочий вариант.

Думал ещё про Записать() в транзакции - мне не нравится. И сомневаюсь, что работает.

Цитата: item от 04 апреля 2026, 00:34Форма.ТолькоПросмотр()
Форма.ТолькоПросмотр() будет давать 1 в обоих случаях и если форма изначально была открыта в режиме просмотра и если ПриОткрытии для формы был установлен флаг Форма.ТолькПросмотр(1), а это, как я писал выше, может быть 2 большие разницы.

#62
7.7 / Re: Понять в каком режиме отк...
Последний ответ от item - 04 апреля 2026, 00:34
Форма.ТолькоПросмотр()

Если 1, можно изменить любой реквизит, если получилось, значит не в просмотре
#63
7.7 / Re: Понять в каком режиме отк...
Последний ответ от trad - 03 апреля 2026, 21:58
СоздатьОбъект
НайтиДокумент
Блокировка(1)
Так не получится?
#64
7.7 / Понять в каком режиме открыта...
Последний ответ от Харлампий Дымба - 03 апреля 2026, 20:48
Есть ли простой способ (можно с  Formex) из формы элемента/документа понять в каком режиме она открыта - на просмотр или на изменение?
#65
FormEx / Re: Хотелка: АтрибутФормы.Выпо...
Последний ответ от alyuev - 02 апреля 2026, 11:35
А мы вместо турбомд используем MD_CHANGER - там сразу весь МД подменяется налету.
#66
FormEx / Re: Хотелка: АтрибутФормы.Выпо...
Последний ответ от item - 01 апреля 2026, 18:40
Цитата: item от 20 марта 2026, 00:59Возможно, версия 1.0.0.2 тоже работает...
Версия турбомд 1.0.0.2 не стабильная, падает система ПриОткрытии в случае выполнения черного запроса.
Причем падение стабильное, в момент запроса.
#67
7.7 / Класс JSON
Последний ответ от SnakePlisskin - 27 марта 2026, 16:19
Господа доброго времени суток!
Использую класс JSON от уважаемого Трапезникова Дмитрия.
Столкнулся для себя с непоняткой.
Нужно сформировать JSON для отправки на сайт вот такого вида :
{
  "stocks": [
    {
      "productSku": "47.300.15",
      "pointId": "А001",
      "quantity": 300,
      "price": 298.90,
      "name": "Название 1"
    },
    {
      "productSku": "11110509402MULD000000000",
      "pointId": "А002",
      "quantity": 25,
      "price": 3000.14,
      "name": "Название 2"
    }
  ]
}

Все данные собрал запросом далее в цикле просто формирую выходной файл, делаю вот так :

   Данные = СоздатьОбъект("Структура");
   Данные.Вставить("stocks",СоздатьОбъект("СписокЗначений"));
   
   СчетчикСтрок = 1;
   ВсегоСтрок = тзОстатков.КоличествоСтрок();
   тзОстатков.ВыбратьСтроки();
   Пока тзОстатков.ПолучитьСтроку() = 1 Цикл
      глПрогрессор("Идет формирование файла выгрзуки",ВсегоСтрок,СчетчикСтрок);
      текОстаток = тзОстатков.quantity;
      Если текОстаток = 0 Тогда
         Продолжить;
      КонецЕсли;
      текЦена = тзОстатков.price;
      Если текЦена = 0 Тогда
         Продолжить;
      КонецЕсли;
      Элемент = СоздатьОбъект("Структура");
      Элемент.Вставить("productSku", СокрЛП(тзОстатков.productSku));
      Элемент.Вставить("pointId", "A013");
      Элемент.Вставить("quantity", текОстаток);
      Элемент.Вставить("price", тзОстатков.price);
      Элемент.Вставить("name", СокрЛП(тзОстатков.name));
      Данные.stocks.ДобавитьЗначение(Элемент);
      СчетчикСтрок = СчетчикСтрок + 1;

   КонецЦикла;
      
   ИмяФайла = "upload";
   Путь = СокрП(КаталогПользователя());
   
   // **** РАБОТА С КЛАССОМ ****   
   JSON = СоздатьОбъект("JSON");
   JSON.СохранитьJSON(Путь+ИмяФайла+".json", Данные, 3);

Файл сохраняется но в нем отсутствует объект "stocks", элементы просто идут одним списком, естественно получаю отлуп при отправке такого файла. Вопрос, что я делаю не так ?

#68
FormEx / Re: ИД формы - как получить?
Последний ответ от Злоп - 27 марта 2026, 12:46
Ждем...
Ибо неудобно без метки в ряде случаев...
#69
7.7 / Re: Ручное обновление базы SQL...
Последний ответ от Ветер в поле - 23 марта 2026, 18:04
Цитата: ADirks от 23 марта 2026, 11:38Да, именно этой обработкой пользуюсь. Когда и откуда я её брал - убей не помню :)
Никаких проблем не было, но и случаев сложных не было. В основном добавить/удалить поле в документе.

Обработку публиковал на форуме 1cpp.ru Больше нигде.
Рад, что получилось воспользоваться. Опасался, что у меня не получилось доступно донести методику обновления. С другой стороны, сама технология подразумевает, что пользователь и сам может написать нечто подобное, просто нет времени. У меня на разработку и последующую доработку ушло более 120 часов. Просто не было других вариантов обновиться. У нас медицинская организация с круглосуточным графиком работы и более нескольких часов на обновление никто не даст.
#70
7.7 / Re: Ручное обновление базы SQL...
Последний ответ от ADirks - 23 марта 2026, 11:38
Цитата: Ветер в поле от 23 марта 2026, 11:25
Цитата: ADirks от 23 марта 2026, 07:12Большое спасибо за проделанную работу!
Время от времени пользуюсь.

Пользуетесь именно моей обработкой? Были какие-нибудь сложности?
Да, именно этой обработкой пользуюсь. Когда и откуда я её брал - убей не помню :)
Никаких проблем не было, но и случаев сложных не было. В основном добавить/удалить поле в документе.