Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: "Спр.ВыбратьЭлементы()" Направление поиска?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
zetovich
Комплексная ...типовая. (почти, в данном контексте типовая).
Есть документ РКО. При вводе нового кассу получаем так:


Функция глПолучитьКассу(Фирма,Валюта) Экспорт
Спр = СоздатьОбъект("Справочник.НашиДенежныеСчета");
Спр.ИспользоватьВладельца(Фирма);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Счет = Спр.ТекущийЭлемент();
Если Счет.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
Если (Счет.Безнал = 0) и (Счет.Валюта = Валюта) Тогда
Возврат Счет;
КонецЕсли;
КонецЦикла;
глКомментарий("Не найдена касса с валютой "+Валюта+" по фирме "+Фирма+"!",0,,"!");
Возврат 0;
КонецФункции //глПолучитьКассу

Вообщем нормально.
Есть одно НО...
База распределенная...в одном узле выбирает кассу1, в другом кассу2 (спр.НашиДенежныеСчета мигрирует весь...т.е. он одинаковый что в цента....что в перефирии)
з.ы. конфа есно одинакова
з.ы.ы. кодовая страница тож одинакова (конечно)
вопрос:
какого хрена? где какие то глобальные натсройки винды?...хз
zetovich
+ забыл сказать...
при интерактвином выборе стоит сортировка по наименованию везде.
Fynjy
Есть возможность указывать порядок - код, наименование, реквизит - используй.
zetovich
Цитата(Fynjy @ 17.08.09, 21:13) необходимо зарегистрироваться для просмотра ссылки
Есть возможность указывать порядок - код, наименование, реквизит - используй.

не совем понял о чем речь.
то как исчпраивть то понятно (если речь об этом).
вопрос в другом...какого хрена так?
dmiter
Цитата(zetovich @ 17.08.09, 21:16) необходимо зарегистрироваться для просмотра ссылки
не совем понял о чем речь.
то как исчпраивть то понятно (если речь об этом).
вопрос в другом...какого хрена так?

Кроме видимых реквизитов у всех таблиц 1с есть и невидимые по которым и строятся связи между базами (как-то ключи). Без указания сортировки выборка может происходить или по этим реквизитам или по номеру записи в таблице. Возможно две кассы (элементы справочника) в одной таблице записаны в одном порядке, а в другой (распределенной) в другом. Вот и выборка происходит по разному. В сиквеле не знаю - там по запросу порядок неважен - а вот в дбф-е уж точно. Надо просмотреть таблицы Кассы и проверить - верно ли мое предположение.
zetovich
Цитата(dmiter @ 17.08.09, 22:58) необходимо зарегистрироваться для просмотра ссылки
Кроме видимых реквизитов у всех таблиц 1с есть и невидимые по которым и строятся связи между базами (как-то ключи). Без указания сортировки выборка может происходить или по этим реквизитам или по номеру записи в таблице. Возможно две кассы (элементы справочника) в одной таблице записаны в одном порядке, а в другой (распределенной) в другом. Вот и выборка происходит по разному. В сиквеле не знаю - там по запросу порядок неважен - а вот в дбф-е уж точно. Надо просмотреть таблицы Кассы и проверить - верно ли мое предположение.

Ваша идея понятна...
но это как то абсурдно....хотя у нас в жизни много абсурдов.
Acid
Ты бы проверил на узле или действительно:
Цитата
Если (Счет.Безнал = 0) и (Счет.Валюта = Валюта) Тогда


Я бы в данном случае искал по наименованию или по внутреннему коду.
zetovich
Цитата(Кузьмич @ 18.08.09, 10:25) необходимо зарегистрироваться для просмотра ссылки
Ты бы проверил на узле или действительно:

Я бы в данном случае искал по наименованию или по внутреннему коду.

друг, как искать то понятно. (з.ы. покоду может быт такая херь wink.gif)
вопрос совсем другой..
какого хера направление посика/сортировки разное.....или еще какой причине.
zetovich
вопрос снят.
dmiter был прав.
тему клоуз.
Acid
в догонку...
не просто "ПоКоду", а по "ЗначениеВСтроку" или "ЗначениеВСтрокуВнутр"
Тогда даже если случайно заденут код или наименование выберется правильный объект.
Fynjy
ПорядокНаименований();
Синтаксис:
ПорядокНаименований()
Назначение:
Установить порядок выборки элементов справочника по возрастанию наименования.
Замечание:
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.
Fynjy
ПорядокКодов();
Синтаксис:
ПорядокКодов()
Назначение:
Установить порядок выборки элементов справочника по возрастанию кода.
Замечание:
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.
Fynjy
ПорядокРеквизита(<?>);
Синтаксис:
ПорядокРеквизита(<ИмяРеквизита>)
Назначение:
Установить порядок выборки элементов справочника по возрастанию значения реквизита.
Параметры:
<ИмяРеквизита> - строка с именем реквизита, по возрастанию значений которого выполняется выборка.
Замечание:
Метод может использоваться только для реквизита с установленным признаком Сортировка.
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.
Подробнее см. в документации, глава 'Работа со Справочниками'
zetovich
Fynjy
спс. уже сделано smile.gif
W-divin
у 1С все выборки, ежели не указывать явно порядок сортировки, сортируюццо по внутреннему представлению ))) попробуй на любом справочнике:


спр=создатьобъект("справочник."+идсправочника);
спр.выбратьэлементы();
пока спр.получитьэлемент()=1 цикл
сообщить(""+спр.текущийэлемент());
конеццикла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.