8.х Номера счетов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alla, 19 май 2008.

  1. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Подскажите, пожалуйста! УТ 8.1 10.3. У нас раньше был учет одной организации. И номера заказов у нас ведутся в зависимости от реквизита "счет", указанного в заказе. Если "счет" = "истина", то номер заказа = C, если "счет" = "ложь", то номер заказа = З.


    Код:
    Процедура ДобавитьПрефиксОрганизации(ДокументОбъект, Префикс) Экспорт
    
    МетаданныеДокумента = ДокументОбъект.Метаданные();
    
    Если Не ЕстьРеквизитДокумента("Организация", МетаданныеДокумента)
    Или НЕ ЗначениеЗаполнено(ДокументОбъект.Организация.Префикс) Тогда
    
    Префикс = "0";
    
    Иначе
    Если НЕ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя")  Тогда
    Префикс = ДокументОбъект.Организация.Префикс;
    Иначе
    Счет= ДокументОбъект.Счет;
    Если Счет Тогда
    Префикс="С";
    Иначе
    Префикс="З";
    КонецЕсли;
    
    КонецЕсли;
    КонецЕсли;
    
    Помогите мне, пожалуйста изменить процедуру.
    Нужно, чтобы номера заказов менялись в зависимости от выбора организации.
    То есть, с первой организацией чтоб все оставалось неизменно. А при выборе второй организации, чтобы например было так:
    "Счет" = "истина", то номер заказа = S,
    "Счет" = "ложь", то номер заказа = Z.
    То есть, чтобы номера заказов менялись не только в зависимости от реквизита "Счет", но и в зависимости от выбора организации. Помогите, пожалуйста!
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    А разве в типовой УТ нету такой как префикс для номеров документов?
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    По организациям можно добавить свой префикс - смотри в первой же строке карточки организации.
  4. x_under
    Offline

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

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

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Префикс в организации не распространяется на заказы из-за этой дописки, которая предоставлена выше. Как я уже говорила, номера у нас в заказах меняются не в зависимости от префикса организации, а от реквизита "счет", который мы добавили в заказ. Если мы ставим галочку в этом реквизите, то номер заказа начинается на C, если нет - то З.
    Да, помогите мне дописать условие, чтобы при выборе второй организации номера заказов менялись также в зависимости от этого реквизита, но если "Счет" = истина, то номер заказа начинался на "S", если ложь, то на Z. Но при выборе первой организации все оставалось так же.
  6. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Код:
    Процедура ДобавитьПрефиксОрганизации(ДокументОбъект, Префикс) Экспорт
    
    МетаданныеДокумента = ДокументОбъект.Метаданные();
    
    Если Не ЕстьРеквизитДокумента("Организация", МетаданныеДокумента)
    Или НЕ ЗначениеЗаполнено(ДокументОбъект.Организация.Префикс) Тогда
    
    Префикс = "0";
    
    Иначе
    // дополнительные условия для номера
    // если это не заказ покупателя
    Если НЕ ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя")  Тогда
    Префикс = ДокументОбъект.Организация.Префикс;
    // если это заказ и органиязация первая
    ИначеЕсли ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя") И ДокументОбъект.Организация = Справочники.Организации.НайтиПоКоду("<Код>") Тогда
    Счет= ДокументОбъект.Счет;
    Если Счет Тогда
    Префикс="С";
    Иначе
    Префикс="З";
    КонецЕсли;
    ИначеЕсли ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЗаказПокупателя") И ДокументОбъект.Организация = Справочники.Организации.НайтиПоКоду("<Код>") Тогда
    Счет= ДокументОбъект.Счет;
    Если Счет Тогда
    Префикс="S";
    Иначе
    Префикс="Z";
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
  7. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Неа, что то не то! :unsure: Номер все равно начинается на С при выборе второй организации и номер продолжается.

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