Имя: Пароль:
1C
1С v8
реквизит записывается только со второго раза
0 1С junior
 
14.03.19
14:32
Добрый день!
у документа есть реквизит ВестиВетУчет (тип булево)
в табличной части Товары этого документа заполняется номенклатура
у каждой номенклатуры тоже есть признак ам_ВестиВетеринарныйУчет (тип булево)
в модуле объекта документа в процедуре ПередЗаписью пишу обработку


    Запрос = Новый Запрос;
    Запрос.Текст =
    
    "ВЫБРАТЬ
    |    МАКСИМУМ(РеализацияТоваровУслугТовары.Номенклатура.ам_ВестиВетеринарныйУчет) КАК ВестиВетУчет
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        
        ВестиВетУчет = Выборка.ВестиВетУчет;
        
    КонецЕсли;
    

Проблема такая - добавляю номенклатуру, в которой ам_ВестиВетеринарныйУчет = Истина, записываю документ, на форме документа галочка проставляется сразу, а на форме списка - проставляется только после повторной записи
тоже самое происходит и если убрать номенклатуру с ам_ВестиВетеринарныйУчет = Истина, галочка на форме документа снимается сразу а на форме списка только со второй записью.
помогите, уже во всевозможные процедуры записи пихал эту проверку
1 АнализДанных
 
14.03.19
14:33
(0) А если F5 нажать на форме списка, после первой записи?
2 RomanYS
 
14.03.19
14:34
Список нужно просто обновить? Или оповестить, если ты хочешь автообновления
3 Масянька
 
14.03.19
14:37
Такой фишки ни у кого нет... А у нас есть!
4 RomanYS
 
14.03.19
14:38
(3) Это про что сейчас?
5 1С junior
 
14.03.19
14:38
(1) (2) нет, список я обновляю, результат на форме списка есть именно при повторной записи только е
6 Масянька
 
14.03.19
14:40
(4) Про обновление списка.
7 RomanYS
 
14.03.19
14:41
(5) Точно ПередЗаписью, может всё-таки в ПриЗаписи засунул?
8 RomanYS
 
14.03.19
14:45
(0) Я понял!
"добавляю номенклатуру" - так в базе этих данных еще нет в ПередЗаписью. Нужен запрос по номенклатуре объекта, в Документ.РеализацияТоваровУслуг.Товары данных ещё нет
9 RomanYS
 
14.03.19
14:46
+(8) только непонятно как это у тебя работает "на форме документа галочка проставляется сразу"
10 1С junior
 
14.03.19
15:15
(7) точно
(8) отличная мысль. спасибо огромное, я понял куда копать
11 1С junior
 
14.03.19
15:37
(8) переписал запрос и все стало нормально, спасибо
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    МАКСИМУМ(Номенклатура.ам_ВестиВетеринарныйУчет) КАК ВестиВетУчет
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Ссылка В(&СписокНоменклатуры)";
    Запрос.УстановитьПараметр("СписокНоменклатуры", ЭтотОбъект.Товары.ВыгрузитьКолонку("Номенклатура"));
12 RomanYS
 
14.03.19
15:47
(11) можно без группировки
...
"ВЫБРАТЬ
|    Номенклатура.ам_ВестиВетеринарныйУчет КАК ВестиВетУчет
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|    Номенклатура.Ссылка В(&СписокНоменклатуры)
|    И Номенклатура.ам_ВестиВетеринарныйУчет"
...

Результат = Запрос.Выполнить();
ВестиВетУчет = НЕ Результат.Пустой();

Хотя может и не принципиально важно в твоем случае
13 Naill
 
14.03.19
15:52
послушаю
AdBlock убивает бесплатный контент. 1Сергей