Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Стандартные глюки 1С и способы их преодолеть  (Прочитано 25582 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Harry
Модератор

ua
Offline Offline

« : 06-12-2005 08:00 » 

Здесь будут помещаться описание стандартных глюков. То что должно работать... вдруг не работает. Ну и как это обойти  Улыбаюсь
Записан

Слабый пол силен в силу слабости сильного пола к слабому
Borisqua
Гость
« Ответ #1 : 20-12-2005 21:17 » new

1С:Предприятие 7.7 Конфигурация УСН 1.3
В обработке ИППБИКсРБК ошибка в процедура ОбновитьКлассификатор: неправильные номера полей БИК и КорСчет, нужно 5 и 6, а в процедуре 6 и 7 (порядок полей изменился в связи с изменением структуры файла bnkseek.txt получаемого с сайта РБК в составе архива bnk.exe). Из-за этой ошибки классификатор банков при обновлении его с сайта РБК почти полностью очищается, а если стоит флажок обновить справочник, то и все банки в справочнике помечаются на удаление.
Ниже исправленный фрагмент кода процедуры ОбновитьКлассификатор:

//ИначеЕсли НомПоля = 5 Тогда   //удалено
//   Банк = ?(НазваниеОдногоПоля="+",Банк,СокрЛП(?(Найти(Банк,","+PZN+",")>0,PZN,""))+" "+Банк);
ИначеЕсли НомПоля = 5 Тогда //исправлено, было НомПоля=6
   БИК = СокрЛП(НазваниеОдногоПоля);
ИначеЕсли НомПоля = 6 Тогда //исправлено, было НомПоля=7
   КорСчет = СокрЛП(НазваниеОдногоПоля);
КонецЕсли;
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #2 : 15-10-2008 04:08 » 

Не знаю на сколько это глюк. (Может я что-то не понимаю)
Конфигурация "торговля+склад" редакция 9.2  (7.70.929)
Очень простая задача - выбрать запросом из регистра ОстаткиТМЦ номенклатуру и остатки по ней:

Код:
ТекстЗапр=
"//{{Запрос(ОстаткиРозницы)
   |Товар=Регистр.ОстаткиТмц.Номенклатура;
   |Колво=Регистр.ОстаткиТмц.Количество;
   |Группировка Товар;
   |Функция ВсегоТов=КонОст(КолВо);
   |"//}}Запрос
;

ЗапросКво=СоздатьОбъект("Запрос");
ЗапросКво.Выполнить(ТекстЗапр);

Пока ЗапросКво.Группировка("Товар")=1 цикл
     Сообщить(ЗапросКво.Товар+",  Всего  - "+ЗапросКво.ВсегоТов);
конеццикла;

Результат:

Номенклатура1
Номенклатура2
Номенклатура3
...

Т.е. не выводится часть строки - ",  Всего  - "+ЗапросКво.ВсегоТов
Но если сунуть перед ЗапросКво.Товар  любой строковый литерал, например так

Код:
     Сообщить("  "+ЗапросКво.Товар+",  Всего  - "+ЗапросКво.ВсегоТов);

тогда выводится как надо

Номенклатура1, Всего - 12
Номенклатура2, Всего - 11
Номенклатура3, Всего - 52
...
« Последнее редактирование: 15-10-2008 06:58 от Dest » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 15-10-2008 06:48 » 

Не знаю на сколько это глюк. (Может я что-то не понимаю)...
Похоже на глюк. Я с таким сталкивался с числовыми значениями (когда первый операнд суммирования - число). Напиши еще номер релиза платформы.

Еще один глюк в копилку:
Код:
ТекстЗапроса="
|Без итогов;
|Эл=Справочник.Справочник1.ТекущийЭлемент,Справочник.Справочник2.ТекущийЭлемент;
|Зн=Справочник.Справочник1.Реквизит,Справочник.Справочник2.Владелец;
|Группировка Эл;
|Группировка Зн;
//|Условие(...);
|";

Запрос=СоздатьОбъект("Запрос");
Запрос.Выполнить(ТекстЗапроса);

Пока Запрос.Группировка()=1 Цикл
Сообщить(Шаблон("[Запрос.Эл]: [Запрос.Зн]"));
КонецЦикла;

1С 7.7 027: на dbf базе все нормально, та же база на sql - не заполняется Запрос.Зн для Справочник2 (т.е. Владелец)
Обходить приходится проверкой типа и заполнением внутри выборки:
Код:
Пока Запрос.Группировка()=1 Цикл
Зн=?(Запрос.Эл.Вид()="Справочник2",Запрос.Эл.Владелец,Запрос.Зн);
Сообщить(Шаблон("[Запрос.Эл]: [Зн]"));
КонецЦикла;
Записан
Глория
Интересующийся

by
Offline Offline

« Ответ #4 : 09-10-2009 06:47 » 

Вот еще глюк в копилку. Конфигурация 1с7.7 Предприятие. Отчет Оборотно-сальдовая ведомость по счету. Если вы попробуете создать создать отчет по количественному счету не имеющему субсчетов(маска "хх.  .  ") и при этом поменяете в цикле порядок выбора субконто (первый цикл делает отбор по второму субконото, а второй по первому, согласно установки в конфигураторе), то в отчет попадает одно количество без суммы. Сумма не подсчитывается(используются функции для подсчета бух итогов). При выборе прямого порядка обхода субконто(первый, второй) все работает как положено, в отчет попадает и сумма, и количество. При наличии у счета субсчетов ("хх.хх.**") или если счет не количественный также все выдается нормально и при любом порядке субконт.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines