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

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

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
Просмотров: 1406
Последний ответ 06 Июл 2016, 09:19
от AldemaH
проблема с "ЗагрузкаДанныхИзТабличногоДокумента"

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

AIFrame AIFrame
126 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
118 Сообщений
alexandr_ll
65 Сообщений
pavl_vs
40 Сообщений
alex0402
28 Сообщений
buketov.av buketov.av
24 Сообщений
magnifico61
21 Сообщений
wise wise
16 Сообщений
ilyay ilyay
15 Сообщений
mixei
14 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal