Имя: Пароль:
1C
1С v8
Подскажите, почему на тонком клиенте не проводятся движения по регистру?
0 Ivan_495
 
15.09.14
17:19
Подскажите, почему на тонком клиенте не проводятся движения по регистру?
&НаКлиенте
Процедура ОбработкаПроведения(Отказ, Режим)
    Провести(Ссылка);
КонецПроцедуры

&НаСервере
Процедура Провести(Ссылка)
    
    НаборЗаписей = РегистрыСведений.Спецификации.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
      
    Для Каждого Стр ИЗ Ссылка.Спецификация  Цикл
        Запись = НаборЗаписей.Добавить();
        Запись.Период = Ссылка.Дата;
        Запись.Номенклатура = Ссылка.Номенклатура;
        Запись.Сырье=Стр.Сырье;
        Запись.Количество=Стр.Количество;
        
    КонецЦикла;    
    
    НаборЗаписей.Записать();
    
КонецПроцедуры;
1 Wobland
 
15.09.14
17:20
в ссылке что-то левое
2 Asmody
 
15.09.14
17:21
&НаКлиенте
Процедура ОбработкаПроведения(Отказ, Режим)

это где так принято писать?
3 Fragster
 
гуру
15.09.14
17:22
это в модуле формы, чтоле?
4 Classic
 
15.09.14
17:23
(2)
На форме видать
5 Ivan_495
 
15.09.14
17:26
(1) в Ссылке
Ссылка    Спецификация 000000001 от 15.09.2014 17:30:54    ДокументСсылка.Спецификация
6 Ivan_495
 
15.09.14
17:27
в модуле объекта
7 Wobland
 
15.09.14
17:29
ОбработкаПроведения не срабатывает
8 Asmody
 
15.09.14
17:31
(6) Объекты существуют _только_ на сервере!
9 Ivan_495
 
15.09.14
17:31
http://kb.mista.ru/article.php?id=267
вроде все как здесь
10 Euguln
 
15.09.14
17:32
(0) >>не проводятся движения по регистру
Расшифруй. Выдает ошибку, нет записей в регистре, валится в дамп???
11 Wobland
 
15.09.14
17:34
(9) это вместо того, чтобы просто записать документ, ты полез в поиск и он нашёл тебе совсем не то?
12 Ivan_495
 
15.09.14
17:36
(10) нет записей в регистре
13 Euguln
 
15.09.14
17:37
(12) Дай угадаю, регистр периодический по позиции регистратора?
14 lodger
 
15.09.14
17:38
(9) "из модуля документа" на мысли не наводит?
15 Euguln
 
15.09.14
17:39
(13) + Режим записи "Подчинение регистратору"?
16 Ivan_495
 
15.09.14
17:40
(13) да
17 Ivan_495
 
15.09.14
17:40
(15) да
18 Euguln
 
15.09.14
17:40
(16) см (14)
19 Ivan_495
 
15.09.14
18:49
написал в модуле формы
&НаСервере
Процедура Провести(Ссылка)
    
НаборЗаписей = РегистрыСведений.Спецификации.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
      
    Для Каждого Стр ИЗ Ссылка.Спецификация  Цикл
        Запись = НаборЗаписей.Добавить();
        Запись.Период = Ссылка.Дата;
        Запись.Номенклатура = Ссылка.Номенклатура;
        Запись.Сырье=Стр.Сырье;
        Запись.Количество=Стр.Количество;
        
    КонецЦикла;    
    
    НаборЗаписей.Записать();
    
    
КонецПроцедуры    


&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
    //Вставить содержимое обработчика
    Провести(Объект.Ссылка);
КонецПроцедуры


Вроде работает.
Правильно?
20 Wobland
 
15.09.14
18:59
(19) теперь запиши документ второй раз и больше так не делай
21 Ivan_495
 
15.09.14
19:02
(20) ты про очистку движений до проведения?
22 Wobland
 
15.09.14
19:03
(21) но это не главное
23 Wobland
 
15.09.14
19:03
проведения тут вообще нет, кстати
24 Ivan_495
 
15.09.14
19:04
(22) что главное?
25 Wobland
 
15.09.14
19:05
(24) узнай, как проводить документ, как движения формировать
26 Ivan_495
 
15.09.14
19:07
в толстом клиенте делалось при обработке проведения в модуле документа
27 Ivan_495
 
15.09.14
19:07
=в модуле объекта
28 Wobland
 
15.09.14
19:07
(26) в управляемом режиме это делается на сервере
29 Ivan_495
 
15.09.14
19:08
о модуле менеджера речь?
30 Ivan_495
 
15.09.14
19:08
ну я так и делаю на сервер
&НаСервере
Процедура Провести(Ссылка)
    
НаборЗаписей = РегистрыСведений.Спецификации.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
      
    Для Каждого Стр ИЗ Ссылка.Спецификация  Цикл
        Запись = НаборЗаписей.Добавить();
        Запись.Период = Ссылка.Дата;
        Запись.Номенклатура = Ссылка.Номенклатура;
        Запись.Сырье=Стр.Сырье;
        Запись.Количество=Стр.Количество;
        
    КонецЦикла;    
    
    НаборЗаписей.Записать();
    
    
КонецПроцедуры    

&НаСервере
Процедура ОтменитьПроведение(Ссылка)
    
НаборЗаписей = РегистрыСведений.Спецификации.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    
    
    НаборЗаписей.Записать();
    
    
КонецПроцедуры    



&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
    //Вставить содержимое обработчика
    ОтменитьПроведение(Объект.Ссылка);
    Провести(Объект.Ссылка);
КонецПроцедуры
31 Wobland
 
15.09.14
19:10
(30) срочно в букварь
32 Ivan_495
 
15.09.14
19:10
(20) или использовать стандартные общие модули?
33 Fram
 
15.09.14
19:17
(32) воспользуйся конструктором движений что ли
34 Ivan_495
 
15.09.14
19:19
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр Спецификации
    Движения.Спецификации.Записывать = Истина;
    Для Каждого ТекСтрокаСпецификация Из Спецификация Цикл
        Движение = Движения.Спецификации.Добавить();
        Движение.Период = Дата;
        Движение.Номенклатура = Номенклатура;
        Движение.Сырье = ТекСтрокаСпецификация.Сырье;
        Движение.Количество = ТекСтрокаСпецификация.Количество;
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
35 Wobland
 
15.09.14
19:20
не за что
36 Fram
 
15.09.14
19:21
(34) поздравляем. переходишь на следующий уровень )
37 Ivan_495
 
15.09.14
19:24
а как же слова наСервере и конструкция
Движение = Движения.Спецификации.Добавить();
38 Wobland
 
15.09.14
19:28
(37) модуль объекта по определнию исполняется на сервере
39 Ivan_495
 
15.09.14
19:36
так?
&НаСервере
Процедура Провести(Объект)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр Спецификации
    
    Объект.Движения.Спецификации.Записывать = Истина;
    Для Каждого ТекСтрокаСпецификация Из Объект.Спецификация Цикл
        Движение = Объект.Движения.Спецификации.Добавить();
        Движение.Период = Объект.Дата;
        Движение.Номенклатура = Объект.Номенклатура;
        Движение.Сырье = ТекСтрокаСпецификация.Сырье;
        Движение.Количество = ТекСтрокаСпецификация.Количество;
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры







&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
//    //Вставить содержимое обработчика
//    //ОтменитьПроведение(Объект.Ссылка);
    Провести(Объект);
КонецПроцедуры
40 Wobland
 
15.09.14
19:37
нет
41 Ivan_495
 
15.09.14
19:39
(40) что не так?
42 Wobland
 
15.09.14
19:40
(41) почитай Радченко лучше, потрать пару недель
43 Ivan_495
 
15.09.14
19:45
подскажите, где должен находиться код по формированию движений в УФ?
44 Wobland
 
15.09.14
19:46
(43) в модуле документа
45 Fram
 
15.09.14
19:50
(43) удали все, что наделал сам, и оставь то, что сделал конструктор
46 Fram
 
15.09.14
19:52
(43) боюсь спросить как ты делал движения документа в обычных формах
47 Ivan_495
 
15.09.14
19:53
(46) конструктор пишет в модуль объекта
48 Ivan_495
 
15.09.14
19:57
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр Спецификации
    Движения.Спецификации.Записывать = Истина;
    Для Каждого ТекСтрокаСпецификация Из Спецификация Цикл
        Движение = Движения.Спецификации.Добавить();
        Движение.Период = Дата;
        Движение.Номенклатура = Номенклатура;
        Движение.Сырье = ТекСтрокаСпецификация.Сырье;
        Движение.Количество = ТекСтрокаСпецификация.Количество;
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры

добавил в модуль объкта, все работает, как в обычных формах
49 Ivan_495
 
15.09.14
19:59
(46) почему тогда говорят, что код должен быть в модуле документа?
50 Wobland
 
15.09.14
20:07
(49) документ - частный случай объекта ;)
51 Злопчинский
 
15.09.14
20:10
Поясните, плиз, кому не в лом мохнатому чайнику
.
НаборЗаписей = РегистрыСведений.Спецификации.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
.
какое назначение у оператора
НаборЗаписей.Прочитать()
.
как-то мну непривычно - создать набор записей и его тут же еще и надо "прочитать"..?
.
спсб
52 Wobland
 
15.09.14
20:11
(51) набор записей создаётся пустым. если сразу записать, данные пропадут. все
53 Wobland
 
15.09.14
20:13
(52) ну не все, а те, которые соответствуют отбору. которого может и не быть ;)
54 Ivan_495
 
15.09.14
20:15
Fram подскажи если обработка проведения размещена в модуле объекта, код выполняется на сервере?
55 Злопчинский
 
15.09.14
20:16
(52) > набор записей создаётся пустым.
- это я готов понять.. ;-)
.
все равно непонятно - для чего Прочитать()... ;-(
56 Ivan_495
 
15.09.14
20:17
значит в УФ как и в обычных обработка проведения размещается в модуле объекта?
57 Ivan_495
 
15.09.14
20:17
а я все хотел прописать чтоб на сервер выполнялось
58 Wobland
 
15.09.14
20:17
(55) чтоб не затирать имеющееся
59 Злопчинский
 
15.09.14
20:21
(58) ух, е!
60 Ivan_495
 
15.09.14
20:23
56? 57?