|
v7: Проблема с НомеромСтроки в Регистре | ☑ | ||
---|---|---|---|---|
0
neetro
20.01.14
✎
13:09
|
Привет всем. Проблема для меня совсем не понятная. Может то сталкивался, подскажет как решить.
Имеем: 1С 7.7 (27 релиз)на SQL server 2000 (ОС Win Server 2003 x32) 1С конфигурация Алкогольная (от КТ-Алкоголь, какая версия ТиС в основе - хз, но 9.2 точно). Есть отчет формирования алкогольной декларации, который в запросе цепляет данные из Алкогольного регистра. Группировки там ТекДок и СтрокаДокумента. До недавнего времени все работало приемлемо. Сейчас тупит. Берет какую то одну строку из документа (как я думал, оказалось из регистра) остальные не обрабатывает. Анализ выявил проблему. В Движениях Регистра в поле НомерСтроки пишется произвольное число (!). То есть строк в документе 13, позиций в регистре 13, но у всех номер строки = 62. Для этого же документа номер строки в регистре ПартииНаличие корректно встают с 1 по 13, В регистре Покупатели НомерСтроки = 3 (строка там одна). Короче черти че и документов таких полно. Внимаение! Если перепровести документ Руками, строчки везде встают как надо! Вывод в модуле документа все корректно прописано, иначе проблема после перепроведения руками тоже бы осталась. Стоит запустить перепроведение за месяц стандартными средствами = опять та же картина и опять номер строки во всех 13 строчках = 62. Если перепровести доки за день (только один вид документа = Поступление), то строчки опять же нормализуются. Делал Выгрузку\Загрузку. ТИИ полное. Перезагрузка сервера + SQL сервера. Работал с копией на локальном компьютере (другая машина на Win 7) в ДБФ режиме (чтобы исключить проблемы с жестким на серваке). Делал все то же самое + удаление файлов cdx. Короче я хз что еще куда смотреть. |
|||
1
пипец
20.01.14
✎
13:14
|
ордночек в каталоге болтается ?
ПривязыватьСтроку ??? |
|||
2
1dvd
20.01.14
✎
13:14
|
Покажи как в документа используется ПривязыватьСтроку();
|
|||
3
1dvd
20.01.14
✎
13:15
|
при групповом проведении некоторые переменные могут не очищаться, когда заканчивается проведение одного документа и начинается проведение следующего. Надо очищать переменные перед использованием!
|
|||
4
viktor_vv
20.01.14
✎
13:19
|
(3) +1. Глобальная переменная могут использоваться в ПривязыватьСтроку(<НомерСтроки>).
|
|||
5
КонецЦикла
20.01.14
✎
13:28
|
Посмотри отличаются ли оперативное и не оперативное проведение (ну типа ИтогиАктуальны())
При групповом проведении переносится ТА. |
|||
6
МихаилМ
20.01.14
✎
13:30
|
известная особенность
группового перепроведения: модуль проведения документа компилируется один раз. |
|||
7
neetro
20.01.14
✎
13:53
|
(1) что простите? Файл какой то?
(2) Перебор по редвижениям регистра Партии (это там где нормальны строки) СтрДок=РегПарт.НомерСтроки(); Потом проверка на пустую строку и Конт.ПолучитьСтрокуПоНомеру(СтрДок); ну и сама привязка Конт.Регистр.ДвиженияАлкоголя.ПривязыватьСтроку(СтрДок); |
|||
8
neetro
20.01.14
✎
13:54
|
(6) м, и?
|
|||
9
neetro
20.01.14
✎
13:56
|
(5) ну там стандартно в модуле документа проверка
Если ИтогиАктуальны() = 0 Тогда ВремРегистры.Актуальность(1); ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); КонецЕсли; Потом передача проведения в глобальник |
|||
10
neetro
20.01.14
✎
13:58
|
(5) ну и в глобальнике потом
Если Конт.ИтогиАктуальны()=0 Тогда Если РегистрыРассчитаны = 0 Тогда //Значит, не считали объект ВремРегистры.Актуальность(1); ВремРегистры.РассчитатьРегистрыНа(Конт.ТекущийДокумент()); КонецЕсли; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |