Имя: Пароль:
1C
1C 7.7
v7: движения по регистрам
0 Новичёк123123
 
01.08.11
16:04
Здравствуйте, такой вопрос: есть документы "счет" из них происходит движение приход в регистр "РезервыПоАкциям"

Если Сред(НомерДок,4,1)="А" Тогда
       ДокРН=СоздатьОбъект ("Документ.РасходнаяНакладная");
       ДокРН=СсылкаНаРасходнуюНакладную;
       ВыбратьСтроки();
       Пока ПолучитьСтроку()=1 Цикл
           Регистр.РезервыПоАкциям.ПривязыватьСтроку(НомерСтроки);
           Регистр.РезервыПоАкциям.Товар=Товар;
           Регистр.РезервыПоАкциям.Ссылка=ТекущийДокумент();
           Регистр.РезервыПоАкциям.Количество=Количество;
           Регистр.РезервыПоАкциям.Контрагент=Контрагент;
           Регистр.РезервыПоАкциям.Склад=ДокРН.Склад;
           Регистр.РезервыПоАкциям.ДвижениеПриходВыполнить();
       КонецЦикла;            
   КонецЕсли;  

В конце месяца мы вытягиваем все данные из регистраПоАкциям Засовываем в табличную часть Документа Расходная накладная Товар и колличество(группируем по товару). И пытаемся провести движение расход, но почему то не взлетает.

Если Сред(НомерДок,4,1)="А" Тогда
       ВыбратьСтроки();
       Пока ПолучитьСтроку()=1 Цикл
           Регистр.РезервыПоАкциям.ПривязыватьСтроку(НомерСтроки);
           Регистр.РезервыПоАкциям.Товар=Товар;
           Регистр.РезервыПоАкциям.Количество=Количество;
           Регистр.РезервыПоАкциям.ДвижениеРасходВыполнить();
       КонецЦикла;            
   КонецЕсли;

В отчете как были цифры про проведения расходной накладной так и остались. Это не может быть из за того что выкинул из движения расход контрагента и склад и сгруппировал товар. И нормально ли как вариант в обработке проведения поставить запрос который вытягивал бы весь регистрПоАкциям и тут же проводил все вытянутое по расходу. Заранее спасибо)
1 __Se24
 
01.08.11
16:07
Попробуй посмотри , а делает ли документ движения ваапще ?
2 Новичёк123123
 
01.08.11
16:08
ну смотрел через отладчик вроде как делает. А есть ещё способ посмотреть?
3 __Se24
 
01.08.11
16:09
ага , правой кнопокой  в журнале . "Движения документа "
4 Kondarat
 
01.08.11
16:09
ПКМ по документу в журнале - Движения документа - выбираем регистр - смотрим
5 andrewks
 
01.08.11
16:10
(2) меню Действия\Движения документа
6 Новичёк123123
 
01.08.11
16:11
да делает но в отчете вообще ничего не меняется, может быть из за того что нет контрагента и склада?
7 Lepochkin
 
01.08.11
16:11
Измерения не выкидывай. Регистры не будут закрываться и получишь много неприятностей
8 __Se24
 
01.08.11
16:12
(6) проверяй фильтры в отчете
9 Lepochkin
 
01.08.11
16:12
+7 И отчет у тебя наверняка смотрит измерения Контрагент и Склад, а они у тебя пустые
10 Джинн
 
01.08.11
16:13
Вот за это "Если Сред(НомерДок,4,1)="А" Тогда" нужно отрывать все выступающие части тела. Чтобы не плодились такие программеры.
11 __Se24
 
01.08.11
16:14
(7) Подумаешь , проблема, регистр опухнет да и все .... )))
12 __Se24
 
01.08.11
16:15
(10) А что в этом такого страшного ?
13 Lepochkin
 
01.08.11
16:15
(11)И через пол года появится тема типо "Висит ТИИ" или "Не могу выгрузить базу"
14 andrewks
 
01.08.11
16:16
(13) а ты, значит, хочешь лишить человека радости общения? ;-)
15 Джинн
 
01.08.11
16:16
(12) Что может быть страшного в быдлокоде? Ничего. Но желательно все же чтобы не плодились.
16 __Se24
 
01.08.11
16:16
(13) тут все зависит от количества движений по регистру .... если их немного , то появится эта тема оооочень нескоро ))
17 Ёпрст
 
01.08.11
16:17
(0)

>>Регистр.РезервыПоАкциям.Ссылка=ТекущийДокумент();

если Ссылка - это Измерение регистра, то это Полный ПЭ.
18 Lepochkin
 
01.08.11
16:18
(14)Давай подскажем человеку не делать бэкапы и мдешник подменить... развлекухи будет ))))
19 __Se24
 
01.08.11
16:18
(15) Все равно непонятно ....
ну предоложим , дал шеф задачу (определить чтобы в документе 4 знак в коде означал , что документ ..... ) и как изволите делать ?
20 Lepochkin
 
01.08.11
16:18
(17)Автор очень хочет не закрывающиеся регистры
21 Новичёк123123
 
01.08.11
16:19
Ссылка нужно для группировки по счету,
на счет быдло кода обычно счета имееют префикс в три буквы, только акционные счета имеют четвертую букву а, создавать дополнительные реквизиты запрещено. Вот я так и проверяю акционный это счет или нет. Не понимаю что здесь ужасного(
22 Джинн
 
01.08.11
16:22
(19) Послать шефа заниматься непосредственными обязанностями. А самому добавить реквизит документа, который должен "что-то значить".

(21) Соберите, для примера, только "акцизные" счета запросом.
23 Lepochkin
 
01.08.11
16:25
(21)До документа можно добраться и без твоей Ссылки. Убирай ее. И измерения все заполняй когда расход делаешь.
24 Новичёк123123
 
01.08.11
16:27
а как без сслыки добраться до документа?
25 Ёпрст
 
01.08.11
16:31
(24) ТекущийДокумент
26 Новичёк123123
 
01.08.11
16:32
то есть в регистре и так хранится информация с какойого документа пришёл приход или расход?
27 Джинн
 
01.08.11
16:33
(26) См. (25). Движение по регистру невозможно в обход документа.
28 Новичёк123123
 
01.08.11
16:34
ага понял спаибо) будем пробовать)
29 Новичёк123123
 
01.08.11
16:39
стоп не совсем понял это должно происходить как то так?

Таб=СоздатьОбъект ("Таблица");
       Таб.ВывестиСекцию ("Заголовок");
       Пока Запрос.Группировка(1)=1 Цикл
           СчетВЯчейке=СоздатьОбъект ("Документ.Счет");
           СчетВЯчейке=СчетВЯчейке.ТекущийДокумент(); //расшифровка
           Таб.ВывестиСекцию ("Счет");
           Пока Запрос.Группировка(2)=1 Цикл
               Если Запрос.Товар.ЭтоГруппа()=1 Тогда
               Иначе Таб.ВывестиСекцию("Товар");
               КонецЕсли;
           КонецЦикла;
       КонецЦикла;
30 Ёпрст
 
01.08.11
16:40
(29) нет.
31 Новичёк123123
 
01.08.11
16:46
а как?
32 Ёпрст
 
01.08.11
16:50
(31)
|Период с НачДата ПоКонДата;
|Количество = Регистр.РезервыПоАкциям.Количество;
|Док = Регистр.РезервыПоАкциям.ТекущийДокумент;
|Функция Приход= Приход(Количество);
|Функция Расход= Расход(Количество);
|Группировка Док;
....

Пока Запрос.Группировка(1)=1 Цикл
  Сообщить(Запрос.Док +" "+Запрос.Приход+"  "+Запрос.Расход);
.........
33 Новичёк123123
 
01.08.11
16:53
ага понял спасибо)