|
Проведение по партиям в SQL2008 | ☑ | ||
---|---|---|---|---|
0
Alvin1102
08.09.13
✎
18:06
|
Здравствуйте, выгрузил файловую 1с 8.2 в SQl 2008.
Вроде все работает, но есть проблема. При запуске обработки "Проведение по партиям", останавливается на любом первом документе с ошибкой "Получение элемента по индексу для значения не определенно". Обработка эта родная, но модифицированна. Если переходим от этой ошибки в конфигуратор, то видим что ругается на следующие ошибки: {Обработка.ПроведениеПоПартиям.Форма.Форма(226)}: Ошибка при вызове метода контекста (Записать) ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); {ОбщийМодуль.НастройкаПравДоступа(736)}: Получение элемента по индексу для значения не определено ГраницаПериода = СоответствиеГраницЗапрета[Справочники.Организации.ПустаяСсылка()]; _____________________________________________________________ Ниже привожу код блока 736 строки: Код: Если ПараметрыПроверкиДокумента.ПроверятьУправленческуюДатуЗапрета Тогда ГраницаПериода = СоответствиеГраницЗапрета[Справочники.Организации.ПустаяСсылка()]; // Если управленческая дата запрета для управленческого документа не определена // то используется общая дата запрета изменения данных Если ГраницаПоОрганизации = Неопределено Тогда ГраницаПоОрганизации = СоответствиеГраницЗапрета[Справочники.Организации.ПустаяСсылка()]; КонецЕсли; Если ГраницаПериода <> Неопределено Тогда Если ДокументОбъект.Дата <= ГраницаПериода Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецЕсли; _____________________________________________________________ Блок кода 226 строки: Код: Если Строка(ТипЗнч(ОбрабатываемыйДокумент))="Заказ покупателя" Тогда ДокументОбъект=ОбрабатываемыйДокумент.ПолучитьОбъект(); ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; _____________________________________________________________ Отмечу, что в файловом варианте все работает. Собственно вопрос, как исправить, чтоб работало? Very Happy |
|||
1
Нуф-Нуф
08.09.13
✎
18:08
|
а отладчик не спасает?
|
|||
2
Alvin1102
09.09.13
✎
06:30
|
(1) Нет, т.к. не являюсь программистом. А наш программист уверен, что дело в настройке SQL.
|
|||
3
Галахад
гуру
09.09.13
✎
06:39
|
В конфигураторе установи останавливаться по ошибке.
Потом посмотри чему равняются переменные: - СоответствиеГраницЗапрета - Справочники.Организации.ПустаяСсылка() |
|||
4
alkov
09.09.13
✎
06:51
|
Релиз платформы? Проблема с инициализацией параметров сеанса была поправлена в одном из релизов, попробуйте обновить
|
|||
5
floody
09.09.13
✎
06:59
|
динамическое обновление не использовали? ну или просто почистить кэш, у меня тож была проблема с параметрами сеанса
|
|||
6
Godofsin
09.09.13
✎
07:01
|
+1 за кеш
|
|||
7
Alvin1102
09.09.13
✎
07:17
|
Динамическое обновление использовали.
Релиз платформы - 8.2.13.205, обновлю сегодня,попробую - отпишусь. (3) Сделаю, после обновления плаформы. (5) Под "очистить кеш", подразумевается удаление папки 1с в AppData? |
|||
8
Нуф-Нуф
09.09.13
✎
07:17
|
БУГАГА ))) прог просто спихнул проблему на админа? Кроссавчег )))
|
|||
9
shuhard
09.09.13
✎
08:40
|
(2)[Нет, т.к. не являюсь программистом. А наш программист уверен, что дело в настройке SQL.]
зря ты лезешь не в своё дело |
|||
10
Alvin1102
09.09.13
✎
11:40
|
(9) разберусь уж как-нибудь, моё или нет. главное решить задачу и разобраться, в чем причина в sql или в коде 1с.
Обновил платформу, заодно загрузил последнюю конфигурацию 1c. Очистил кеш. Прошлых ошибок не наблюдаю, но выходят другие: [code] {ОбщийМодуль.НастройкаПравДоступа.Модуль(644,110)}: Переменная не определена (РежимДиалогаВопрос) Если Вопрос("Внимание! Попытка изменения документа в закрытом периоде под полными правами, продолжить?",<<?>>РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда {ОбщийМодуль.НастройкаПравДоступа.Модуль(644,136)}: Переменная не определена (КодВозвратаДиалога) Если Вопрос("Внимание! Попытка изменения документа в закрытом периоде под полными правами, продолжить?",РежимДиалогаВопрос.ДаНет)=<<?>>КодВозвратаДиалога.Да Тогда {ОбщийМодуль.НастройкаПравДоступа.Модуль(644,11)}: Процедура или функция с указанным именем не определена (Вопрос) Если <<?>>Вопрос("Внимание! Попытка изменения документа в закрытом периоде под полными правами, продолжить?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда [/code] Ниже привожу код блока 644 строки: [code] Если ПараметрыСеанса.ТекущийПользователь.Наименование<>"Администратор" Тогда Если Строка(ТипЗнч(ДокументОбъект))="Документ объект: Возврат товаров от покупателя" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Реализация товаров и услуг" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Отчет о розничных продажах" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Заказ покупателя" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Снятие резерва" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Оприходование товаров" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Поступление товаров и услуг" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Списание товаров" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Комплектация номенклатуры" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Закрытие заказов покупателей" ИЛИ Строка(ТипЗнч(ДокументОбъект))="Документ объект: Перемещение товаров" Тогда Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений |ИЗ | РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных"; Результат=Запрос.Выполнить().Выбрать(); Если Результат.Следующий() Тогда ДатаЗапретаРедТек=Результат.ГраницаЗапретаИзменений; КонецЕсли; Если НачалоМесяца(ДатаЗапретаРедТек)>=ДокументОбъект.Дата Тогда Если Вопрос("Внимание! Попытка изменения документа в закрытом периоде под полными правами, продолжить?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда Возврат; Иначе Отказ=Истина; КонецЕсли; Иначе Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; [/code] Ещё обновить платформу? |
|||
11
Галахад
гуру
09.09.13
✎
11:47
|
Все же не стоит лезть в чужую епархию.
|
|||
12
Alvin1102
09.09.13
✎
11:55
|
(11) ок, если дело в коде 1с и просто проблему не решить, я и не претендую.
Дело в коде? |
|||
13
Serg_1960
09.09.13
✎
12:01
|
(10) "Ещё обновить платформу?" - см. ограничение на версию платформы в документации к обновлению.
PS: сам текст алгоритма (точнее - присутствие вопроса в общем модуле) наводит на нехорошие мысли - сомнения и о типовой версии, и о компетенции программиста. |
|||
14
piter3
09.09.13
✎
12:02
|
РежимДиалогаВопрос
Доступность :Тонкий клиент, веб-клиент, толстый клиент. |
|||
15
Serg_1960
09.09.13
✎
12:04
|
ТС не озвучил конфигурацию. Меня смущает сам смысл вопроса. Имхо, не типовое это решение :(
|
|||
16
Alvin1102
09.09.13
✎
12:35
|
Конфигурация, Управление Торговлей.
Всем спасибо. Думаю дальше и правда, мне не стоит вникать, голову забивать... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |