Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> "Спр.ВыбратьЭлементы()" Направление поиска? , "Спр.ВыбратьЭлементы()" Направление поиска?          
zetovich Подменю пользователя
сообщение 17.08.09, 18:55
Сообщение #1

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Комплексная ...типовая. (почти, в данном контексте типовая).
Есть документ РКО. При вводе нового кассу получаем так:


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

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

zetovich Подменю пользователя
сообщение 17.08.09, 19:09
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

+ забыл сказать...
при интерактвином выборе стоит сортировка по наименованию везде.

Fynjy Подменю пользователя
сообщение 17.08.09, 19:13
Сообщение #3

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Есть возможность указывать порядок - код, наименование, реквизит - используй.


Signature

zetovich Подменю пользователя
сообщение 17.08.09, 19:16
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(Fynjy @ 17.08.09, 21:13) *
Есть возможность указывать порядок - код, наименование, реквизит - используй.

не совем понял о чем речь.
то как исчпраивть то понятно (если речь об этом).
вопрос в другом...какого хрена так?

dmiter Подменю пользователя
сообщение 17.08.09, 20:58
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

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

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

Спасибо сказали: zetovich,

zetovich Подменю пользователя
сообщение 18.08.09, 7:38
Сообщение #6

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

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

Ваша идея понятна...
но это как то абсурдно....хотя у нас в жизни много абсурдов.

Acid Подменю пользователя
сообщение 18.08.09, 8:25
Сообщение #7

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

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


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


Signature

Документируйте Код! мать вашу...


zetovich Подменю пользователя
сообщение 18.08.09, 8:52
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(Кузьмич @ 18.08.09, 10:25) *
Ты бы проверил на узле или действительно:

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

друг, как искать то понятно. (з.ы. покоду может быт такая херь wink.gif)
вопрос совсем другой..
какого хера направление посика/сортировки разное.....или еще какой причине.

zetovich Подменю пользователя
сообщение 18.08.09, 9:20
Сообщение #9

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

вопрос снят.
dmiter был прав.
тему клоуз.

Acid Подменю пользователя
сообщение 18.08.09, 9:32
Сообщение #10

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

в догонку...
не просто "ПоКоду", а по "ЗначениеВСтроку" или "ЗначениеВСтрокуВнутр"
Тогда даже если случайно заденут код или наименование выберется правильный объект.

Сообщение отредактировал Кузьмич - 18.08.09, 9:36


Signature

Документируйте Код! мать вашу...


Fynjy Подменю пользователя
сообщение 18.08.09, 15:15
Сообщение #11

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

ПорядокНаименований();
Синтаксис:
ПорядокНаименований()
Назначение:
Установить порядок выборки элементов справочника по возрастанию наименования.
Замечание:
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.


Signature

Fynjy Подменю пользователя
сообщение 18.08.09, 15:15
Сообщение #12

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

ПорядокКодов();
Синтаксис:
ПорядокКодов()
Назначение:
Установить порядок выборки элементов справочника по возрастанию кода.
Замечание:
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.


Signature

Спасибо сказали: zetovich,

Fynjy Подменю пользователя
сообщение 18.08.09, 15:16
Сообщение #13

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

ПорядокРеквизита(<?>);
Синтаксис:
ПорядокРеквизита(<ИмяРеквизита>)
Назначение:
Установить порядок выборки элементов справочника по возрастанию значения реквизита.
Параметры:
<ИмяРеквизита> - строка с именем реквизита, по возрастанию значений которого выполняется выборка.
Замечание:
Метод может использоваться только для реквизита с установленным признаком Сортировка.
Метод вызывается до вызова метода ВыбратьЭлементы.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.
Подробнее см. в документации, глава 'Работа со Справочниками'


Signature

zetovich Подменю пользователя
сообщение 18.08.09, 15:28
Сообщение #14

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Fynjy
спс. уже сделано smile.gif

W-divin Подменю пользователя
сообщение 19.08.09, 10:55
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 5 раз
Рейтинг: 0

у 1С все выборки, ежели не указывать явно порядок сортировки, сортируюццо по внутреннему представлению ))) попробуй на любом справочнике:


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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 22:36
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!