Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

реквизит записывается только со второго раза

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


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

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

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

Хотя может и не принципиально важно в твоем случае
   Naill
 
13 - 14.03.19 - 15:52
послушаю

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.