|
v7: Выборка документов | ☑ | ||
---|---|---|---|---|
0
kouki
26.07.11
✎
13:45
|
Здравствуйте , Гуру. Возник вопрос по выборке. Конфигурация - стремный самопал(((( с кучей минусов.
В журнале есть документы за 1.06.11 И нужно перезаписать информацию в этих документах. пишу обработку. Процедура Выполнить() Док = СоздатьОбъект("Документ.Ведомость"); Док.ВыбратьДокументы(ДатаНач, ДатаКон); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.Проведен() = 1 Тогда Док.СделатьНеПроведенным(); Продолжить; Иначе //---------пересчет документа ВремРасценка = 0; флаг = 1; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() = 1 Цикл Док.Тариф = Док.Ставка.Тариф; Док.Расценка = Док.Тариф*1*Док.НормаВр; Док.НормаВыр = 1000/Док.НормаВр*8; Сумма= (Док.Литьё+ Док.Расценка)*Док.Коэфф; Если флаг = 1 Тогда ВремРасценка = Док.СуммаМех; Док.Брак = ВремРасценка; флаг = 0; Иначе Док.Брак = ВремРасценка + Док.Расценка; ВремРасценка = док.Брак; КонецЕсли; КонецЦикла; КонецЕсли; //--------------------------------- док.ДатаДок = УстДата; док.Записать(); //док.Провести(2); Сообщить("Изделие"+ Док.Изделие + "Перезаписано!!!!"); КонецЦикла; КонецПроцедуры И выбирается только 1-й документ и проводка звкрывается.. Что не так???? |
|||
1
catena
26.07.11
✎
13:47
|
док.ДатаДок = УстДата;
Выходишь за пределы выборки. |
|||
2
Рэйв
26.07.11
✎
13:47
|
(0)Так может он там один и есть?
|
|||
3
smaharbA
26.07.11
✎
13:47
|
проводок у не проведенных обычно нет
|
|||
4
Жан Пердежон
26.07.11
✎
13:47
|
ты выборку сбиваешь сбиваешь в цикле
|
|||
5
kouki
26.07.11
✎
14:01
|
(4) чем сбиваю???О_о
|
|||
6
Ёпрст
26.07.11
✎
14:02
|
(5) см. (1) - установкой новой даты.
|
|||
7
kouki
26.07.11
✎
14:05
|
Но мне надо чтобы в доке была новая дата...
|
|||
8
kouki
26.07.11
✎
14:06
|
(6) А установкой всмысле что он вроде был в выборке а после установки даты выходит за пределы ее???
|
|||
9
VladZ
26.07.11
✎
14:06
|
(0) Ну что за люди! Обязательно весь функционал нужно запихать в одну процедуру???
Держи алгоритм: 1. получить нужные документы. 2. исправить документы из п. 1. 3. Сообщить пользователю о проделанной работе. |
|||
10
Попытка1С
26.07.11
✎
14:06
|
(8) Накидать в ТЗ потом провести.
|
|||
11
kouki
26.07.11
✎
14:08
|
(9) Счас сделаем))) спасибо!!))
|
|||
12
kouki
26.07.11
✎
14:41
|
(9) А документы лучше в ТЗ выбирать??
|
|||
13
Cthulhu
26.07.11
✎
14:47
|
(12): не "выбирать" а "собирать".
в куда сможешь - в туда и лучше. |
|||
14
kouki
26.07.11
✎
15:07
|
(13) благодарю)
|
|||
15
kouki
27.07.11
✎
12:48
|
Кстати.. народ.. сегодня оказалось. Что в программе логика вообще загонная.. оказывается есть определенный список документов, в табличной части которых с течением времени нужно пересчита определенные показатели и изменить дату.
ТАк может проще вот по такому алгоритму: 1. Создать новый документ в который записать изм табличную часть и дату. 2. удалить старые 3.сообщить пользователю |
|||
16
1Сергей
27.07.11
✎
12:50
|
(15) могут быть ссылки на этот документ
|
|||
17
Мулька
27.07.11
✎
12:54
|
(15) Оставить старые непременно
|
|||
18
kouki
27.07.11
✎
12:54
|
(16) В принцепе да.
Если честно Я не могу понять почему сбивается выборка при изменении даты. Док.ВыбратьДокументы(,УстДата); Пока Док.ПолучитьДокумент() = 1 Цикл Док.ДатаДок = УстДата; док.Провести(); КонецЦикла; |
|||
19
kouki
27.07.11
✎
12:57
|
(17). Ну в принцепе я тож думаю что лучше оставить. Кто знает что им придет в голову через месяц. сделать отчет к примеру за предыдущий месяц. А виноватым сделают меня.
|
|||
20
palpetrovich
27.07.11
✎
13:01
|
(18) не можешь понять - просто поверь :)
про (15) лучше и не думай делай как рассказали, единственное я-бы еще сохранил в комментариях измененных документов старую дату - так, для истории :) |
|||
21
kouki
27.07.11
✎
13:07
|
(20) Поверил=)) Он берет только первый документ из выборки и ее закрывает. как исправить??
|
|||
22
VladZ
27.07.11
✎
13:09
|
(21) Выборка сбивается... Сначала получи документы, потом их правь.
|
|||
23
vicof
27.07.11
✎
13:10
|
(21) тебе же сказали, в таблицу значений документы скидывать
|
|||
24
zak555
27.07.11
✎
13:11
|
(22) +1
засунь куда-нибудь |
|||
25
kouki
27.07.11
✎
13:31
|
Все .. теперь я 100% осознал свою ошибку.. спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |