Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
26 Сен 2020, 18:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проблема создания условий гарантии  (Прочитано 4673 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн t-l

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-28
  • Сайт: 
День добрый, помоги новичку решить мою проблему господа профессионалы. У меня версия 1с Розница 1.0.8.4 (Магазин БТСС). Необходимо на форме в Справочнике\Номенклатура сделать еще одно поле для ввода гарантии в днях. Изначально установлено в месяцах.

Что я сделал, Добавил новое поле на форме, затем в Реквизитах добавил переменную СрокГарантииДн, указал ее в настройках формы. Осталось подправить код модуля, чтобы можно было вводить либо месяцы, либо дни отдельно, либо все вместе. Например: срок гарантии на товар 7 дней. Так должно считаться и выводиться в гарантийнике. Вот код из модуля:

Если (ВидНоменклатуры.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.Товар) ИЛИ Весовой Тогда
      ВыписыватьГарантийныйТалон = Неопределено;
      СрокГарантии = Неопределено;
   КонецЕсли;
   
   Если ВыписыватьГарантийныйТалон И (СрокГарантии = 0) Тогда
      ТекстСообщения = "Не указан срок гарантии";
      ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, Отказ);
   КонецЕсли;


Спасибо.  :xfbnsdfb:


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
А что не получается то?

Оффлайн t-l

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-28
  • Сайт: 
Я пока только начинаю программировать в 1с поэтому и возник вопрос, как правильно написать в коде чтобы он брал значения либо из 2 полей, либо только из одного и ставил общую сумму по гарантии, пример: мне нужно установить на 1 товар гарантию 5 дней, а на другой 3 месяца. На 3 товар я хочу выстовить гарантию в 2 месяца 7 дней. Такое возможно сделать, если да то как?

Оффлайн t-l

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-28
  • Сайт: 
Вписал следующий код    Если (ВидНоменклатуры.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.Товар) ИЛИ Весовой Тогда
      ВыписыватьГарантийныйТалон = Неопределено;
      СрокГарантии = Неопределено;
      СрокГарантииДн = Неопределено;
   КонецЕсли;
   
   Если ВыписыватьГарантийныйТалон И (СрокГарантии = 0) ИЛИ (СрокГарантииДн = 0) Тогда
      ТекстСообщения = "Не указан срок гарантии";
      ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, Отказ);
   КонецЕсли;

Правильно ли я все сделал

Оффлайн ***Vjacheslav***

  • ***
  • Сообщений: 156
  • РЕПУТАЦИЯ: 35
  • КПД: 22%
  • Регистрация: 2010-08-16
  • Сайт: 
  • Профессия: Программист 1С
1) Иправь условие Если ВыписыватьГарантийныйТалон И (СрокГарантии = 0) ИЛИ (СрокГарантииДн = 0) Тогда  на
Если ВыписыватьГарантийныйТалон И (СрокГарантии = 0) И (СрокГарантииДн = 0) Тогда

2) Нужно исправить объект, который ссылается на это поле.

Оффлайн t-l

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-28
  • Сайт: 
Исправил код везде, где есть связь СрокГарантии, Подправил Макет формы Гарантийный талон, Единственное, что еще осталось. Все сейчас вносит и показывает как надо, но в номенклатуре, когда ставишь галочку для внесения гарантии подчеркивает красной линией что не заполнено поле, я ввожу данные либо месяц, либо день, соответственно он не жалуется, что я не ввел ему данные, но хотелось бы чтобы он не выделял пустое поле, после внесения данных. Вот коды где правил:

Процедура УстановитьДоступность()
   // Весовыми не могут быть серийные товары
   ДоступностьВесовой = ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар И Не Серийный;
   ЭлементыФормы.Весовой.Доступность = ДоступностьВесовой;
   
   ГоступностьГарантии = (ВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар) И Не Весовой;
   ЭлементыФормы.ВыписыватьГарантийныйТалон.Доступность = ГоступностьГарантии;
   ЭлементыФормы.НадписьСрокГарантии.Доступность = ГоступностьГарантии;
   ЭлементыФормы.СрокГарантии.Доступность = ГоступностьГарантии;
   ЭлементыФормы.СрокГарантииДн.Доступность = ГоступностьГарантии;
   ЭлементыФормы.НадписьСрокГарантииПостфикс.Доступность = ГоступностьГарантии;
   ЭлементыФормы.НадписьСрокГарантииДнПостфикс.Доступность = ГоступностьГарантии;
   
КонецПроцедуры // УстановитьДоступность()


   // Установим отметки не заполненого для колонок "Характеристика" табличных полей "ХарактеристикиНоменклатурыДляКомплетующих" и "Комплектующие"
   ЭлементыФормы.ХарактеристикиНоменклатурыДляКомплетующих.Колонки.Характеристика.АвтоОтметкаНезаполненного                   = ОбщегоНазначения.ПолучитьФлагУчетаХарактеристик(ВидНоменклатуры);
   ЭлементыФормы.ХарактеристикиНоменклатурыДляКомплетующих.Колонки.Характеристика.ЭлементУправления.АвтоОтметкаНезаполненного = ОбщегоНазначения.ПолучитьФлагУчетаХарактеристик(ВидНоменклатуры);
   ЭлементыФормы.Комплектующие.Колонки.ХарактеристикаНоменклатуры.АвтоОтметкаНезаполненного                                   = ОбщегоНазначения.ПолучитьФлагУчетаХарактеристик(ВидНоменклатуры);
   ЭлементыФормы.Комплектующие.Колонки.ХарактеристикаНоменклатуры.ЭлементУправления.АвтоОтметкаНезаполненного                 = ОбщегоНазначения.ПолучитьФлагУчетаХарактеристик(ВидНоменклатуры);
   
   Если ВыписыватьГарантийныйТалон И ЭлементыФормы.СрокГарантии.Доступность Тогда
      ЭлементыФормы.СрокГарантии.АвтоОтметкаНезаполненного = Истина;
   Если ВыписыватьГарантийныйТалон И ЭлементыФормы.СрокГарантииДн.Доступность Тогда
      ЭлементыФормы.СрокГарантииДн.АвтоОтметкаНезаполненного = Истина;

   Иначе
      ЭлементыФормы.СрокГарантии.АвтоОтметкаНезаполненного = Ложь;
      ЭлементыФормы.СрокГарантии.ОтметкаНезаполненного     = Ложь;
      ЭлементыФормы.СрокГарантииДн.АвтоОтметкаНезаполненного = Ложь;
      ЭлементыФормы.СрокГарантииДн.ОтметкаНезаполненного     = Ложь;
   КонецЕсли;
   КонецЕсли;


   |ВЫБРАТЬ
   |   ВсеТоварыСгруппированно.Номенклатура,
   |   ВсеТоварыСгруппированно.ХарактеристикаНоменклатуры,
   |   ВсеТоварыСгруппированно.СерийныйНомер,
   |   ВЫБОР
   |      КОГДА ВсеТоварыСгруппированно.СерийныйНомер <> ЗНАЧЕНИЕ(Справочник.СерийныеНомера.ПустаяСсылка)
   |         ТОГДА ВсеТоварыСгруппированно.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВсеТоварыСгруппированно.ЕдиницаИзмерения.Коэффициент
   |      ИНАЧЕ ВсеТоварыСгруппированно.Количество
   |   КОНЕЦ КАК Количество,
   |   ВсеТоварыСгруппированно.ЕдиницаИзмерения,
   |   ВсеТоварыСгруппированно.Номенклатура.СрокГарантии КАК СрокГарантии,
   |   ВсеТоварыСгруппированно.Номенклатура.СрокГарантииДн КАК СрокГарантииДн,


|ВЫБРАТЬ
   |   ВсеТоварыСгруппированно.Номенклатура,
   |   ВсеТоварыСгруппированно.ХарактеристикаНоменклатуры,
   |   ВсеТоварыСгруппированно.СерийныйНомер,
   |   ВЫБОР
   |      КОГДА ВсеТоварыСгруппированно.СерийныйНомер <> ЗНАЧЕНИЕ(Справочник.СерийныеНомера.ПустаяСсылка)
   |         ТОГДА ВсеТоварыСгруппированно.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВсеТоварыСгруппированно.ЕдиницаИзмерения.Коэффициент
   |      ИНАЧЕ ВсеТоварыСгруппированно.Количество
   |   КОНЕЦ КАК Количество,
   |   ВсеТоварыСгруппированно.ЕдиницаИзмерения,
   |   ВсеТоварыСгруппированно.Номенклатура.СрокГарантии КАК СрокГарантии,
   |   ВсеТоварыСгруппированно.Номенклатура.СрокГарантииДн КАК СрокГарантииДн,
   |   ВЫБОР
   |      КОГДА &КодАртикул = ""Код""
   |         ТОГДА ВсеТоварыСгруппированно.Номенклатура.Код
   |      КОГДА &КодАртикул = ""Артикул""
   |         ТОГДА ВсеТоварыСгруппированно.Номенклатура.Артикул
   |      ИНАЧЕ """"
   |   КОНЕЦ КАК КодАртикул

Оффлайн t-l

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-28
  • Сайт: 
Я так понимаю что истина здесь:

   Если ВыписыватьГарантийныйТалон И ЭлементыФормы.СрокГарантии.Доступность Тогда
      ЭлементыФормы.СрокГарантии.АвтоОтметкаНезаполненного = Истина;
   Если ВыписыватьГарантийныйТалон И ЭлементыФормы.СрокГарантииДн.Доступность Тогда
      ЭлементыФормы.СрокГарантииДн.АвтоОтметкаНезаполненного = Истина;

   Иначе
      ЭлементыФормы.СрокГарантии.АвтоОтметкаНезаполненного = Ложь;
      ЭлементыФормы.СрокГарантии.ОтметкаНезаполненного     = Ложь;
      ЭлементыФормы.СрокГарантииДн.АвтоОтметкаНезаполненного = Ложь;
      ЭлементыФормы.СрокГарантииДн.ОтметкаНезаполненного     = Ложь;
   КонецЕсли;
   КонецЕсли;


Теги:
 

Проблема с выгрузкой НН в "Звит" Не найдено соответствие для схемы "J1201008"

Автор AldemaHРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2167
Последний ответ 06 Июл 2016, 09:19
от AldemaH
проблема с "ЗагрузкаДанныхИзТабличногоДокумента"

Автор bratmaratРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 6617
Последний ответ 08 Янв 2014, 14:30
от LordWizard
Проблема с развертыванием окон и сохранением окон

Автор SokresРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5660
Последний ответ 09 Дек 2015, 14:09
от pavl_vs
Проблема с отчетом "Перемещение товаров"

Автор sailРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4668
Последний ответ 14 Дек 2010, 20:27
от progmikon
1C 8.2 УПП проблема с отчетом "Задолженость по контрагентам"

Автор LeonidLeonidРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4864
Последний ответ 26 Сен 2011, 20:42
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
oooo800
39 Сообщений
LexaK
31 Сообщений
IL2016
29 Сообщений
Дмитрий Джей Дмитрий Джей
29 Сообщений
antoneus antoneus
25 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
illiona
10 Сообщений

* Кто онлайн

  • Точка Гостей: 200
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal