|
Подскажите код ребят | ☑ | ||
---|---|---|---|---|
0
Денисок
19.03.12
✎
23:31
|
Если делать запись работает, а если проведение виснет и выкидывает через время, укажите на ошибку пожалуйста.
Код находится в Модуле Объекта Документа Поступление Товаров и Услуг, замысел, что бы документ мог менять цену в других документах поступления цену и сумму где присутствовала такая же номенклатура. ЗапросТовараПартии = новый запрос; ЗапросТовараПартии.Текст = " |ВЫБРАТЬ |* |ИЗ |Документ.ПоступлениеТоваровУслуг.Товары |Где |Номенклатура = &Номенклатура"; ЗапросТовараПартии.УстановитьПараметр("Номенклатура",ТекСтрокаТовары.Номенклатура); ВыполнитьЗапрос = ЗапросТовараПартии.Выполнить(); ТаблицаЗапроса = ВыполнитьЗапрос.Выгрузить(); Для Каждого ТекСтрокаТаблицаЗапроса из ТаблицаЗапроса Цикл Док = ТекСтрокаТаблицаЗапроса.Ссылка; Документ = Док.ПолучитьОбъект(); ТоварыТаб = Документ.Товары; Для каждого ТекСтрокаТоварыТаб из ТоварыТаб Цикл Если ТекСтрокаТоварыТаб.Номенклатура = ТекСтрокаТовары.Номенклатура тогда ТекСтрокаТоварыТаб.Цена = ТекСтрокаТовары.Цена;//Это из общего кода ТекСТрокаТовары.Цена к примеру равен 150 руб. ТекСтрокаТоварыТаб.Сумма = ТекСтрокаТоварыТаб.Цена * ТекСтрокаТоварыТаб.Количество; КонецЕсли; КонецЦикла; Документ.Записать(РежимЗаписиДокумента.Проведение); КонецЦикла; |
|||
1
mikecool
19.03.12
✎
23:32
|
не делай так
|
|||
2
mikecool
19.03.12
✎
23:33
|
+1 это код Чака Нориса или я нифига не понимаю
|
|||
3
БибиГон
19.03.12
✎
23:33
|
(1) +100 делай, но не при проведении. делай по другому.
|
|||
4
Денисок
19.03.12
✎
23:34
|
Да я знаю, что это дурдом, по другому пока не умею...почему не проводит?
|
|||
5
mikecool
19.03.12
✎
23:35
|
я бы тоже охренел, при проведении поменять центы в 100500 документах
|
|||
6
le_
19.03.12
✎
23:35
|
Песца намотало на ось проведения.
|
|||
7
Денисок
19.03.12
✎
23:47
|
Ну что, безнадега тут? Скажите, как провести правильно.
|
|||
8
jsmith
19.03.12
✎
23:48
|
код ребят денисок какие-то странные окончания
|
|||
9
catena
19.03.12
✎
23:55
|
А почему документ получается внутри цикла, а проводится вне его?
|
|||
10
ale-sarin
19.03.12
✎
23:57
|
Денисок, посмотрел другие твои темы.
Совет, или 1С изучай - поле непаханное, тем более за 5месяцев можно было и лучше написать. Или фильмы смотри. А в (0) очень даже плохо. |
|||
11
Денисок
19.03.12
✎
23:59
|
(10) убей меня теперь...помоги лучше...
(9) в цикле вроде? |
|||
12
le_
20.03.12
✎
00:01
|
В запросе можно выбрать только номер строки ТЧ (чтобы не перебирать ТЧ каждый раз) и ссылку на документ. Но, всё равно, сама идея - зло.
Всё это надо убирать из обработок записи и проведения документа. |
|||
13
Денисок
20.03.12
✎
00:01
|
Я толком не программировал ни когда...вот только сейчас начинаю.
|
|||
14
Денисок
20.03.12
✎
00:02
|
(12) А куда деть? Кстати это в УТ10.3
|
|||
15
le_
20.03.12
✎
00:02
|
Представь, если документов, в которых есть эта номенклатура - 10 000.
В итоге один документ у тебя будет проводиться минимум пол часа. Что в это время будет со всеми пользователями и с базой? |
|||
16
ale-sarin
20.03.12
✎
00:04
|
(13) Никогда не поздно начать, но сначала надо поискать-подумать, а потом, если не получится, задавать вопросы. Т.е. надо смотреть, как подобные (не именно такие, а подобные) вещи делаются в типовых.
|
|||
17
Денисок
20.03.12
✎
00:04
|
(15) я думал об этом...но больше ни чего не придумал, мне нужно что бы в регистре ПартииТоваровНаСкладах была переоценка по последней цене поступления. Думал что через регистратор лучше всего делать..
|
|||
18
Kuzen
20.03.12
✎
00:04
|
что за документы здесь будут ?
Док = ТекСтрокаТаблицаЗапроса.Ссылка; |
|||
19
БибиГон
20.03.12
✎
00:06
|
/что бы в регистре ПартииТоваровНаСкладах была переоценка по последней цене поступления.
за весь период ведения учета в базе? ;) |
|||
20
Денисок
20.03.12
✎
00:06
|
В отладчике если смотреть , то документ поступления товаров и услуг текущий
|
|||
21
Денисок
20.03.12
✎
00:06
|
(19) Да, все партии
|
|||
22
ale-sarin
20.03.12
✎
00:07
|
(17) Это ты типа "среднюю" выводишь?
|
|||
23
ale-sarin
20.03.12
✎
00:07
|
+(17) Хотя, нет.
|
|||
24
ale-sarin
20.03.12
✎
00:08
|
+(17) А зачем это?
|
|||
25
Денисок
20.03.12
✎
00:09
|
(23)Средняя нет, но позже будет дельта переоценки в отчет
|
|||
26
catena
20.03.12
✎
00:09
|
действительно, в цикле, кривое форматирование меня сбило.
А зачем менять всю историю цены? Поступления могут быть очень старыми ведь.... |
|||
27
Денисок
20.03.12
✎
00:09
|
И нужно что бы товары списывались по последней цене поступления.
|
|||
28
le_
20.03.12
✎
00:10
|
(27) Для этого вовсе не обязательно колбасить все документы.
|
|||
29
Денисок
20.03.12
✎
00:10
|
Парни почему запись работает, а проведение зависает?
|
|||
30
Денисок
20.03.12
✎
00:11
|
(28) а как же?
|
|||
31
catena
20.03.12
✎
00:11
|
и зачем для этого менять цену??? алле, лифо не так организуется...
|
|||
32
Денисок
20.03.12
✎
00:11
|
(31) Задача такая стоит...я не знаю чем ФИФО неугодил
|
|||
33
catena
20.03.12
✎
00:12
|
(29)Документов много? Видимо потому, что проведение колбасит все со своими проверками...
|
|||
34
Денисок
20.03.12
✎
00:13
|
Нет, проверяю на базе около 15 документов
|
|||
35
Денисок
20.03.12
✎
00:14
|
3 из них должны перепроводится
|
|||
36
Денисок
20.03.12
✎
00:14
|
Если просто запись делать, то цена и сумма записываются, а если еще и провести, то висит
|
|||
37
catena
20.03.12
✎
00:15
|
(32)Не надо перепроводить документы поступления. Причин много, начиная от сданных налоговых отчетов, до несовпадения суммы документы с бумажными исходниками.
Суть списания - в порядке списанных партий, а не в изменении цены оприходования. |
|||
38
Kuzen
20.03.12
✎
00:15
|
Сервис-настройка учета - учетная политика. там выбираешь фифо лифо/
|
|||
39
ale-sarin
20.03.12
✎
00:16
|
(32) А как задача стоит?
|
|||
40
БибиГон
20.03.12
✎
00:16
|
(35) у тебя проводятся все документы а не 3. ;)
|
|||
41
Денисок
20.03.12
✎
00:16
|
(40) поподробнее с этого места :)
|
|||
42
le_
20.03.12
✎
00:17
|
Могу предположить, что приведенный в (0) код находится в процедуре обработки проведения, в результате чего получается зацикливание.
|
|||
43
catena
20.03.12
✎
00:18
|
+(42)Кстати да, текущий-то документ тоже попадает в запрос...
|
|||
44
Денисок
20.03.12
✎
00:19
|
(39)Документом Поступление Товаров и Услуг Установить новые цена номенклатуры(Это я сделал) , выполнить переоценку партии товаров, высчитать дельту (это в отчет) и остальное (это потом)
|
|||
45
ale-sarin
20.03.12
✎
00:19
|
А мне кажется, что задача кем-то поставлена - настроить ЛИФО.
И сейчас парень изменит все документы входящие, а потом бух удивится - "че это взаиморасчеты с поставщиками изменились?" |
|||
46
БибиГон
20.03.12
✎
00:19
|
(41) а что, это не видно? ;)
|
|||
47
Денисок
20.03.12
✎
00:19
|
Вот ребят!! как исправить, точно!
|
|||
48
БибиГон
20.03.12
✎
00:20
|
(45) это точно ))
|
|||
49
Денисок
20.03.12
✎
00:21
|
Да не ЛИФО не причем :) Это УТ с ней Бух работать не будет...её даже обновлять не будут, она просто учетная будет
|
|||
50
ale-sarin
20.03.12
✎
00:21
|
(44) Так может зафиксировать новые цены поставщика? НЕ меняя старые документы?
|
|||
51
ale-sarin
20.03.12
✎
00:22
|
(49) "просто учетная" чего? товара? денег? продаж? или еще чего?
|
|||
52
Денисок
20.03.12
✎
00:22
|
Короче нужно чтоб мой документ не попадал в проведение вместе с остальными.
|
|||
53
ale-sarin
20.03.12
✎
00:23
|
(52) не-е-е, так не отделаешься. Зачем (44)?
|
|||
54
catena
20.03.12
✎
00:23
|
(49)Ну ладно уж...
Добавь в запрос условие, где ссылка <> &ссылка параметр ссылка = ссылка. Но менять старые документы ПЛОХО, тебя за это рано или поздно поставят в угол... |
|||
55
le_
20.03.12
✎
00:24
|
(47) Лучше отказаться от этого алгоритма. Ибо получится не учет, а черте что )
Сформулируй задачу и выложи здесь в отдельной теме - найдется множество хороших советов. |
|||
56
ale-sarin
20.03.12
✎
00:24
|
Есть регистр "Цены контрагентов". Есть отчеты "Стоимость склада в ценах таких-то или как-то так". Може это?
|
|||
57
Денисок
20.03.12
✎
00:26
|
(56) нет человеку нужно что бы партии меняли свою стоимость по цене последнего поступления
|
|||
58
БибиГон
20.03.12
✎
00:27
|
(57) с этого места поподробнее, какие партии? )
|
|||
59
ale-sarin
20.03.12
✎
00:27
|
(57) Ты можешь сделать все, что угодно "человеку". Но сделаешь хреново, т.к. не знаешь "зачем ему это нужно".
|
|||
60
БибиГон
20.03.12
✎
00:28
|
(58) точнее- какие именно партии. )
|
|||
61
Денисок
20.03.12
✎
00:49
|
(54) Классная мысль, документ не попадает в отбор, но остальные все же не проводятся, все зависает и вылетает. :)
|
|||
62
Денисок
20.03.12
✎
00:51
|
Я точно куда то не туда засунул проведение...но не могу разобраться самостоятельно
|
|||
63
catena
20.03.12
✎
05:15
|
(62)Ты точно недопонял задачу. Перечитай.
|
|||
64
БибиГон
20.03.12
✎
07:17
|
скорее всего закрытый период. ;)
|
|||
65
Астероид
20.03.12
✎
07:31
|
шикарный г0вн0к0д, в зал славы его :)
|
|||
66
Астероид
20.03.12
✎
07:40
|
за перепроведение документов с новыми ценами убивать нужно при рождении.
|
|||
67
НЕА123
20.03.12
✎
08:16
|
Денисок , найди себе учителя, толковых коллег. Желание программить вроде есть.
|
|||
68
ASU_Diamond
20.03.12
✎
08:46
|
(61) Пройди отладчиком и поймешь почему:
в документе Док1 есть Номенклатура Ном1 в документе Док2 есть Номенклатура Ном2 ты проводишь Док2, в выборку попадает Док1, при проведении Док1, в выборку попадает Док2... |
|||
69
ASU_Diamond
20.03.12
✎
08:46
|
*в документе Док2 есть Номенклатура Ном1
|
|||
70
asady
20.03.12
✎
08:47
|
(0) автор за такой код банить нужно....
|
|||
71
ASU_Diamond
20.03.12
✎
08:49
|
(70) да ты гуманист
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |