8.х УТ Нестандартная нумерация

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем Tayana_M, 16 май 2009.

  1. TopicStarter Overlay
    Tayana_M
    Offline

    Tayana_M Опытный в 1С

    Регистрация:
    14 янв 2009
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    Еще такая проблема: у нас нумерация по реализации (накладные, счета-фактуры) в конце прибавляется буква в зависимости от магазина (куда отгружается товар), т.е.: №245/У или №246/п и т.п.
    Так вот, разумеется при такой "ручной" нумерации автоматическая сбивается и ставит следующий номер в конце бувы (№245/У1 и т.д.). Вот ломаю голову, можно ли это как-нибудь исправить, чтобы порядковые номера автоматически оставались: №1, 2, 3,...246, 247... А бувы в конце не влияли бы на автоматическую нумерацию? Спасибо.
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    А почему бы буквы не добавлять вначале как префикс. Допустим так: <ПрефиксОрганизации>-<ПрефиксМагазина><Номердокумента>. Тогда просто подправите процедуру установки номера и все.
  3. TopicStarter Overlay
    Tayana_M
    Offline

    Tayana_M Опытный в 1С

    Регистрация:
    14 янв 2009
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    Я тут подумала, а как реализовать, чтобы нестандартное окончание нумерации вводилось в дополнительное поле?
  4. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Что значит в вашем понимании дополнительное поле???
  5. TopicStarter Overlay
    Tayana_M
    Offline

    Tayana_M Опытный в 1С

    Регистрация:
    14 янв 2009
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    То есть в основном поле автоматическая нумерация остается как есть, а в дополнительное вручную вводятся необходимые буквы, которые не подлежат автоматической нумерации, но выводятся на печать через дробь с основным номером: №45/П. Подобным образом это реализовано в СБИСе. Я тут вычитала, что это называется постфикс
  6. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Сделай доп реквизит -н-р : ДопНомер и при формировании его заполняй индексом магазина.. в идеале вообще моно привезаться к пользователю или компу для автоматизации проставления букв... а при печати в макет выводи Шапка.Параметр.номер = Номер + ДопНомер
    и ВСЕ!)
  7. TopicStarter Overlay
    Tayana_M
    Offline

    Tayana_M Опытный в 1С

    Регистрация:
    14 янв 2009
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    Пойду пробовать не знаю получится ли?
  8. pokolo
    Offline

    pokolo

    Регистрация:
    4 мар 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Продолжу тему нестандартной нумерации:
    есть мечта чтобы нумерация накладной была вида: ддммгг/1
    а счет-фактуры СФддммгг/1

    Сейчас делаем в ручную, но и даже в ручную есть проблема:
    вбиваем номер 090216/3 а на печати 90216/3
    нолик съедается... Помогите люди добрые, как спасти нолик.
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    изменить формирование номера на печать.
    pokolo нравится это.
  10. pokolo
    Offline

    pokolo

    Регистрация:
    4 мар 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    а где формируется номер на печати?

    в нумераторе не нашел
    зашел в конфигураторе Документы > СчетаФактураВыданный
    есть Процедура ПриУстановкеНовогоНомера в ней смотреть?
    Код:
    Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
      
        Если Исправление Тогда
          
            // Установка номера по исходному документу.
          
            УстановитьПривилегированныйРежим(Истина);
          
            Запрос = Новый Запрос("
            |ВЫБРАТЬ
            |    &Основание КАК Ссылка
            |ПОМЕСТИТЬ ОснованияИсправлений
            |
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ
            |    КорректировкаРеализации.ДокументОснование КАК Ссылка
            |ИЗ
            |    Документ.КорректировкаРеализации КАК КорректировкаРеализации
            |ГДЕ
            |    (КорректировкаРеализации.Ссылка = &Основание
            |    ИЛИ КорректировкаРеализации.ДокументОснование = &Основание)
            |    И НЕ КорректировкаРеализации.ПометкаУдаления
            |
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ
            |    КорректировкаРеализации.Ссылка КАК Ссылка
            |ИЗ
            |    Документ.КорректировкаРеализации КАК ТекущийДокумент
            |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации КАК КорректировкаРеализации
            |    ПО КорректировкаРеализации.ДокументОснование = ТекущийДокумент.ДокументОснование
            |ГДЕ
            |    ТекущийДокумент.Ссылка = &Основание
            |    И КорректировкаРеализации.Ссылка <> &Основание
            |    И НЕ КорректировкаРеализации.ПометкаУдаления
            |;
            |/////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ ПЕРВЫЕ 1
            |    ИсходныеДокументы.Номер КАК Номер,
            |    ЕСТЬNULL(Исправления.НомерИсправления, 0) КАК НомерИсправления
            |ИЗ
            |    Документ.СчетФактураВыданный КАК ИсходныеДокументы
            |        ЛЕВОЕ СОЕДИНЕНИЕ ОснованияИсправлений КАК ОснованияИсправлений
            |        ПО ИСТИНА
            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК Исправления
            |        ПО Исправления.ДокументОснование = ОснованияИсправлений.Ссылка
            |            И Исправления.Исправление
            |            И НЕ Исправления.ПометкаУдаления
            |ГДЕ
            |    ИсходныеДокументы.Ссылка = &СчетФактураОснование
            |
            |УПОРЯДОЧИТЬ ПО
            |    НомерИсправления УБЫВ");
            Запрос.УстановитьПараметр("Основание", ДокументОснование);
            Запрос.УстановитьПараметр("СчетФактураОснование", СчетФактураОснование);
          
            Выборка = Запрос.Выполнить().Выбрать();
            Если Выборка.Следующий() Тогда
              
                СтандартнаяОбработка = Ложь;
              
                // Установка номера и переопределение префикса информационной базы.
                Префикс = "И";
                ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации(ЭтотОбъект, СтандартнаяОбработка, Префикс);
              
                НомерБезПрефикса = ПрефиксацияОбъектовКлиентСервер.УдалитьПрефиксыИзНомераОбъекта(Выборка.Номер, Истина, Истина);
                Если СтрДлина(СокрП(НомерБезПрефикса)) = 7 Тогда
                    НомерБезПрефикса = Прав(НомерБезПрефикса, СтрДлина(НомерБезПрефикса)-1);
                КонецЕсли;
                Номер = Префикс + НомерБезПрефикса;
              
                НомерИсправления = Формат(Число(Выборка.НомерИсправления)+1, "ЧЦ=10; ЧДЦ=0; ЧГ=0");
              
            КонецЕсли;
          
        Иначе
          
            Префикс = "0";
          
        КонецЕсли;
      
    КонецПроцедуры
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Нет, это выставляется новый номер. Вам нужно формированиеНомераНаПечать() или что-то подобное. ищите в общих модулях.
    pokolo нравится это.

Поделиться этой страницей