| 
    
            
         
         | 
    
  | 
Как написать запрос. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        dred999    
     20.07.15 
            ✎
    13:09 
 | 
         
        Всем привет! Есть Бухгалтерия предприятия редакция 3.0 (3.0.40.36).
 
        В ней документ РасходноКассовыйОрдер. В этом документе надо сменить нумерацию документа (допустим с мая 2015). Написал запрос который выбирает документы по указанному периуду, и в принципе меняет нмерацию. Но Нужно сделать так чтобы когда выбирается периуд - Май. чтоб он цеплял последний документ за апрель, цеплял его номер и продолжал номерацию с этого номера за май.  | 
|||
| 
    1
    
        cw014    
     20.07.15 
            ✎
    13:10 
 | 
         
        Шито?     
         | 
|||
| 
    2
    
        dred999    
     20.07.15 
            ✎
    13:11 
 | 
         
        вот сам запрос
 
        Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПриходныйКассовыйОрдер.Ссылка КАК Документ, | """" КАК Номер, | ПриходныйКассовыйОрдер.Номер КАК ИсходныйНомер, | ПриходныйКассовыйОрдер.Дата КАК Дата, | ПриходныйКассовыйОрдер.ПодразделениеОрганизации КАК ПодразделениеОрганизации |ИЗ | Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер |ГДЕ | ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаН И &ДатаК | И ПриходныйКассовыйОрдер.Организация = &Организация | |УПОРЯДОЧИТЬ ПО | ПриходныйКассовыйОрдер.МоментВремени";  | 
|||
| 
    3
    
        aka AMIGO    
     20.07.15 
            ✎
    13:12 
 | 
         
        (0) имхо - это две разные задачи, решай каждую отдельно     
         | 
|||
| 
    4
    
        dred999    
     20.07.15 
            ✎
    13:14 
 | 
         
        (3) Тоесть нужно еще один запрос писать? А не этот дописывать?     
         | 
|||
| 
    5
    
        cw014    
     20.07.15 
            ✎
    13:16 
 | 
         
        Ну во-первых выяснить, какая периодичность нумерации у ПКО (или РКО, уже не поймешь, ибо в задачи РКО, а в запросе ПКО)     
         | 
|||
| 
    6
    
        Redkiy    
     20.07.15 
            ✎
    13:18 
 | 
         
        (0) есть готовое решение - 999руб.     
         | 
|||
| 
    7
    
        cw014    
     20.07.15 
            ✎
    13:18 
 | 
         
        Демпингую - 800 р     
         | 
|||
| 
    8
    
        dred999    
     20.07.15 
            ✎
    13:20 
 | 
         
        (5)  РКО и ПКО. там дальше он подменяет ПКО на РКО если ты выбираешь ПКО. А переодичность нумерации сбита . Надо выловит если выбираем периуд май. последний документ апреля и продолжить нумерацию.     
         | 
|||
| 
    9
    
        cw014    
     20.07.15 
            ✎
    13:21 
 | 
         
        (8) У тебя в апреле последний документ 000000363, то есть в мае все документы должны иметь один и тот же номер, равный 000000364     
         | 
|||
| 
    10
    
        cw014    
     20.07.15 
            ✎
    13:21 
 | 
         
        (8) Так?     
         | 
|||
| 
    11
    
        dred999    
     20.07.15 
            ✎
    13:21 
 | 
         
        (9) да!     
         | 
|||
| 
    12
    
        dred999    
     20.07.15 
            ✎
    13:23 
 | 
         
        (10) 000000364, 000000365, 000000366     
         | 
|||
| 
    13
    
        cw014    
     20.07.15 
            ✎
    13:24 
 | 
         
        (12) > Надо выловит если выбираем периуд май. последний документ апреля и продолжить нумерацию.
 
        Читаем и думаем. Алгоритм: 1) Создаем документ, получаем последний номер за апрель = 000000363 2) Инкрементируем номер 000000363 + 1 = 000000364 3) Создаем еще один документ, получаем последний номер за апрель = 000000363 4) Инкрементируем у нового документа номер 000000363 + 1 = 000000364 Дальше описывать?  | 
|||
| 
    14
    
        dred999    
     20.07.15 
            ✎
    13:27 
 | 
         
        (13) Тк вот как написать запрос чтоб получать последний номер за апрель?     
         | 
|||
| 
    15
    
        cw014    
     20.07.15 
            ✎
    13:29 
 | 
         
        (14) Как в 13 и описано     
         | 
|||
| 
    16
    
        cw014    
     20.07.15 
            ✎
    13:29 
 | 
         
        Можешь запросом     
         | 
|||
| 
    17
    
        Redkiy    
     20.07.15 
            ✎
    13:31 
 | 
         
        (14) а почему именно апрель? Если в апреле не было движений по кассе то номер 1? Думай... или 999...     
         | 
|||
| 
    18
    
        dred999    
     20.07.15 
            ✎
    13:31 
 | 
         
        (16)  добавить в существующий запрос параметры?     
         | 
|||
| 
    19
    
        cw014    
     20.07.15 
            ✎
    13:32 
 | 
         
        (18) Таки да, в (17) тебе прямо таки сказали в чем косяк твоего тз     
         | 
|||
| 
    20
    
        dred999    
     20.07.15 
            ✎
    13:34 
 | 
         
        (19) Нет не именно апрель. и движения по кассе были.в апреле.     
         | 
|||
| 
    21
    
        cw014    
     20.07.15 
            ✎
    13:36 
 | 
         
        (20) периодичность у нумератора какая?     
         | 
|||
| 
    22
    
        dred999    
     20.07.15 
            ✎
    13:43 
 | 
         
        (21) В переделах года     
         | 
|||
| 
    23
    
        cw014    
     20.07.15 
            ✎
    13:44 
 | 
         
        (22) То есть тебе все равно, что номера в течение года будут дублироваться, что приведет к нарушению уникальности?     
         | 
|||
| 
    24
    
        aka AMIGO    
     20.07.15 
            ✎
    13:45 
 | 
         
        (23) кмк, ему нужно узнать последний помер за апрель, чтобы перенумеровать все оставшиеся, начиная с 1 мая..     
         | 
|||
| 
    25
    
        dred999    
     20.07.15 
            ✎
    13:46 
 | 
         
        (24) номер последнего документа за апрель чтоб дальше продолжить его     
         | 
|||
| 
    26
    
        dred999    
     20.07.15 
            ✎
    13:47 
 | 
         
        (24)  да.!     
         | 
|||
| 
    27
    
        cw014    
     20.07.15 
            ✎
    13:47 
 | 
         
        (26) Ты разово это хочешь сделать?     
         | 
|||
| 
    28
    
        aka AMIGO    
     20.07.15 
            ✎
    13:48 
 | 
         
        должна-ж быть в 8-ке функция "ВыбратьДокументы()" с указанием "ОбратныйПорядок"..
 
        Начать цикл (за апрель), и прервать его на документе.. Вот и будет номер, и Запрос тут .. не нужен..  | 
|||
| 
    29
    
        cw014    
     20.07.15 
            ✎
    13:49 
 | 
         
        (28) Ты уверен, что последний документ за апрель имеет максимальный номер до этого периода?     
         | 
|||
| 
    30
    
        aka AMIGO    
     20.07.15 
            ✎
    13:49 
 | 
         
        (29) нет, но судя по желанию ТС, это так..     
         | 
|||
| 
    31
    
        dred999    
     20.07.15 
            ✎
    13:50 
 | 
         
        (29) Да     
         | 
|||
| 
    32
    
        cw014    
     20.07.15 
            ✎
    13:52 
 | 
         
        (31) Не дакай, Ответь на вопрос в (27)     
         | 
|||
| 
    33
    
        dred999    
     20.07.15 
            ✎
    13:53 
 | 
         
        Да разово (32)     
         | 
|||
| 
    34
    
        cw014    
     20.07.15 
            ✎
    13:53 
 | 
         
        А хотя... За криворукость ТС ответственности не несу.
 
        ВЫБРАТЬ МАКСИМУМ(Номер) КАК Номер ИЗ Документ.ПриходныйКассовыйОрдер ГДЕ Дата МЕЖДУ (НАЧАЛОПЕРИОДА(&Период, ГОД)) И (КОНЕЦПЕРИОДА(&Период, МЕСЯЦ))  | 
|||
| 
    35
    
        aka AMIGO    
     20.07.15 
            ✎
    13:54 
 | 
         
        (32) :))
 
        Думаю, шаловливые ручонки веселых бушек не позволят заплесневеть "разовой" обработке :) наверняка испортят, и не раз :) (34) Во! шедевр готов :)  | 
|||
| 
    36
    
        aka AMIGO    
     20.07.15 
            ✎
    13:56 
 | 
         
        +35 молодец :)     
         | 
|||
| 
    37
    
        cw014    
     20.07.15 
            ✎
    13:57 
 | 
         
        (36) Ага, можно еще и так:
 
        ВЫБРАТЬ МАКСИМУМ(Документ.ПриходныйКассовыйОрдер.Номер) КАК Номер ГДЕ Документ.ПриходныйКассовыйОрдер.Дата МЕЖДУ (НАЧАЛОПЕРИОДА(&Период, ГОД)) И (КОНЕЦПЕРИОДА(&Период, МЕСЯЦ))  | 
|||
| 
    38
    
        dred999    
     20.07.15 
            ✎
    14:00 
 | 
         
        (34) Но туту не указанно что выбрать номер документа перед началом периуда     
         | 
|||
| 
    39
    
        aka AMIGO    
     20.07.15 
            ✎
    14:02 
 | 
         
        ЗЫ. я - 7-рочник, редко мыслю категориями Запросов :)
 
        потому и гнул своё с Выборкой документов :) (38) зато получишь то, что просил: последний номер в апреле.. ты уж определись как-нибудь, чего хочешь, не путай форумчан..  | 
|||
| 
    40
    
        cw014    
     20.07.15 
            ✎
    14:02 
 | 
         
        (38) P.S. &Период - любая дата апреля     
         | 
|||
| 
    41
    
        cw014    
     20.07.15 
            ✎
    14:03 
 | 
         
        (38) Что у тебя "перед началом периУда"? Что это?     
         | 
|||
| 
    42
    
        aka AMIGO    
     20.07.15 
            ✎
    14:05 
 | 
         
        а вернее-то не последний номер в апреле.. , а наибольший номер в периоде Запроса.. если бушки накосячили еще и в нём..     
         | 
|||
| 
    43
    
        floody    
     20.07.15 
            ✎
    14:06 
 | 
         
        обработку с ИТС использовать для перенумерации не модно?     
         | 
|||
| 
    44
    
        Redkiy    
     20.07.15 
            ✎
    14:10 
 | 
         
        (43) ТС хочет разово сделать перенумерацию, но вбить начальный номер в обработку с ИТС ему в лом...     
         | 
|||
| 
    45
    
        aka AMIGO    
     20.07.15 
            ✎
    14:15 
 | 
         
        (44) если есть ИТС .. Хозяева могут экономить каждый рубль :)
 
        (38) найди на ИТСе "УниверсальныеПодборИОбработкаОбъектов"  | 
|||
| 
    46
    
        aka AMIGO    
     20.07.15 
            ✎
    14:16 
 | 
         
        +45 а интереснее-то самому-бы написать..
 
        Вход-то парадный указан..  | 
|||
| 
    47
    
        dred999    
     20.07.15 
            ✎
    14:19 
 | 
         
        Всем спасибо.     
         | 
|||
| 
    48
    
        aka AMIGO    
     20.07.15 
            ✎
    14:23 
 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |