7.7 Про нумерацию счетов-фактур

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Dusty, 29 ноя 2006.

  1. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Требуется изменить нумерацию счетов-фактур, что бы она имела следующий вид:

    "ГодМесяцДата/номер". Причём номер каждый день должен начинаться с 1 (или там с 001).

    Как это сделать?
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    в процедуру ввод нового вставь что-то вроде:
    Сч=1;
    Док=СоздатьОбъект("Документ.СчетФактура");
    Пока Док.НайтиПоНомеру(Строка(ДатаГод(ДатаДок))+Строка(ДатаМесяц(ДатаДок))+Строка(ДатаЧисло(ДатаДок))+"/"+Строка(Сч),ДатаДок)=1 Цикл
    Сч=Сч+1;
    КонецЦикла;
    НомерДок=Строка(ДатаГод(ДатаДок))+Строка(ДатаМесяц(ДатаДок))+Строка(ДатаЧисло(ДатаДок))+"/"+Строка(Сч);
  3. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Почти получилось. :(

    Но есть маленький нюанс:

    При создании новой счет-фактуры ей присваивается номер типа 20061130 (без "/" и порядкового). Проводится.

    При создании следующей 1с виснет и закрывается только через диспетчер задач.

    Как бороться?
  4. Неглупый
    Offline

    Неглупый

    Регистрация:
    23 окт 2006
    Сообщения:
    29
    Симпатии:
    1
    Баллы:
    1
    Всю жизнь для этого используется УстановитьНовыйНомер(<Префикс>)
  5. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А как сделать <Префикс> изменяемым взависимости от даты?
  6. Неглупый
    Offline

    Неглупый

    Регистрация:
    23 окт 2006
    Сообщения:
    29
    Симпатии:
    1
    Баллы:
    1
    Префикс = Строка(ДатаГод(ДатаДок))+Строка(ДатаМесяц(ДатаДок))+Строка(ДатаЧисло(ДатаДок))+"/";

    УстановитьНовыйНомер(Префикс);

    да и вообще можешь любую строку

    в пределах разумного

    Просто ещё не забывай про длину номера документа
    pokolo нравится это.
  7. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Получается номер типа "20061131".

    А надо типа "20061130/1".

    Блин. Там ещё есть и максимальная длина? Сколько символов?
  8. zelevova
    Offline

    zelevova

    Регистрация:
    13 ноя 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Видимо у тебя длина номера стоит 8 символов, еще проверь что номер документа у тебя типа строка.
  9. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Так точно. Сделал 12 знаков - всё заработало.

    Спасибо за помощь.
  10. zelevova
    Offline

    zelevova

    Регистрация:
    13 ноя 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    По хорошему тебе бы еще нулями после "/" номер заполнять, что бы выглядело красивее. :)
  11. TopicStarter Overlay
    Dusty
    Offline

    Dusty

    Регистрация:
    29 ноя 2006
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А так и получается. Фиксированные длина строки и количество символов.
  12. pokolo
    Offline

    pokolo

    Регистрация:
    4 мар 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    тема это то что мне нужно, в итоге получилось вот так:
    1) в нумераторе поставил 11 символов
    2) добавил в процедуру Процедура ПриОткрытии()
    Код:
    Префикс = "СФ"+Формат(ДатаЧисло(ДатаДок),"Ч(0)2")+Формат(ДатаМесяц(ДатаДок),"Ч(0)2")+Прав(ДатаГод(ДатаДок),2)+"/";
    УстановитьНовыйНомер(Префикс);
    стал номер счет фактуры с датой в виде СФ170715/01
    добавил Формат(ДатаМесяц(ДатаДок),"Ч(0)2") чтобы добавлял 0 месяцам и дням.

    Сейчас стал добавлять в ТОРГ12 нумерацию с датой для одной фирмы:
    1) добавил новый тип в нумераторе на 9 символов
    2) добавил в процедуры Процедура ВводНового(Скопирован) и Процедура ПриОткрытии()
    Код:
    Если Фирма.Выбран()=1 Тогда
    Префикс = Формат(ДатаЧисло(ДатаДок),"Ч(0)2")+Формат(ДатаМесяц(ДатаДок),"Ч(0)2")+Прав(ДатаГод(ДатаДок),2)+"/";
    УстановитьНовыйНомер(Префикс);
    КонецЕсли;
    но не срабатывает условие, не определяется какая фирма выбрана :(
    Последнее редактирование: 17 июл 2015
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Установить периодичность документа в пределах дня
    2) Использовать УстановитьНовыйНомер
    и не нужно огород городить
    pokolo нравится это.
  14. pokolo
    Offline

    pokolo

    Регистрация:
    4 мар 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Нумерацию в пределах дня я нашел,
    а куда вставлять УстановитьНовыйНомер ?)
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В процедуры
    1) ВводНового (типовая)
    2) ВводНаОсновании (типовая)
    3) ПриСменеДаты (нужно создать. Вызов из формулы реквизита формы ДатаДок)

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