Имя: Пароль:
1C
1C 7.7
v7: Операция в журнале документов 1с 7.7
0 lysk
 
22.01.25
17:09
Господа! Вынужден просить помощи, ибо не нашел толкового объяснения. В журнале документов необходимо отобразить некоторые данные из документа "операция" (Это ПУБ, если что). Но стандартными документированными средствами поиметь реквизиты операции не получается. Хочу в журнале документов добавить графу, и в формуле этой графы 1.Определить вид документа, который отображается в строке. 2. Если это "операция" получить некоторый реквизит из операции. Буду весьма благодарен. В доступных источниках решения не нашел, так, пара слов типа "это всем известно..."
1 Злоп
 
22.01.25
17:33
Не делайте ручные проводки Операцией.
Делайте документом "бух.справка", которая по сути и есть ручная операция с проводками.
2 Злоп
 
22.01.25
17:34
Если документа бухсправка в ПУБ нет - выдрать их бухии и включить в еконфигу пуба
3 Builder
 
22.01.25
17:37
"Но стандартными документированными средствами поиметь реквизиты операции не получается" - какими методами пробовали????
4 lysk
 
22.01.25
17:59
При конфигурировании журнала окошко есть для отбора документов и реквизитов из документов. Но документа "Операция" там нет. Хотя в дереве конфигурации "Операция" присутствует в "Документах". И еще, как отдельный объект метаданных. Т.е. дважды.
5 lysk
 
22.01.25
18:08
На других форумах  я встречал совет: Вставить новую графу в журнал (это получается). И в формуле реквизита пропишите любые действия. Я только хочу понимать, как в формуле или функции, записанной в формуле получить документ, который отображается в строке журнала.
6 Builder
 
22.01.25
18:26
(5) ТекущийДокумент или ТекущийДокумент(), точно не помню.
Или ТекущийДокумент.Операция.
А дальше с операцией работать.
7 AAA
 
22.01.25
18:56
в ПУБ и бухсправку лучше не применять. Конфигурация построена на регистрах, в итоге очень быстро получите расхождение оперативного учета с бухучетом. Бух-ры будут кричать, что 60 ый не идет )
8 AutoAns
 
22.01.25
20:41
(5) ну... типа такого?

Функция ФормулаГрафыДоп()

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

    Конецесли;

    Возврат рез;
КонецФункции
9 lysk
 
22.01.25
21:49
(8) Спасибо! Именно то, что было и нужно!
10 AutoAns
 
22.01.25
22:22
(8) off
никак не вспомню как выделить текст кода 1с.
попробую тут через 1С в квадратных скобках:

Функция ФормулаГрафыДоп()
    рез = "";
    Если ТекущийДокумент.Выбран() = 1
    Тогда
        текОп = ТекущийДокумент.Операция;
        рез = "" + текОп.СуммаОперации + ", " + текОп.Содержание;
    Конецесли;
    Возврат рез;
КонецФункции
11 lysk
 
22.01.25
23:13
(10) Спасибо, и с (8) примера взлетело!. Единственное, вставил проверку, не у всех документов бывает операция, например, у договоров ее нет.
12 mishaPH
 
23.01.25
09:21
(11) документ договор??
13 lysk
 
23.01.25
13:05
(12) Да, в ПУБ так
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.