|   |   | 
| 
 | На сервере получить реквизиты формы Мультук, Fish, piter3, DemonShinji2, Гипервизор, rozer76, DimVad, DiMel_77, KJlag, Климов Сергей, 1Снеговик, программистище, butterbean, Crusher, okmail, Silgis, Доминошник, X Leshiy, sxfoxi, ptiz, tir654, Somebody, Terrixus, OldCondom, Shurjk, Fregat, Dzenn, Rovan, RomanYS, vsy, mszsuz, Has, Trucker, Prog_man, DimR_71, TormozIT, abfm, Кукуев, ads55, palsergeich, Chameleon1980, Tarlich | ☑ | ||
|---|---|---|---|---|
| 0
    
        Chameleon1980 30.07.25✎ 15:32 | 
        Приветствую всех!
 А нельзя как-то получить реквизиты формы (не объекта) на сервере? Есть реквизиты добавленные (не программно) на форму и их нужно получить Метаданные.Документы.ЗаказКлиента.Формы.ФормаДокумента не дает информации о реквизитах только основные данные, а мне бы узнать, что вытащили на форму еще. | |||
| 1
    
        mikecool 30.07.25✎ 15:41 | 
        так уйди в серверный метод формы и читай ЭтаФорма.Реквизит     | |||
| 2
    
        Chameleon1980 30.07.25✎ 15:44 | 
        поправка - я не в форме, я вообще в РЗ, например. мне нужно по имени формы документа получить ее реквизиты (не путать с метаданные документа).     | |||
| 3
    
        Chameleon1980 30.07.25✎ 15:45 | 
        у меня нет формы - мне нужны реквизиты, которые натыкали мышкой и не только от объекта     | |||
| 4
    
        Fish гуру 30.07.25✎ 15:47 | 
        (3) Если реквизиты формы не сохраняются в БД, то они тебе не нужны.     | |||
| 5
    
        Fish гуру 30.07.25✎ 15:49 | 
        (3) Если нет формы, то где тогда натыкали мышкой?     | |||
| 6
    
        Chameleon1980 30.07.25✎ 15:49 | 
        вот это мне как получить без формы, но форма в составе документа в конфигурации     
 | |||
| 7
    
        maxab72 30.07.25✎ 15:50 | 
        (3) ну... можно влезть в сохраненные настройки пользователя и начать их разгребать.     | |||
| 8
    
        Fish гуру 30.07.25✎ 15:50 | 
        (6) Зачем тебе они нужны? Что ты хочешь от них получить?     | |||
| 9
    
        RomanYS 30.07.25✎ 15:51 | 
        (3)  Отмена, на сервере конечно работать не будет | |||
| 10
    
        Chameleon1980 30.07.25✎ 15:50 | 
        (5) на руках у меня нет формы. я на сервере вне формы.
 (4) мне нужны - в тч документа есть реквизиты, которые считаются динамически, но мне нужно их знать в другой обработке для заполнения формул расчета, например. | |||
| 11
    
        Chameleon1980 30.07.25✎ 15:51 | 
        (9) где создай форму? на сервере?     | |||
| 12
    
        Chameleon1980 30.07.25✎ 15:51 | 
        (8) читай (10)     | |||
| 13
    
        Fish гуру 30.07.25✎ 15:52 | 
        +(8) Если по тупому, то как-то так:
 Форма = ПолучитьФорму(Твояформа); РеквизитФормы = Форма.ТвойЛевыйРеквизит. Только это тебе ничего не даст. | |||
| 14
    
        Fish гуру 30.07.25✎ 15:53 | 
        (10) Ну так и читай данные из ТЧ документа по ссылке.     | |||
| 15
    
        Chameleon1980 30.07.25✎ 15:53 | 
        (13) да нельзя Форма = ПолучитьФорму(Твояформа); 
 интерактивные ... бла бла | |||
| 16
    
        Fish гуру 30.07.25✎ 15:55 | 
        (15) Ты так и не ответил на вопрос зачем.
 В (10) написан бред. | |||
| 17
    
        Chameleon1980 30.07.25✎ 15:56 | 
        (14) там только реквизиты объекта блин, мне нужны сверх реквизитов объекта     | |||
| 18
    
        Chameleon1980 30.07.25✎ 15:58 | 
        (16) просто ты не додумал.
 смотри. мне во вне нужно знать, какие колонки будут потом в форме для написания формул расчета строки ТЧ. вот есть у тебя добавленная в тч колонка, которая считается другим механизмом в форме (не хранится в документе) мне нужно, условно в справочнике хранить формулу, ссылающуюся на эту "не родную" колонку, для своих расчетов. короче не важно зачем. я задал вопрос и вижу демагогию. спасибо. | |||
| 19
    
        Fish гуру 30.07.25✎ 15:58 | 
        (17) Зачем они нужны? Когда ты сможешь ответить на этот вопрос, ты поймешь, что тебе не нужны реквизиты формы.     | |||
| 20
    
        Chameleon1980 30.07.25✎ 15:59 | 
        (19) решу по-другому. пропишу, как сейчас есть.
 Спасибо всем за участие. | |||
| 21
    
        craxx 30.07.25✎ 16:01 | 
        (0) ЗУП? кадровый блок?     | |||
| 22
    
        Fish гуру 30.07.25✎ 16:01 | 
        (18) Ну и кто тебе мешает рассчитать эти данные так же, как это считается в форме?
 Данные, существующие только на форме, для сервера не имеют смысла. Представь, ты выполняешь своё РЗ, в этот момент у 10-ти пользователей открыта твоя форма и у каждого в ней свои данные. И что ты собираешься получать? | |||
| 23
    
        Chameleon1980 30.07.25✎ 16:06 | 
        (22) да мне просто имена реквизитов ТЧ на текущий момент нужны.
 да - имена реквизитов можно взять через метаданные тч документа, но там не все - там нет добавленных вне объета. для написания формул в другом месте. а потом эти формулы будут использоваться уже в форме так понятней? | |||
| 24
    
        Fish гуру 30.07.25✎ 16:06 | 
        (23) Ничего не понял. Кто мешает эти имена реквизитов посмотреть в конфигураторе и прописать в коде?     | |||
| 25
    
        Chameleon1980 30.07.25✎ 16:08 | 
        (24) да никто. так и сделаю. но завтра добавят еще реквизит.
 пока я узнаю, пока я допишу. да? хотел хитрее. ну ок | |||
| 26
    
        Chameleon1980 30.07.25✎ 16:09 | 
        нахера нам метаданные то тогда
 а в метаданных ведь не только то, что хранится в бд верно? а тут вот форма есть, но инфы - кот наплакал ФормаДокумента = Метаданные.Документы.ЗаказКлиента.Формы.ФормаДокумента; | |||
| 27
    
        Fish гуру 30.07.25✎ 16:17 | 
        (26) Можешь написать свой РС, и при первом открытии формы (инициализации) писать туда имена всех реквизитов формы.     | |||
| 28
    
        Chameleon1980 30.07.25✎ 16:24 | 
        (27) да - уже делаю     | |||
| 29
    
        Ненавижу 1С гуру 30.07.25✎ 16:31 | 
        Как можно не имея объекта формы узнать значения свойств этого  объекта?     | |||
| 30
    
        RomanYS 30.07.25✎ 16:33 | 
        (29) ему значения не нужны     | |||
| 32
    
        DiMel_77 31.07.25✎ 01:07 | 
        (0) Задача теоретически решаемая, но навряд ли вы будете заморачиваться...
 Вам необходимо прочитать таблицы метаданных конфигурации напрямую из БД. Сложный вариант: 1) Читаем файл "1a621f0f-5568-4183-bd9f-f6ef670e7090.si" из таблицы "Params". (распаковываем deflate). В нем содержатся имена записей в таблице "Config" (метаданных и GUID типа объекта метаданных, например 061d872a-5787-460e-95ac-ed74ea3a3e84 - Документы). 2) Делаете соответствие полного имени объекта метаданного и имя записи в таблице "Config". (Формы в этой таблице имеют постфикс ".0".) 3)Читаете файл хранения формы во внутреннем скобко-файле. Разбираете этот скобко файл на форму и модуль формы. Получаете все реквизиты, которые вам нужны. (разбор формата можно посмотреть в https://infostart.ru/1c/tools/106310/) Это если вы не хотите привязываться к конфигуратору и пакетному запуску. (у меня так работает анализ модулей форм на наличие подключения к подсистеме подключаемых команд). Простой вариант: Если не надо постоянно, а достаточно разово, то пакетный запуск конфигуратора и анализ выгрузки конфигурации в XML, с последующей записью результата анализа в регистр сведений. Либо вообще заполнить этот регистр создавая формы на клиенте через "ПолучитьФорму", а потом записывать результат в регистр сведений и в фоновом задании оперировать уже записанными в регистр данными. | |||
| 33
    
        Chameleon1980 31.07.25✎ 05:23 | 
        (32) спасибо большое.     | |||
| 34
    
        1Снеговик гуру 31.07.25✎ 09:36 | 
        "мне во вне нужно знать, какие колонки будут потом в форме" "которые натыкали мышкой"
 Что за бред? Если реквизиты нарисованы мышкой в конфигураторе, смотришь глазами и используешь в коде. Если пользователь натыкал что-то и сохранил, то это лежит где-то в данных объекта, при чем тут форма?. | |||
| 35
    
        Мультук гуру 31.07.25✎ 09:40 | 
        Допустим я иду в "Заказ покупателя", нажимаю "Изменить форму"
 и на таб.часть товары вытаскиваю реквизит "Код" из "Номенклатура" Это считается "натыкал мышкой" ? Вы это пытаетесь найти ? | |||
| 36
    
        программистище 31.07.25✎ 09:51 | 
        такие реквизиты обычно заполняются алгоритмом в модуле формы или вызывается серверный метод, значит надо проделать теже действия и получить данные для них, имея данные контекста формы
 а если они заполняются вручную, то и смысла нет | |||
| 37
    
        butterbean 31.07.25✎ 09:53 | 
        я все равно не понял - зачем нужны реквизиты формы, что с ними можно сделать, если нет рядом самой формы? какая польза от этого? а если форма все таки есть, то почему из нее не надергать всего что надо?     | |||
| 38
    
        Fish гуру 31.07.25✎ 10:12 | 
        (37) Видимо, нетленка какая-то.     | |||
| 39
    
        1Снеговик гуру 31.07.25✎ 11:00 | 
        (37) это признак того, что изначально решение с какими-то формулами пошло не туда, а теперь приходится изобретать велосипеды и спрашивать на форумах. 
 Сам вопрос в таком ключе должен заставить задуматься переделать все нафиг с нуля. | |||
| 40
    
        rozer76 31.07.25✎ 11:08 | 
        если БСП то ОбщегоНазначенияУТКлиентСервер.ДанныеПоПути
 Подробности// Возвращает значение реквизита формы или объекта по пути, заданному в виде строки. // // Параметры: // Объект - ДокументОбъект, СправочникОбъект, ФормаКлиентскогоПриложения - Объект или форма, из которой необходимо получить данные // ПутьКДанным - Строка - Путь к данным, например "Объект.Контрагент" // ИдентификаторСтроки - Строка - Уникальный идентификатор строки для случая получения данных из таблицы таблицы. // ЗначениеОтсутствия - Произвольный - Если путь к данным пустой, то возвращается данное значение // // Возвращаемое значение: // Произвольный - Значение реквизита // Функция ДанныеПоПути(Объект, Знач ПутьКДанным, Знач ИдентификаторСтроки = Неопределено, ЗначениеОтсутствия = Неопределено) Экспорт Если ПутьКДанным = "" Тогда Возврат ЗначениеОтсутствия; ИначеЕсли ТипЗнч(ПутьКДанным) <> Тип("Строка") Тогда Возврат ПутьКДанным; КонецЕсли; ЧастиПутиКДанным = СтрРазделить(ПутьКДанным, ".", Ложь); Данные = ДанныеПоЧастямПути(Объект, ЧастиПутиКДанным, ИдентификаторСтроки); Возврат Данные; КонецФункции | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |