Имя: Пароль:
1C
1С v8
Вопрос новичка: Поиск по двум параметрам
0 igel1969
 
28.08.12
09:52
Простите за чайниковость, я опытный программист с многолетним стажем, но в 1С только начинаю. Итак попробую внятно изложить вопрос:

склады разбиты на группы. у номера группы пефикс "Г", например
группа Г00000023 имеет название Мамадыш
внутри этой группы есть несколько складов с таким же номером, но с разными префиксами, например
A00000023 Мамадыш оптовый
900000023 Мамадыш розничный
D00000023 Мамадыш ГСМ
000000023 Мамадыш ТМЦ

но дело в том, что тупые бухгалтера наставили префиксы от балды, т.е. если у склада "Мамадыш розничный" в данном примере префикс 9, то это не значит что у склада Чистополь розничный префикс не будет Г или 0. Наводить порядок в префиксах бесполезно, так как бухи колхозные, очень тупые и новые склады опять заведут от балды.

задача: известны номер (в данном примере "23" и надонайти склад со словом "розничный" в наименовании с таким номером. в 1С естьотдельно поиск по номеру и поиск по наименованию, а поиск по обоим значениям я не нашел.
Помогите, пожалуйста!
1 Wobland
 
28.08.12
09:53
Запрос=Новый Запрос;
2 Wobland
 
28.08.12
09:53
а дальше как в SQL
3 ДенисЧ
 
28.08.12
09:53
найти где?
Интерактивно?
Программно?
Если первое, то отбор, если второе, то запрос...
4 butterbean
 
28.08.12
09:54
(0) заведи реквизит и не ипи мосх префиксами и названиями
5 igel1969
 
28.08.12
09:55
программно, конечно
6 Ursus maritimus
 
28.08.12
09:56
(0) Много читай про иерархическую структуру справочников.
7 Нуф-Нуф
 
28.08.12
09:57
ВыбратьИерархически
8 eses
 
28.08.12
09:59
(0) зачем ты Л на Д исправил? шифр?
9 igel1969
 
28.08.12
10:01
где я исправил Л на Д ?????
10 igel1969
 
28.08.12
10:02
вот как раз вопрос насчет выбрать иерархически - группа, в которой состоит склад является родителем этого склада или владельцем, или я вообще все неправильно понимаю? если группа родитель склада, то я смогу "ВыбратьИерархически", тут мне все понятно
11 vmv
 
28.08.12
10:04
(0) не читая

используй запрос и не ври тут про опытность и все такое - задача для студента 1-го курса, только сегодня развренувшего пиратку
12 igel1969
 
28.08.12
10:08
в принципе, благодаря вам узнал что существуют запросы, нашел в описании встроенного языка эту главу, дальше разберусь сам. всем спасибо, тема закрыта
13 ДенисЧ
 
28.08.12
10:09
мммм...
"опытный программист с многолетним стажем", не читая документацию, пытается программировать в незнакомой среде? О_о
14 vmv
 
28.08.12
10:12
(13) он узнал, что существуют запросы - пытливый ум!
15 Godofsin
 
28.08.12
10:20
товарищи одноэснэги не могут не заклевать ))))
Некоторые вещи никогда не меняются (с)
16 igel1969
 
28.08.12
10:21
в принципе я второй день программирую в 1С, не судите, да не судимы будете. другой язык, другая среда, все непривычное. я пишу переброску документов из другой программы, хранящей все на MS SQL сервере. структуру данный другой программы знаю досконально. уже научился в 1С создавать документ разного типа, создавать строку с номенклатурой (мы в 1С не тянем всю номенклатуру, а просто суммируем строки из складской программы и в 1С пишем всего две строки: товар с НДС 10% и товар с НДС 18%) прописывать в документа партнера, организацию, заполнять другие поля документа и номенклатуры. осталось заполнить в документе поле склад, в номенклатуре номера счетов  попытаться провести документ.
17 Dionis Sergeevich
 
28.08.12
10:25
(16) на второй день программирования отлично помогает гугл.
18 vmv
 
28.08.12
10:27
(16)  ты прямо из 1С можешь увидеть всю структуру своей скульной базы, а в последних релизах даже ваять к ней сложные запросы напрямую, как привык, внушив себе, что никакая это не 1С, а твоя скулька. А уже сама запись дока после выборки - ерунда.
19 shpioleg
 
28.08.12
10:31
(16) "наставили префиксы от балды"
"наводить порядок в префиксах бесполезно"
Ага, порядок в базе для слабаков. Код у складов вообще имеет смысл? (для твоего переноса, например).
20 igel1969
 
28.08.12
10:32
та в том и дело, что проблем с выборкой из СВОЕЙ базы у меня нет, но там совсем другие обозначения. если вернуться к первому примеру, то в складской базе есть всего ОДИН склад Мамадыш с простым номером "23", без нолей и префиксов. а в 1С есть целая группа складов. а мне надо писать документы в розничный. и проблема встала имнно в том, чтобы найти розничный склад с таким номером и уже потом присвоить найденное значение соответствующему полю создаваемого документа.
21 igel1969
 
28.08.12
10:33
да, какой код в складской базе, такой же и в 1С, но без префиксов, васе описано в предыдущем сообщении
22 vmv
 
28.08.12
10:36
(21) в отладчике определи УИД этого склада и по нему при обменах заливай доки с поиском этого склада по УИДу, ибо "бухи колхозные, очень тупые и новые склады опять заведут от балды"
23 КонецЕсли
 
28.08.12
10:37
Выбрать ссылка из справочник.Склады где наименование подобно "%розничный%" и код подобно "%23"
24 vmv
 
28.08.12
10:38
(22) примеры работы с УИДом можно найти в общих модулях типовых, лучше взять новые конфы и не особо навороченные: БСП, УНФ
25 vmv
 
28.08.12
10:38
(23) от лукавого)
26 КонецЕсли
 
28.08.12
10:40
(25) ага, ибо попадут и 123 и 223 и добуя23.
27 igel1969
 
28.08.12
10:44
о, наконец настал тот момент, который бывает на всех форумах: участники перестали нападать на автора, а начали srаться между собой - чей метод круче ))))
взял попкорна и колы, сижу, наблюдаю ))))))))
28 shpioleg
 
28.08.12
10:48
(20) Если в складской базе всего 1 склад Мамадыш, то нафига тебе что-то по коду искать?
Ищи просто "Мамадыш розничный" ("мне надо писать документы в розничный...").
29 igel1969
 
28.08.12
10:50
(28) В складской базе он называется "Мамадышский склад ООО"Трампампам"
30 vmv
 
28.08.12
10:57
(27) тут не бъют лежачего, поднимайся)
31 shpioleg
 
28.08.12
11:01
(29) Да какая разница как он там называется, если в 1С все загружаешь на "Мамадыш розничный".
Реквизит Код не для того придуман, чтобы туда "по большому ходить" ;)
Не зря же его прячут от редактирования.
32 igel1969
 
28.08.12
11:07
(29) кто-то из нас нефига не понимает.
в складской базе у меня 25 складов.
в 1С 25 * 4 = 100 складов.
я беру документ из складской базы и должен создать документ с соответствующим складом в 1С. Мне что, все документы писать в "Мамадыш розничный"? и Чистопольские, и Камскоустьинские, и Набережночелнинские???????
по наименованию склады в складской базе и в 1С не совпадают, только по коду, но с отклонениями в виде префикса, как описано выше.
33 КонецЕсли
 
28.08.12
11:26
(32) У тебя  код в 1С однотипный? Один символ префикса+8 разрядов на код?
34 igel1969
 
28.08.12
11:33
(33) Да, именно так
35 igel1969
 
28.08.12
11:33
но префиксы все от балды расставлены разные
36 Повелитель
 
28.08.12
11:48
ВЫБРАТЬ
   Склады.Ссылка
ИЗ
   Справочник.Склады КАК Склады
ГДЕ
   Склады.Наименование ПОДОБНО "%Розн%"
   И Склады.Код ПОДОБНО "%23%"

Вот готовый запрос, вставь в консоль запросов, будет работать
37 igel1969
 
28.08.12
11:50
всем спасибо, извините мне надо уехать, больше не читаю до вечера, да в принципе и так все уже давно понятно, было очень приятно пообщаться
38 КонецЕсли
 
28.08.12
12:08
(34) Ну и вычисля нужный тебе код и подставляй в отбор
код=СокрЛП(твойКодСклада);
Пока СтрДлина(код)<8 Цикл
  код="0"+код;
КонецЦикла;
код="%"+код;

потом запрос
Выбрать ссылка из справочник.Склады где наименование подобно "%розничный%" и код подобно &код
39 КонецЕсли
 
28.08.12
12:09
+ вот это
Пока СтрДлина(код)<8 Цикл
  код="0"+код;
КонецЦикла;

можно сделать и по-другому в 1 строчку
40 mistеr
 
28.08.12
12:36
(36) >Склады.Код ПОДОБНО "%23%"

Зачем бомбу закладываешь?
41 vmv
 
28.08.12
12:47
(0) вам как "я опытный программист с многолетним стажем" дам правильный совет. Вы говорите, что складов с скульной базе и базе 1С порядка сотни.

Так вот в СВОЕЙ скульной базе создайте служебную таблицу куда забейте записи сопоставления УИДОВ таблицы "Склады" 1С с записями таблицы "склады" вашей внешней БД. Лучше в дальнейшем создать объект "Расписание" в 1С который будет синхронить ваши таблицы.

Дальше все просто, правда. Про внешние источники 1С и прямой запрос к вашим таблицам данных и таблице сихронизации говорить рано, но игнорирование такой таблицы синхронизации и использование методов, которые вы тут озвучили - это непрофессионализм, однозначно
42 shpioleg
 
28.08.12
12:58
(41) ИМХО, если количество складов достаточно статично, то проще все соответствия кодов во внешней базе и в 1С загнать прям в обработку переноса доков. Если постоянно добавляются, то как в (4). А так как хочет ТС - это тупиковый путь. Завтра ему вместо простого кода склада 23 введут, что-то типа AX456GHF748 и приехали.