powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
13 сообщений из 13, страница 1 из 1
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476509
Недавно перевели базу 1С 7.7 на SQL Server 2005.
Собственно, всё работает "на ура", кроме одной "самописной" обработки.
На одних и тех же данных (т.е. выгружаем данные из SQL и загружаем в DBF) выполняем нашу обработку и получаем на выходе разные данные.
Расследование показало, что разница возникает при выполнении следующего фрагмента кода:

Парам2 = СоздатьОбъект("СписокЗначений");
Парам2.ДобавитьЗначение("46.00");
Парам1 = СоздатьОбъект("СписокЗначений");
Ит1 = СоздатьОбъект("БухгалтерскиеИтоги");
Ит1.ИспользоватьРазделительУчета(РазделительУчета);
Если Режим="Полный" Тогда
Ит1.ИспользоватьСубконто(ВидыСубконто.ТоварныеГруппы,,,1);
конецесли;
Ит1.ВыполнитьЗапрос(ДатаВ1,ДатаВ2,Парам2,,,3);
с1=0;полная_сумма=0;сумма=0;
Если Режим="Полный" Тогда
Ит1.ВыбратьСубконто(1);
Пока Ит1.ПолучитьСубконто(1) = 1 Цикл
Субкон=Ит1.Субконто(1);
сумма1=Ит1.КО();
Субкон1=Нрег(Субкон);
Если (Субкон.ЭтоГруппа()=0) Тогда
Продолжить;
конецесли;
Если (Найти(Субкон1,"автотех")>0) Тогда
Стр=""; ссс="автотех" ;
ИначеЕсли (Найти(Субкон1,"зап")>0) Тогда
Стр=""; ссс="зап" ;
ИначеЕсли (Найти(Субкон1,"услуги")>0) Тогда
Стр=""; ссс="услуги" ;
ИначеЕсли (Найти(Субкон1,"груз")>0) Тогда
Стр=""; ссс="груз" ;
ИначеЕсли (Найти(Субкон1,"проч")>0) Тогда
Стр=""; ссс="проч" ;
Иначе
Продолжить;
КонецЕсли;


Смысл в том, что при работе на DBF варианте базы указанная конструкция отрабатывает так, как нам надо, т.е. выдаёт кредитовый оборот за период по счету/субконто, а на SQL выдаётся почему-то итоговый оборот по счету, а не по выбранному субконто.

Сталкивался ли кто-то с такой ситуацией? В чем может быть причина?
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476512
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Модель,

если у вас код 1с, а на SQL то вам и в форум 1с надо

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476630
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Модель, релиз платформы 1С какой?
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476652
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476729
DmitriyZ,
7.70.021

Владимир Лазурко, спасибо большое за ссылки. Теперь я знаю, что не один такой :) И что надо указывать параметры.


И, кстати, поменяв оператор
Код: plaintext
Ит1.ВыполнитьЗапрос(ДатаВ1,ДатаВ2,Парам2,,,3);
на
Код: plaintext
Ит1.ВыполнитьЗапрос(ДатаВ1,ДатаВ2,Парам2,,,2);
получил на SQL нормальный результат.
Но этот не ответ на вопрос "почему?..."
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476900
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Почему" - может, разные способы, архитектура, методы.
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476902
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Модель7.70.021Перейди на 7.70.027 - "там это реализовано" (С)
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38476932
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир ЛазуркоМихаил Модель7.70.021Перейди на 7.70.027 - "там это реализовано" (С)

+100

7.70.021 - чуть менее чем кривоногий, вы бы еще на 14-ом сидели
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38477009
Согласен, старьё. Но его под существующие задачи вполне хватает. А с переходом - ещё вопрос: после перехода на 27 станет на sql работать как надо, или перестанет и на bdf? И сколько появится еще вопросов, с которыми придётся разбираться?... Я следую пока базовому принципу древних АйТишников: "работает - не трогай" :)
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38477070
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>И сколько появится еще вопросов, с которыми придётся разбираться?

все ответы рассчитаны как раз на пользование 7.7 27.
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38477587
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил МодельСогласен, старьё. Но его под существующие задачи вполне хватает. А с переходом - ещё вопрос: после перехода на 27 станет на sql работать как надо, или перестанет и на bdf? И сколько появится еще вопросов, с которыми придётся разбираться?... Я следую пока базовому принципу древних АйТишников: "работает - не трогай" :) У вас два варианта: или менять релиз или переписывать код под 21 релиз, что бы он одинаково работал и там и там. Решение в любом случае за вами.
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38477652
Фотография MicMic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Модель ...
Смысл в том, что при работе на DBF варианте базы указанная конструкция отрабатывает так, как нам надо, т.е. выдаёт кредитовый оборот за период по счету/субконто, а на SQL выдаётся почему-то итоговый оборот по счету, а не по выбранному субконто.

Сталкивался ли кто-то с такой ситуацией? В чем может быть причина?

Поставьте последний релиз платформы и будет счастье.
В чем конкретно причина, бог его знает.
В части релизов были ошибки в различных методах, когда корректно отрабатывали в дбф и некорректно в SQL или наоборот.
Кроме того, 21 релиз официально не поддерживает 2005 SQL, могут и тут быть причины.
...
Рейтинг: 0 / 0
По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
    #38477710
Фотография MicMic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил МодельСогласен, старьё. Но его под существующие задачи вполне хватает. А с переходом - ещё вопрос: после перехода на 27 станет на sql работать как надо, или перестанет и на bdf? И сколько появится еще вопросов, с которыми придётся разбираться?... Я следую пока базовому принципу древних АйТишников: "работает - не трогай" :)

Я понимаю вопрос такой появился бы при переходе с 7.5 на 7.7., 8.0 на 8.1 и т.д.
Могут возникнут проблемы при больших скачках между релизами 8.2, платформа пока развивалась.

Но с 21 на 27 7.7. никаких проблем нет.
Помнится я перескакивал с 18 (достаточно стабильный и корректный) на 25.
Может быть и с 21, прошло то уже лет 10 с тех пор.
Проблем никаких не возникло. Во всяком случае, не вспоминается, если и было, то что то не значительное
25 и 27 ничем не отличается, в 27 помнится только поддержку SQL 2005 добавили, 26 - й не использовался,.

Конфа полностью не типовая была. Половина - это изначально одна из первых бух. 7.7., вторая половина присоединена в процессе работы и изначально ТиС под 7.5. Вот такая вот солянка с более 200 пользователями.

так что не думайте, просто смените релиз. Может даже побыстрее немного будет.
Например в старых релизах, если не ошибаюсь итоги фактически не использовались

ЗЫ. Кстати может быть это проблемой.
Т.е. в ДБФ варианте фактически собирает движения с начала времен и получает остаток.
В СКЛ варианте получает остаток из ближайшего итога и добавляет (вычитает) движения до искомой даты.
Если итоги не пересчитывались и есть ошибка в них, то получите разные данные.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / По-разному работает метод в 1С 7.7. на DBF и на SQL варианте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]