|
Вопрос новичка: Поиск по двум параметрам | ☑ | ||
---|---|---|---|---|
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 и приехали.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |