|   |   | 
| 
 | Найти ссылку передаваемого параметра запросом. | ☑ | ||
|---|---|---|---|---|
| 0
    
        JuixyJes 13.09.19✎ 17:14 | 
        Имеется дох***а нетиповых документов, мне нужно вытащить ссылку запросом на этот документ, для того чтобы поменять в нем данные программно, как это сделать?     | |||
| 1
    
        sqr4 13.09.19✎ 17:16 | 
        (0) ты же уже не маленькая девочка, ну сформулируй нормально. Что за ссылка - это УИД или еще чтото?     | |||
| 2
    
        trooba 13.09.19✎ 17:17 | 
        (0) Нифига не понятно     | |||
| 3
    
        hhhh 13.09.19✎ 17:17 | 
        (0) выбрать ссылка из твойнетиповойдокумент     | |||
| 4
    
        JuixyJes 13.09.19✎ 17:18 | 
        (3) Мне бы ссылку из любого документа вытаскивать. (1) Ссылка - это ссылка на документ.     | |||
| 5
    
        JuixyJes 13.09.19✎ 17:19 | 
        (3) Или вы предлагаете Выбрать Ссылка из &Документ ?     | |||
| 6
    
        trooba 13.09.19✎ 17:19 | 
        Выбрать Дох.Ссылка из Дох как дох     | |||
| 7
    
        ptiz 13.09.19✎ 17:19 | 
        Выбрать &Документ     | |||
| 8
    
        trooba 13.09.19✎ 17:20 | 
        (5) Разные типы документов? Их (типов) количество и типы известны?     | |||
| 9
    
        Zhuravlik 13.09.19✎ 17:21 | 
        (0) Опираясь на метаданные динамически сформировать текст запроса     | |||
| 10
    
        trooba 13.09.19✎ 17:22 | 
        (9) +1     | |||
| 11
    
        JuixyJes 13.09.19✎ 17:22 | 
        (8) Да, их несколько, штук 20     | |||
| 12
    
        JuixyJes 13.09.19✎ 17:23 | 
        (9) я так и хотела, но вот проблема, штук 20 это примерно, не известно сколько их     | |||
| 13
    
        hhhh 13.09.19✎ 17:24 | 
        (11) ну если меньше 200, то никакой проблемы     | |||
| 14
    
        sqr4 13.09.19✎ 17:26 | 
        (12) для каждого Документ из метаданные.документы     | |||
| 15
    
        JuixyJes 13.09.19✎ 17:28 | 
        (14) ВЫБРАТЬ
 мЗаявкаНаЗайм.Номер КАК Номер, мЗаявкаНаЗайм.ПодразделениеОрганизации, ПодразделенияОрганизаций.Код, ИЗ Документ.мЗаявкаНаЗайм КАК мЗаявкаНаЗайм ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПО мЗаявкаНаЗайм.ПодразделениеОрганизации = ПодразделенияОрганизаций.Ссылка ГДЕ мЗаявкаНаЗайм.ПодразделениеОрганизации = &ПодразделениеОрганизации УПОРЯДОЧИТЬ ПО Номер | |||
| 16
    
        JuixyJes 13.09.19✎ 17:29 | 
        и типо как текст менять то?     | |||
| 17
    
        JuixyJes 13.09.19✎ 17:31 | 
        мне, как я понимаю нужно менять в запросе => мЗаявкаНаЗайм <= вот это     | |||
| 18
    
        sqr4 13.09.19✎ 17:32 | 
        (16) напиши по русски а не по китайски, по полочкам что тебе нужно сделать. Я пока не понимаю что нужно сделать.     | |||
| 19
    
        hhhh 13.09.19✎ 17:35 | 
        (16) Запрос.Текст = Запрос.Текст + Текст;
 и так 200 раз | |||
| 20
    
        sqr4 13.09.19✎ 17:36 | 
        (19) да там видишь соединение, т.е надо проверять еще на доступность реквизитов     | |||
| 21
    
        sqr4 13.09.19✎ 17:36 | 
        ну вообщем с метаданными работа все верно написано в (9)     | |||
| 22
    
        JuixyJes 13.09.19✎ 17:36 | 
        В базе много подразделений. Мне нужно чтобы при создании любого нового документа для каждого подразделения шла своя нумерация.     | |||
| 23
    
        JuixyJes 13.09.19✎ 17:37 | 
        Возможно я тут зря так сильно загоняюсь и есть решение проще?     | |||
| 24
    
        sqr4 13.09.19✎ 17:39 | 
        (23) ты бы с фотокой в купальнике так разгонялась. Нумерация идет в рамках одного вида документа или общая для всех?     | |||
| 25
    
        hhhh 13.09.19✎ 17:39 | 
        (20) не нужно там соединение
 просто мЗаявкаНаЗайм.ПодразделениеОрганизации.Код а соединение выкинуть | |||
| 26
    
        sqr4 13.09.19✎ 17:39 | 
        (23) самой делать нумерацию, та еще забава, все равно не получится нормально     | |||
| 27
    
        JuixyJes 13.09.19✎ 17:40 | 
        (24) в рамках одного вида документа     | |||
| 28
    
        JuixyJes 13.09.19✎ 17:43 | 
        +(27) Просто нужно сделать так. Если еще не было по этому подразделению то дать номер документу допустим ПРК000001, потом ПРК000002 и тд, тут так хоп, другое подразделение, по нему еще не было документов, ему так БАХ ПРД000001, ПРД000002 и тд и тп     | |||
| 29
    
        hhhh 13.09.19✎ 17:45 | 
        (27) тогда тут ссылки вообще не нужны. и запросы тоже. тебе нужно просто присвоить для разных подрезделений разные префиксы. и всё. а система по префиксам сама присвоит нужный номер.     | |||
| 30
    
        sqr4 13.09.19✎ 17:46 | 
        (28) вот поэтому и надо давать нормальный формулировки. Фото срочно, радуй помогал, да еще и в праздник)     | |||
| 31
    
        hhhh 13.09.19✎ 17:48 | 
        (28) просто подразделению Кобры даешь префикс ПРК, а подразделению Гадюшник даешь префикс ПРГ. И всё. Остальное само всё сделается.     | |||
| 32
    
        JuixyJes 13.09.19✎ 17:59 | 
        (31) Тут проблема в том, что база частично РИБовая, частично нет. И префиксы уже есть у подразделений, и документы все идут с префиксом ЦБ, поэтому и нужно как то это поправить.     | |||
| 33
    
        sqr4 13.09.19✎ 17:59 | 
        (32) Нда...     | |||
| 34
    
        JuixyJes 13.09.19✎ 18:00 | 
        (33) Ну не мы такие, клиенты такие.     | |||
| 35
    
        novichok79 13.09.19✎ 18:10 | 
        (0) можно и без запроса
 Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(ДокументСсылка)) Тогда ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); КонецЕсли; | |||
| 36
    
        hhhh 13.09.19✎ 18:11 | 
        (32) ну это понятно идет префикс ИБ + префикс подразделения. Будет теперь у вас ЦБПРГ, ПБПРГ и так далее.     | |||
| 37
    
        JuixyJes 16.09.19✎ 09:16 | 
        (35) вот это решение мне нравится. Но как мне префиксацию документов сделать таким методом? Ведь мне все равно нужно найти есть ли документы с этим подразделением и установленным префиксом.     | |||
| 38
    
        DmVl76 16.09.19✎ 09:54 | 
        (32) Если документы по одному подразделению создаются в разных распределенных базах - то только (36) - префикс узла+префикс подразделения.     | |||
| 39
    
        novichok79 16.09.19✎ 10:58 | 
        (37) в событии "ПриУстановкеНовогоНомера" документа?
 Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | 1 |ИЗ | Документ.РеализацияУслугПрочихАктивов КАК РеализацияУслугПрочихАктивов |ГДЕ | ПОДСТРОКА(РеализацияУслугПрочихАктивов.Номер, 6, 1) = ""У"""; Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Префикс = "0"; Иначе Префикс = ""; КонецЕсли; КонецПроцедуры | |||
| 40
    
        novichok79 16.09.19✎ 11:00 | 
        (37) это будет тормозить, но лучше этого 1С не придумала ничего.     | |||
| 41
    
        JuixyJes 16.09.19✎ 11:09 | 
        Префикс указала так:
 Если Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить()<>"" Тогда Префикс = Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить(); //ЛМА Если Префикс = "ЦБ" Тогда Префикс = Лев(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователи.ТекущийПользователь(), "ОсновноеПодразделениеОрганизации").Код,3); КонецЕсли; //ЛМА КонецЕсли; | |||
| 42
    
        JuixyJes 16.09.19✎ 11:10 | 
        Но тут вопрос, нумерация пошла по одному месту, ибо ЦБ документы идут с нумерацией другой, мне нужно найти последний документ с префиксом, который у подразделения     | |||
| 43
    
        novichok79 16.09.19✎ 11:15 | 
        (42) в бизнес-логику я не хочу въезжать. если надо получить последний документ с префиксом, который есть у подразделения, тогда запроса с агрегацией по максимуму не избежать, а значит решение будет однозначно тормозить. я так уже делал, лет 6 назад, потом пришлось менять логику, чтобы пользователи могли документы записывать.
 по коду - зачем 2 раза получать Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить() можно получить 1 раз + вот здесь Префикс = Лев(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователи.ТекущийПользователь(), "ОсновноеПодразделениеОрганизации").Код,3) код получается через разыменование, система возьмет из базы весь объект. легче и правильнее код через запрос вытащить. | |||
| 44
    
        JuixyJes 16.09.19✎ 11:18 | 
        (43) мой код исключительно между комментариев, то что было до этого сказано не трогать.     | |||
| 45
    
        novichok79 16.09.19✎ 11:18 | 
        длина номера документа = префикс + нумератор от 1С.
 соответственно, если сделать префикс "КАРТОХА", то 1С при записи найдет документ с максимальным кодом, который начинается на "КАРТОХА" и добавит 1 к номеру, полученный номер присваивается документу. как-то так. | |||
| 46
    
        novichok79 16.09.19✎ 11:19 | 
        (44) 1С любит все унифицировать, в итоге получается тормознутое УГ в некоторых местах.     | |||
| 47
    
        novichok79 16.09.19✎ 11:20 | 
        ну и префикс "ЦБ" наверное лучше вынести в константу, а не хардкодить.     | |||
| 48
    
        JuixyJes 16.09.19✎ 11:29 | 
        (47) я префиксацию такую показала клиенту, все устроило (там видимо программисты слабенькие)     | |||
| 49
    
        JuixyJes 16.09.19✎ 11:31 | 
        Итак, вернемся к вопросу о восстановлении нумерации. у меня допустим есть документ последний ГРЛ0000567 следующий, поидее должен быть ГРЛ0000568, а по факту имею ГРЛ0001023, т.к. документ с префиксом ЦБ последний был ЦБ00001022     | |||
| 50
    
        novichok79 16.09.19✎ 11:32 | 
        (48) ну раз все ок, то "окончен бой, беру портвейн, иду домой" :)     | |||
| 51
    
        novichok79 16.09.19✎ 11:32 | 
        (49) нумерация в пределах года?     | |||
| 52
    
        JuixyJes 16.09.19✎ 11:33 | 
        (51) да     | |||
| 53
    
        novichok79 16.09.19✎ 11:35 | 
        (52) так поменяй ее, иначе у тебя счетчик каждый год сбрасываться будет.     | |||
| 54
    
        JuixyJes 16.09.19✎ 11:38 | 
        (53) А это и надо клиенту оставить. Просто сейчас нужно сделать так, чтобы находился документ, последний с префиксом нужным и к коду добавлялась 1     | |||
| 55
    
        novichok79 16.09.19✎ 11:41 | 
        (54) ну так "работайте, братья"     | |||
| 56
    
        JuixyJes 16.09.19✎ 11:49 | 
        (55) Подскажите, как найти документ с самым большим номером с нужным префиксом?     | |||
| 57
    
        JuixyJes 16.09.19✎ 12:16 | 
        Решила проблему с префиксом иным способом, подпиской на событие для всех документов     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |