может кто делал?

Тема в разделе "1C и всё что с ней связано", создана пользователем geny2010, 5 мар 2010.

  1. geny2010

    geny2010 Гость

    Здравствуйте!! Есть справочник Номенклатура куда забивается процент НДС , с нового года он стал 20%, оч нужна внешняя обработка по смене НДС во всех элементах справочника (Ставка НДС - периодический реквизит) , а то бухам приходится это делать руками и они звереют - может кто-нить делал уже?? ООООч прошу :ya_lamo:
     
  2. Hryv

    Hryv Гость

    Какая хоть 1С у вас?
    такая обработка в принципе 10 строк от силы
    за пару минут сделать можно
     
  3. geny2010

    geny2010 Гость

    1с 7.7 )) Понимаю, что 7 строк и легко и жду, что будут гнобить))) Но нашла ваш форум и вдруг кто-нить поможет - я не программист))
     
  4. Hryv

    Hryv Гость

    дело в том, что "1с 7.7" - этого недостаточно
    Надо знать что такое у вас НДС - справочник или перечисление, а может просто число (мало ли что)
    как реквизит справочника называется тоже неизвестно

    Добавлено: а что за 2 месяца не успели руками перебить? :)
     
  5. geny2010

    geny2010 Гость

    НДС - это Справочник - Ставки НДС; реквизит в нем - ставка; В справочнике Номенклатура - реквизит - Ставка НДС;
     
  6. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    В бухгалтерии есть стандартная обработка
    SetTaxes
     
  7. Hryv

    Hryv Гость

    Если стандартную не найдете, то примерно так

    Код (Text):
    Процедура Сформировать()
    СпрНДС = СоздатьОбъект("Справочник.СтавкиНДС");
    Если СпрНДС.НайтиПоКоду("")=0 Тогда //внутри кавычек код нужной ставки
    Сообщить("Не найдена ставка НДС");
    Возврат;
    КонецЕсли;

    Спр = СоздатьОбъект("Справочник.Номенклатура");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Если Спр.ЭтоГруппа()=0 Тогда
    Спр.СтавкаНДС.Установить(Дата(2010,1,1), СпрНДС.ТекущийЭлемент());
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    Но в любом случае советую сначала сделать копию базы
     
  8. geny2010

    geny2010 Гость

    )))) не успели)) Видели бы вы этих бухгалтеров :) Ещё вопрос - сохраняю обработку как внешний отчет - когда пытаюсь открыть в 1с - ниче не грузится вообще , форма не появляется - не ругайтесь сильно))) почему это??? :KillMe: и когда в интерфейс добавляю - тоже самое((
     
  9. Hryv

    Hryv Гость

    может прав нет?
    хотя я точно не понял вопроса
     
  10. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    очень похоже
     
  11. geny2010

    geny2010 Гость

    с правами все ок)) открываешь внешний отчет в 1с и оно секунду думает и ничего - может код поможет

    Перем ТипПоля;


    Процедура ОК()
    Форма.Параметр.Установить("ОК", 1);
    Форма.Параметр.Установить("Дата", Д);
    Если ТипПоля = "" Тогда
    Форма.Параметр.Установить("Значение", Значение);
    ИначеЕсли ТипПоля = "ФЛАЖОК" Тогда
    Форма.Параметр.Установить("Значение", Флажок);
    ИначеЕсли ТипПоля = "ПОЛЕСОСПИСКОМ" Тогда
    Форма.Параметр.Установить("Значение", ПолеСосписком.ТекущаяСтрока());
    КонецЕсли;
    КонецПроцедуры


    Процедура ПриОткрытии()
    Если (ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений") Тогда
    Реквизит = Форма.Параметр.Получить("Реквизит");
    Тип = Форма.Параметр.Получить("Тип");
    Счет = Форма.Параметр.Получить("Счет");
    НомерСубконто = Форма.Параметр.Получить("НомерСубконто");
    Д = Форма.Параметр.Получить("Дата");
    ТипПоля = Форма.Параметр.Получить("ТипПоля");
    Если ТипПоля = "" Тогда
    Если ТипЗначенияСтр(Счет) = "Счет" Тогда
    Тип = Счет.ВидСубконто(НомерСубконто);
    КонецЕсли;
    Форма.Значение.НазначитьТип(Тип);
    Значение = Форма.Параметр.Получить("Значение");
    Если ТипЗначенияСтр(Значение) = "Справочник" Тогда
    Значение.ИспользоватьВладельца(Форма.Параметр.Получить("Владелец"));
    Форма.Значение.ВыборГруппы(0);
    ИначеЕсли ТипЗначенияСтр(Значение) = "Счет" Тогда
    Форма.Значение.ВыборГруппы(0);
    КонецЕсли;
    ИначеЕсли ТипПоля = "ФЛАЖОК" Тогда
    Форма.Значение.Видимость(0);
    Форма.ОчиститьЗначение.Видимость(0);
    Форма.Текст.Видимость(0);
    Форма.Флажок.Видимость(1);
    Флажок = Форма.Параметр.Получить("Значение");
    ИначеЕсли ТипПоля = "ПОЛЕСОСПИСКОМ" Тогда
    Форма.Значение.Видимость(0);
    Форма.ОчиститьЗначение.Видимость(0);
    Форма.Текст.Видимость(0);
    Значения = Форма.Параметр.Получить("ЗначенияСписка");
    Для А=1 По Значения.РазмерСписка() Цикл
    ПолеСоСписком.ДобавитьЗначение(Значения.ПолучитьЗначение(А));
    КонецЦикла;
    Форма.ПолеСоСписком.Видимость(1);
    ПолеСоСписком.ТекущаяСтрока(Форма.Параметр.Получить("Значение"));
    КонецЕсли;
    Форма.Заголовок("Реквизит: "+Реквизит);
    Иначе
    СтатусВозврата(0);
    КонецЕсли;
    КонецПроцедуры
     
Загрузка...

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