Имя: Пароль:
1C
1С v8
помощь при изменений документы
,
0 ZADR
 
11.04.13
14:35
помоги с обработкой, есть документ и там есть реквизит ДатаАудит.
надо при помощи обработчика выбрать документы и там же выбрать нужную дату для ДатаАудит.
вот код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
        выбрать = документы.ПоступлениеТоваровУслуг.Выбрать(Дата1, КонецДня(Дата2));    
        Пока выбрать.Следующий() Цикл
        документ = выбрать.ПолучитьОбъект();
       
           Для Каждого ВыбранныйДокумент Из документ Цикл
           ВыбранныйДокумент.ДатаАудита = ДатаАудита1;
           
        КонецЦикла;
        КонецЦикла;
   
        документ.Записать();
КонецПроцедуры
1 ZADR
 
11.04.13
14:36
Ошибка в строке:
Для Каждого ВыбранныйДокумент Из документ Цикл

я не могу выбрать ДатаАудит который на документе...и поэтому не работает
ВыбранныйДокумент.ДатаАудита = ДатаАудита1;
2 Nina2005
 
11.04.13
14:40
что то я не понимаю, что это за цикл
Для Каждого ВыбранныйДокумент Из документ Цикл
3 Nina2005
 
11.04.13
14:41
может так

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
        выбрать = документы.ПоступлениеТоваровУслуг.Выбрать(Дата1, КонецДня(Дата2));    
        Пока выбрать.Следующий() Цикл
        документ = выбрать.ПолучитьОбъект();
        документ.ДатаАудита = ДатаАудита1;
           
       КонецЦикла;
   
        документ.Записать();
КонецПроцедуры
4 bruss007
 
11.04.13
14:44
(3) Ну он и запишет последний.
5 Fedot200
 
11.04.13
14:45
(0) А зачем выборку документов делать как в клюшках?
6 ZADR
 
11.04.13
14:45
(3) нет, так не получится... я так делал, ниче не меняет...
7 ZADR
 
11.04.13
14:45
(5) в смысле?
8 Fedot200
 
11.04.13
14:46
(7) всмысле - в 8-ке приветсвуются запросы :-)
9 ZADR
 
11.04.13
14:47
если
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
        выбрать = документы.ПоступлениеТоваровУслуг.Выбрать(Дата1, КонецДня(Дата2));    
        Пока выбрать.Следующий() Цикл
        документ = выбрать.ПолучитьОбъект();
       
            Для Каждого ВыбранныйДокумент Из документ.товары Цикл
           ВыбранныйДокумент.Цена = Цена;
           
        КонецЦикла;
        КонецЦикла;
   
        документ.Записать();
КонецПроцедуры


все работает, а на ДатаАудита указать не могу...
10 Fedot200
 
11.04.13
14:49
(9) В смысле на "а на ДатаАудита указать не могу"?
11 bruss007
 
11.04.13
14:49
выбрать = документы.ПоступлениеТоваровУслуг.Выбрать(Дата1, КонецДня(Дата2));    
        Пока выбрать.Следующий() Цикл
        документ = выбрать.ПолучитьОбъект();
документ.ДатаАудита = ДатаАудита1;
       
            Для Каждого стр Из документ.товары Цикл
           стр.Цена = Цена;
           
        КонецЦикла;
        документ.Записать();
        КонецЦикла;
12 ZADR
 
11.04.13
14:55
в том и дело что ДатаАудит находится не в товарах... реквизит ДатаАудит находится рядом с Дата
13 Nina2005
 
11.04.13
14:56
(12) а "ДатаАудита" - это реквизит документа? или реквизит формы?
14 ZADR
 
11.04.13
14:58
(13)документа
15 Анна_84
 
11.04.13
14:59
(12)

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
выбрать = документы.ПоступлениеТоваровУслуг.Выбрать(Дата1, КонецДня(Дата2));    

   Пока выбрать.Следующий() Цикл
       документ = выбрать.ПолучитьОбъект();
       документ.ДатаАудита = ДатаАудита1;
       документ.Записать();  
   КонецЦикла;
         
КонецПроцедуры
16 pessok
 
11.04.13
14:59
в (0) форменная пятница. Что ты хочешь обходить во вложенном цикле? Если таблицу, то укажи какую таблицу обходить, если не надо, то убери цикл вообще и обращайся к реквизиту
17 ZADR
 
11.04.13
15:03
(15) получилось, спасибо...
18 Fedot200
 
11.04.13
15:05
Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    ПоступлениеТоваровУслугТовары.Ссылка.ДатаАудит КАК ДатаАудит,
   |    ПоступлениеТоваровУслугТовары.Цена
   |ИЗ
   |    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
   |ГДЕ
   |    ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца";
   Запрос.УстановитьПараметр("ДатаКонца",НачалоДня(Дата1));
   Запрос.УстановитьПараметр("ДатаНачала",КонецДня(ДатаНачала));
   Результат = Запрос.Выполнить().Выгрузить();
   
   Для каждого стр ИЗ Результат Цикл
       
       
   КонецЦикла;

А если так делать быстрее будет, чем (0)?
19 Fedot200
 
11.04.13
15:06
+ (18) это если цена нужна :-)
20 Анна_84
 
11.04.13
15:09
(19) не пугайте человека такими страшными вещами :)
21 Лефмихалыч
 
11.04.13
15:12
(18)  тогда уж добавил бы
ГДЕ
 ДатаАудит <> &ДатаАудит1
22 salvator
 
11.04.13
15:23
(0) Открой для себя стандартную обработку "Групповая обработка справочников и документов"
23 Fedot200
 
11.04.13
15:28
(21) а ему нужно с определенной датойаудит, не вкурил :-)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.