7.7 Стоп фактор при проведении документов

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем admin, 15 апр 2009.

  1. TopicStarter Overlay
    admin
    Offline

    admin Опытный в 1С

    Регистрация:
    18 авг 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Всем доброго времени суток!!! Подскажите пожайлуста возможно ли в 1с реализовать что то наподобии стоп фактора при проведении докумена если цены ниже закупочных цен он выдавал какое нибудь предупрежедние.У меня торговля и склад редакция 9.2 (7.70.950)..Заранее спасибо
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да. Возможно. Подобное уже реализовывал.
    1) Заводится константа (Справочник.ТипЦен) закупочные цены.
    2) В модуле проведения ВыгрузитьТабличнуюЧасть в ТаблицуЗначений по колонке Номенклатура и Цена
    3) В цикле по таблице глВернутьЦену(Номенкдатура,ЗакупкаИзКностанты,ДатаДок)
    Сравнивай цены и выводи предупреждение (лучше в строку состояния, т.к. ошибок может быть несколько) и блокируй проведение документа - СтатусВозврата(0)

    Еще. Клиентам понадобился список исключений товара который не нужно проверять (тара). Реализовал через дополнительный справочник. Можно было конечно добавить флажек в справочник самой номенклатуры, но не стал - не люблю лишний раз портить стандартные справочники. Тут дело вкуса.
  3. TopicStarter Overlay
    admin
    Offline

    admin Опытный в 1С

    Регистрация:
    18 авг 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Блин а если как нибудь попроще..это реализовать никак..а то что то я никак не понимаю..ещё только начинающий так сказать пользователь... ну ладно будем пробовать..так вот с заведение константы этап прошел успешно.а подскажите 2.В модуле проведения ВыгрузитьТабличнуюЧасть в ТаблицуЗначений по колонке Номенклатура и Цена..это где? и 3 пункт немножко поподробней.Спасибо
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Смотри синтаксический помошник или читай желтую книжку))))))
    Можно конечно обойтись и без выгрузки в ТЗ. Примерный код

    Код:
    Ошибка=0;
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    Если глПолучитьЦену(Номенклатура,Константа.ТипЦеныПоступления,ДатаДок,Единица)<Цена Тогда
    Сообщить("Цена отгрузки по товару "+Номенклатура+" не может быть ниже цены поступления");
    Ошибка=1;
    КонецЕсли;
    КонецЦикла;
    Если Ошибка=1 Тогда
    //предупреждение рекомендую выводить, т.к. не все пользователи смотрят в окно сообщений
    //и считают что все впорядке.....
    Предупреждение("Обнаружено несоответствие цен!");
    СтатусВозврата(0);
    Возврат;
    КонецЕсли;
    
    
    
  5. Vlad
    Offline

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

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Попробуй следующее. В глобальном модуле в процедуре глДвижениеОборотовПродаж(). Контроль продаж ниже себестоимости.
    Код:
        Если Количество >= 0 Тогда
    РегПродажи.Себестоимость = Себестоимость;
    РегПродажи.ПродСтоимость = ПродСтоимость;
    РегПродажи.Количество      = Количество;
    //    ВВП нач
    Если (ПродСтоимость-Себестоимость)<0 Тогда
    глСообщениеПроведения(Номенклатура.Наименование+" продаете ниже себестоимости на "+Окр((-1*(ПродСтоимость-Себестоимость))/Количество,2)+" "+глДоллары+". за "+Номенклатура.БазоваяЕдиница+"", Конт.ТекущийДокумент());    
    //глНеПроводить(Конт,"У кого ручонки кривые? "+Номенклатура.Наименование+" продаете ниже
    //себестоимости на "+Окр((-1*(ПродСтоимость-Себестоимость))/Количество,2)+" "+глДоллары+". за "+Номенклатура.БазоваяЕдиница+"");
    КонецЕсли;  
    //    ВВП кон
    Иначе                                 
    РегПродажи.СебестоимостьВ = - Себестоимость;
    РегПродажи.ПродСтоимостьВ = - ПродСтоимость;
    РегПродажи.КоличествоВ       = - Количество;
    КонецЕсли;
    
    
    
    
    
    Внутри комментария - это моя добавка. В данном случае предупреждает, но проводит. Можно, чтоб не давало проводить. Это то, что закомментированно внутри добавки.
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это если у него чистая продажа.... А если ПередачаНаРеализацию? Этот код вэтом случае не сработает.....
  7. Vlad
    Offline

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

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Да. Более того в ЧекеККМ тоже работать не будет - надо Чек дописывать. Но ведь автор и не конкретизировал документы. Пусть попробует - дальше сам разберется. Может быть.
  8. kas205
    Offline

    kas205

    Регистрация:
    23 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    а что если добавить в справочник номенклатуры позицию "себестоимость" а в процедуру обработку изменения строк добавлен условие проверяющее цену тогда блокировать проведение и не придется так как они и не смогут ввести стоимость ниже себестоимости единственное что эту позицию необходимо занести в справочник руками и заблокировать его от изменения теми пользователями кому этого делать нельзя
  9. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ничего не понял...........
  10. kas205
    Offline

    kas205

    Регистрация:
    23 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    насколько я понял человеку надо сделать так что бы из его базы нельзя было выписать документы с ценой ниже чем себестоимость. я предложил в справочник ввести такой реквизит как "себестоимость" где он и будет указывать эту минимально возможную цену (так как себестоимость это ни всегда закупочная цена) ну а затем остается в процедуру глПересчетТаблЧасти() дописать проверку этой самой цены
    ну и вслучаии нарушения выставляла как раз этот минимум.
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Смотри - нужно менять справочник, глобальный модуль, модуль документа..... Что не рекомендуется в связи с грядущими обновлениями. Нужно делать по возможности МИНИМАЛЬНЫЕ изменения от стандартной конфы - тебе же потом меньше головной боли будет
  12. Ivan-Vasilich
    Offline

    Ivan-Vasilich

    Регистрация:
    24 сен 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Была такая-же проблема у меня, прошляпил цену продажи, продажа ушла в минус. Вот вчера добавил вашу доработку, но ругается на все продажи со старой закупки. Может глДоллары заменить на глРубли?
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  14. Ivan-Vasilich
    Offline

    Ivan-Vasilich

    Регистрация:
    24 сен 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Да, как поставил в 2005году, так небольшие доработки вносил под свои нужды
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    тогда только телепат вам поможет без МДшника.
    Под "небольшими доработками" может скрываться все что угодно
  16. Ivan-Vasilich
    Offline

    Ivan-Vasilich

    Регистрация:
    24 сен 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Я понял насчет телепатии, но смотрю по партии закупку, делаю реализацию (в копии БД) по закупке, уже ругается, что продажа идет криво, хотя прибыль - должна получиться 0%. А добавил на закуп. цену 26% и все прошло. Может курс валюты загрузился, а там вторая валюта упр. учета стоит все-таки. Или я неверно мыслю?
  17. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    У вас метод расчета себестоимости как установлен? Граница последовательности в какой точке?
  18. Ivan-Vasilich
    Offline

    Ivan-Vasilich

    Регистрация:
    24 сен 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    FIFO, ГП -1 день
  19. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Тогда должно работать. Отладчиком смотрели почему так?
  20. Ivan-Vasilich
    Offline

    Ivan-Vasilich

    Регистрация:
    24 сен 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Добрый день! вот только сделал копию базы, смотрел от остатка партии. Поступление - 2093 руб, на дату поступления курс доллара 67,45 , а сейчас курс 65,54. делим на калькуляторе и получаем стоимость (в данном случае АКБ) 31,03 долл, и умножим на сегодняшний курс.: 2033,71 руб. Делаю реализацию по закупке - проводится, делаю менее закупки до 2035 руб - проводится, и когда порог станет меньше 2033,71 начинает ругаться, что продаем дешевле на такую-то сумму в долларах. Я сам программист не очень сильный, редко пишу для себя. А товарищ, который сложные вещи помогает реализовать, пока занят другим проектом,

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