Имя: Пароль:
1C
1С v8
Поведение (проведение) sql базы и файловой разная куда копать?
0 Обработка
 
04.12.13
07:56
Самописка 1с8.3 687й

Есть код в модуле проведения.

Движения.НачисленияРаботникам.Записывать = Истина;
Для каждого СтрТЧ Из Начисления Цикл
  Движение = Движения.НачисленияРаботникам.Добавить();
  Движение.Период = Дата;
  Движение.Организация = Организация;
  Движение.Работник = СтрТЧ.ФизЛицо;
Если ЗначениеЗаполнено(Подразделение) Тогда
  Движение.Подразделение    = Подразделение;
Иначе
  СтВ = Диспетчеры.ОрганизацияВодителя(Дата,СтрТЧ.ФизЛицо);
  текПодразделение =     СтВ.Подразделение;
  Движение.Подразделение    = текПодразделение;
КонецЕсли;    
Движение.ВидРасчета = ВидРасчета;
Движение.Результат = СтрТч.Сумма;
КонецЦикла;

В регистре накопление в файловой Подразделение появляется а в скульной нет. Пробовал в скульной сообщениями вывести значения "текПодразделение " все нормуль значения поразделения есть. Но в регистре пустой. Перепроводил, отменял проведение итп. ничего не помогает.
1 Armando
 
04.12.13
08:05
Это же 8.3.
Попробуй на 8.2
2 Apokalipsec
 
04.12.13
08:12
1. Все таки "Подразделение" или "ТекПодразделение". У тебя все таки через Если заполняется.
Копать в сторону несоответствия типов только. Например там у тебя просто подразделение, а в другом месте Подразделение организации.
Это на первый телепатический так сказать)
3 Обработка
 
04.12.13
08:14
(1) Не вариант. Переводить на 8.2 нет смысла.
4 Defender aka LINN
 
04.12.13
08:14
Типы-то совпадают?
5 Обработка
 
04.12.13
08:16
(2) В базе только один справочник Подразделений.

Для всех.В файловом все ок проводится и записывается.

Единсвенное что могу сказать в чем разница это в том что я в скуле код правил и обновлял динамически. Но отладкой увидел что все-таки новый код работает. Но в сам регистр не пишется. именно измерение Подразделение.
6 Галахад
 
гуру
04.12.13
08:20
Кэш почисти.
7 Sammo
 
04.12.13
08:21
(5) >> я в скуле код правил и обновлял динамически
Для начала 6
8 Apokalipsec
 
04.12.13
08:24
(5) смотри (6), и в (0) код который работает на файловой, или измененный?)
9 Обработка
 
04.12.13
08:32
Было просто -
Движение.Подразделение    = Подразделение;
Подразделение - реквизит шапки документа.
Но расчетчится попросила автоопределение подразделений для тех случаев когда в документ в ТЧ попадают  работники с разных подров. Изменил код. но в скуле не пошло. Попробовал у себя в файловой без проблем.
Кеш чистил сразу. даже Сообщить работает в скуле и выводит-таки текПодразделение.
10 Defender aka LINN
 
04.12.13
08:33
(9) Отладчик принципиально не используешь?
11 Галахад
 
гуру
04.12.13
08:35
(9) В скульной копии тоже самое?
12 Обработка
 
04.12.13
08:35
(10) В скуле отладчик у меня не пашет ведь?
13 Defender aka LINN
 
04.12.13
08:37
(12) Это ТЫ спрашиваешь МЕНЯ? Кому надо - у того работает.
14 Apokalipsec
 
04.12.13
08:37
(12) С ХУ....С ХЕ...ПОЧЕМУ ВЫ ТАК РЕШИЛИ?
Процедура на сервере выполняется? временно на клиента её, или отладку для серверных разреши.
15 Обработка
 
04.12.13
08:40
(13) (14) да знаю знаю... можно сделать...

просто я пишу в файловой. Не в отладчике дело сейчас
16 Defender aka LINN
 
04.12.13
08:43
(15) "Не в отладчике дело сейчас"
Я худею, дорогая редакция...
17 Обработка
 
04.12.13
08:51
(16) Почему же худеешь?
Скуль у меня боевая база, там я пока не собираюсь запускать 1С в режиме отладки. ДА если честно и не знаю как. НО узнать не стоит труда.
Чтобы подглядеть что же реально твориться с переменными вывел через Сообщить. Метод выдает значения подразделений.
ЧЯНТД? В файловой все через отладчик гляжу.
18 Обработка
 
04.12.13
08:52
Ну вот накопал как делать режим отладки...-
v8: Отладка в 8.2
19 Галахад
 
гуру
04.12.13
08:52
На (11) то ответишь?
20 Обработка
 
04.12.13
08:55
(19) НУ да конечно.
Вотс.

Движения.НачисленияРаботникам.Записывать = Истина;
    Для каждого СтрТЧ Из Начисления Цикл
        Движение = Движения.НачисленияРаботникам.Добавить();
        Движение.Период                     = Дата;
        Движение.Организация                 = Организация;
        Движение.Работник                     = СтрТЧ.ФизЛицо;
        
        Если ЗначениеЗаполнено(Подразделение) Тогда
            Движение.Подразделение             = Подразделение;
        Иначе
            Сообщить(" тут ", СтатусСообщения.Важное);
            СтВ = Диспетчеры.ОрганизацияВодителя(Дата,СтрТЧ.ФизЛицо);
            текПодразделение =     СтВ.Подразделение;
            Сообщить(" "+текПодразделение, СтатусСообщения.Важное);
            Движение.Подразделение             = текПодразделение;
        КонецЕсли;    
        
        Движение.Подразделение                 = Подразделение;
        Движение.ВидРасчета                 = ВидРасчета;
        Движение.Результат                     = СтрТч.Сумма;
    КонецЦикла;
21 Apokalipsec
 
04.12.13
08:56
(17) сообщить тебе говорит какой тип у ТекПодразделения и показывает? Да, пользоваться сообщить это так удобно.
Добавь тогда ещё сообщить(Движение.Подразделение) после присвоения, и прочие варианты.
(18) Отладка работает и так, сервер в режиме отладке запускается для отладки серверных процедур и функций.используй на клиенте и отлаживай
22 Apokalipsec
 
04.12.13
08:57
(20) А вот после конца если у тебя какого торчит:
Движение.Подразделение                 = Подразделение;
тоже самое у него плин.
23 Галахад
 
гуру
04.12.13
08:57
(20) Вот жеж...

Я спрашивал, если сделать копию скульной базы и там провести документ, что произойдет.
24 Apokalipsec
 
04.12.13
08:58
продолжай не пользоваться отладчиком, ведь сообщить() - это гораздо удобнее.
25 Галахад
 
гуру
04.12.13
08:58
(22) :-)
26 Apokalipsec
 
04.12.13
08:59
(23) он потом пустое значение опять пихает в подразделение, так что никаких кешей и кривости 1Са.
27 Обработка
 
04.12.13
09:01
Пляяя. Посыпаю пеплом....

Всем спасибо!
Извиняюсь за ваше время.
28 Обработка
 
04.12.13
09:02
Да блин долбанный копипаст.
29 Обработка
 
04.12.13
09:04
(24) Как лекго скульную базу превратить в режим отладки?
И не повлияет ли это на производительность?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.