Имя: Пароль:
1C
1С v8
АСТОР
,
0 Rom1k06
 
19.02.13
20:33
Коллеги история такая... Есть конфа "АСТОР Ваш магазин 7"
в отчете по партиям(Оборотная ведомость) Были ссылки на несуществующие партии(Справочник партии). По совету поддержки АСТОР удалили пустые ссылки.
Теперь проблема при перепроведении документа Расходная накладная(И др тоже) выдается ошибка что партия не может быть пустой(т.е ссылки на несуществующие партии удалились а для записи новых надо перепровести документ). Документ перепроводим(восстановление последовательностей и руками) Еще странно что ошибка в документах которые проводишь не оперативно с оперативным проведением проблем нет.
По коду я так и не понял откуда он берет партии для проверки. из вне.
отсюда - LM3Sess.Execute3(СтруктураПараметров)
Кто может подсказать куда копать?
1 dangerouscoder
 
19.02.13
20:37
Риб есть?
Менеджер лицензий поставь последний может он глючит изза этого внешняя компонента не правильно работает..
2 hhhh
 
19.02.13
20:40
(0) посмотри, что в структуре параметров. Наверняка, какие-то не те данные передаешь.
3 Rom1k06
 
19.02.13
20:43
риб есть
с лицензией все нормально.
в структуре все метаданные, документ, и т.д
4 Rom1k06
 
19.02.13
20:44
и + там запрос но только объект без текста
если бы он партии брал нормально в регистра и справочника я думаю нашел бы )))
5 dangerouscoder
 
19.02.13
20:55
Может косяк в регистре партий.. напиши точно ошибку..
6 Rom1k06
 
19.02.13
20:56
(1) Про глюки тоже знаю.
Сталкивался уже ППЦ как.)))
(5)Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ОмОперативныйУчет.Модуль(6379)}: Ошибка при вызове метода контекста (Записать)
по причине:
Запись не верна! Значение поля "Партия" не может быть пустым! (Регистр накопления: Партии номенклатуры; Номер строки: 1)
7 Rom1k06
 
19.02.13
21:06
Движение.Партия = ТекПартия;
ТекПартия = ВыборкаПартий.Партия;
ВыборкаПартий = ВыборкаХарактеристика.Выбрать();
ВыборкаХарактеристика = ВыборкаТипХарактеристикиПартии.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаТипХарактеристикиПартии = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаНоменклатура = ВыборкаВидТовар.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаВидТовара = резДанные.Выбрать (ОбходРезультатаЗапроса.ПоГруппировкам);
резДанные = ОмОбщиеФункции. ДанныеДляСписаниеПоПартиямРасходнаяНакадная(СтрукПараметрыДанные);
Рез = LM3Sess.R1_Execute2(струкПараметры); Возврат Рез;
8 Rom1k06
 
19.02.13
21:07
Движение.Партия = ТекПартия;
Вот тут вылетает.
Откуда приходит описал выше.
9 hhhh
 
19.02.13
21:29
(8) в Execute3 находится запрос к регистру партий. Рассматривай его как черный ящик. То есть надо проверить, что в СтруктураПараметров. Может ты какую-то фигню туда передаешь.
А на выходе результат запроса. В общем, проанализируй, что на входе, что на выходе.
10 Rom1k06
 
19.02.13
21:40
Проверял, передается ссылка на документ .
И еще куча всего: лицензия, константы,  ссылки на регистры, ссылки на справочники. Момент времени равный дате документа.
Запросом проверил регистр партии на остатки,  все есть.
Про черный ящик я уже понял... рытался найти где форсмруется запрос -безполезно.
11 dangerouscoder
 
19.02.13
21:52
(10) а релиз у тебя какой ?
у меня вообще  - LM3Sess.R1_Execute2(струкПараметры) в отдельный модуль вынесено
12 Rom1k06
 
19.02.13
22:01
Релиз не помню, дома нет конфы.
А так да он не в модуле проведения,
13 dangerouscoder
 
19.02.13
22:05
(7) это по памяти писал?
14 Rom1k06
 
19.02.13
22:07
релиз 7.0.33.2
да в отдельном модуле
ОмОбщиеФункции.ДанныеДляСписаниеПоПартиямРасходнаяНакадная
И вызывается из функции СписаниеПоПартиямРасходнаяНакадная
15 Rom1k06
 
19.02.13
22:09
через РДП на работу подключтился
16 Rom1k06
 
19.02.13
22:16
нзПартииНоменклатуры = РегистрыНакопления.ПартииНоменклатуры.СоздатьНаборЗаписей();
   нзПартииНоменклатуры.Отбор.Регистратор.Установить(докСсылкаДокумент);
а зачем делать отбор по движениям документа?
17 Rom1k06
 
19.02.13
22:19
(11) Значит вы видите что передается в струкПараметры.
18 dangerouscoder
 
19.02.13
22:21
LM3Sess.R1_Execute2(струкПараметры) - возвращает выборку запроса
19 Rom1k06
 
19.02.13
22:26
Да но регистра или документа? Запрос то не посмотреть,  
И почему он не перезаписывает партии в документе?
20 dangerouscoder
 
19.02.13
22:29
(8) Движение.Партия = ТекПартия;
Вот тут вылетает.

Отладчиком посмотри - ТекПартия

Характеристики используете?
21 Rom1k06
 
19.02.13
22:35
Я не могу понять почему в документ именно с неоперативным проведением не перезаписываются партии.
Характеристики не используем.
ТекПартия = неопределено.
22 hhhh
 
19.02.13
22:38
(21) значит, не все пустые удалили.
23 Rom1k06
 
19.02.13
22:39
Может не там копаю?  А с. Регистра партии делать выборку смысл если при переправедении движения удаляются до записи.
24 Rom1k06
 
19.02.13
22:40
(22)  проверял в консоли запросом. Все чисто.
25 dangerouscoder
 
19.02.13
22:43
ВЫБРАТЬ
   ПартииНоменклатуры.Регистратор,
   ПартииНоменклатуры.Номенклатура,
   ПартииНоменклатуры.Партия,
   ПартииНоменклатуры.Количество
ИЗ
   РегистрНакопления.ПартииНоменклатуры КАК ПартииНоменклатуры
ГДЕ
   ПартииНоменклатуры.Партия = НЕОПРЕДЕЛЕНО

ПартииНоменклатуры.Партия = пустая ссылка
26 hhhh
 
19.02.13
22:46
(24) еще поищи "Объект не найден", раз у вас РИБ.
27 Rom1k06
 
19.02.13
22:46
Я писал ПартииНоменклатуры.Партия  is null
28 hhhh
 
19.02.13
22:47
(27) ну ты приколист. Причем тут null?
29 Rom1k06
 
19.02.13
22:48
(26)  неосталось.
в документах где было объект не найден ткперь пусто.
30 Rom1k06
 
19.02.13
22:49
При том что если объекта нет то это null отрабатывало четка..))
31 hhhh
 
19.02.13
22:51
(30) а неопределено и пустые ссылки. То есть где-то 10-15 проверочных запросов как в (25) точно-точно запускал?
32 dangerouscoder
 
19.02.13
22:55
ВЫБРАТЬ
   ПартииНоменклатуры.Регистратор,
   ПартииНоменклатуры.Номенклатура,
   ПартииНоменклатуры.Партия,
   ПартииНоменклатуры.Количество
ИЗ
   РегистрНакопления.ПартииНоменклатуры КАК ПартииНоменклатуры
ГДЕ
   ПартииНоменклатуры.Партия.Документ is null
33 Rom1k06
 
19.02.13
22:56
Согласен возможно проверил не все...
Но если ссыкуа на не сущесивующею партию удаляется то что остается??
И почему при оперативном проведении пере записывает?
(32)  именно так и выбирал.
34 dangerouscoder
 
19.02.13
23:09
(33) посмотри на какой номенклатуре ошибка и в РН сделай отбор по нему и посмотри визуально
возможно нужно пере провести групповой обработкой приходные накладные
35 Rom1k06
 
19.02.13
23:13
Спс завтра проверю отпишучь.
36 dangerouscoder
 
19.02.13
23:20
РИБ астора - зло
Проверяй все базы а не только центральную..
37 AS_DANCE
 
19.02.13
23:45
Может попробовать старые доки перепровести которые партии двигают?
38 Rom1k06
 
20.02.13
09:39
Вот как раз этим и занимаюсь.
39 Rom1k06
 
20.02.13
22:38
Переправел приходные накладные по всем стуктурным еден,цам  дело вроде поправило но появились документы по которым нет партий. Т.е есть документ приходная накладная с одной позицией,  а партий до этого не было по этой позиции. Приход сделан на основании расхода другого подразделения.
А расходы партии не делают....
Что можно сделать в этой ситуации?
Ечли нахожу эту накладную в СЕ где ее создали то там не дает ее перепровести т.к. там тоже нет партий... палка на двух концах. Как так смогли сделать не понимаю...