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

Автор Тема: Работа с таблицами справочника  (Прочитано 6102 раз)

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

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
В стандартной конфигурации Торговля и Склад имеется таблица Справочники.Скидки. В ней имеются поля Код, Наименование, Процент.

Подскажите пожалуйста как прописать процедуру изменения значения Процент в форме Документы.ЧекККМ когда в Поле со списком на этой форме выбрана строка из таблицы Справочники.Скидки.
Допустим при нажатии на Новую кнопку.


Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
я по моему в танке.  ещё раз  объясните пожалуйста : что где хотите получить, что нажать -  прямо по пунктам.

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
1) В таблице Справочники.Скидки заполняю строки
Наименование -> Петров
Процент -> 10
и так далее...
2) В Конфигураторе захожу Документы.ЧекККМ и на форме создаю кнопку Кнопка1
3) В данной форме ЧекККМ имеется поле ввода идентификатор "Скидка", тип Справочники.Скидки. В этом выбираю строку "Петров".
4) При нажатии на "Кнопка1" в таблице Справочник.Скидки должно меняться поле "Процент" допустим на число 20.

Это упрощенно. А так я не могу понять как происходит обращение к данной таблице через другую форму и элементы этой формы. Спасибо.


Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
4) При нажатии на "Кнопка1" в таблице Справочник.Скидки должно меняться поле "Процент" допустим на число 20 в строке с наименованием именно "Петров".

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
Кнопка не нужна.
Идея !!!ПРИМЕРНО!!! такая:

Процедура ПриОкончанииРедактированияСтроки()
Если Вопрос("Заводить скидку из документа в справочник", "Да+Нет",) = "Да" Тогда
 Скидка.Процент  = Окр(((1 -   Сумма/(Цена * Количество)) * 100),3,1);
КонецЕсли;
КонецПроцедуры;

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
Это верно. У меня только другой процедурой это сделано:

Процедура ПриИзмененииСкидки()
   Если СтараяСкидка<>Скидка Тогда
                    ПолучитьСтрокуПоНомеру(0);
                 Пока ПолучитьСтроку()=1 Цикл
                  Цена = глПолучитьЦену(Номенклатура, Константа.РозничныйТипЦен, ДатаДок, Единица, Валюта, Курс);
                  Сумма = Цена*Количество;             
               КонецЦикла;
            
      глПересчитатьСкидки(Контекст);               
               Если Пустоезначение(Скидка)=1 Тогда
               Пока ПолучитьСтроку()=1 Цикл
                  Цена = глПолучитьЦену(Номенклатура, Константа.РозничныйТипЦен, ДатаДок, Единица, Валюта, Курс);
                  Сумма = Цена*Количество;             
               КонецЦикла;
                КонецЕсли;


      СтараяСкидка = Скидка;
   КонецЕсли;
   Сообщить (СтараяСкидка); 
   Сообщить ("Скидка составила " + Скидка.Процент + " %");
   
   
КонецПроцедуры // ПриИзмененииСкидки()



Вопрос то у меня такой: Каким методом можно изменять данные в самй таблице справочника Справочник.Скидки. То есть система накопительных скидок. Пробили чек на выбранного человека из этого справочника и скидка у него увеличилась на определенный процент и записалась. Я год назад все это делал но утратил базу и щас не могу вспомнить какими методами идет обращение к таблицам справочника.


Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
Скидка - это реквизит формы документа (справочник скидки), скидка.процент - это реквизит спр скидка.
Что значит "какими методами идет обращение к таблицам справочника" - обратись к  "скидка" :
скидка.процент = ...
А менять проценты в справ. исходя из пробитых Чеков можешь по разному (регистры например, чтоб не путалось ничего).
Опять не так понял?

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо большое за ответы!

Постараюсь объяснить проще.
Как мне записать в справочник в определенный номер строки значение "Процент"?
Допустим Процент в справочнике Скидки на пятой строке равен 10.
Как сделать чтобы Процент именно пятой стоки стал равен 15 и записался в справочник?
Вот на таком примере:

На форме в Поле ввода выбрана строка "Петров Петр Петрович" (эта строка из таблицы Справочники.Скидки)

Процедура поКнПроверка()   
   
  Скидафон = СоздатьОбъект("Справочник.Скидки");
   
     
   
  КонецПроцедуры // поКнПроверка();



 Процедура ЗагрузитьВнешнююКомпоненту1();   
    ЗагрузитьВнешнююКомпоненту("amck1cchon.dll");

    AMC100K = СоздатьОбъект("AddIn.Amck1cChonExtension");
   
 КонецПроцедуры // ЗагрузитьВнешнююКомпоненту()



 

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С
Все разобрался. Спасибо!
Мне нужно было вот это:

Процедура поКнПроверка()   
     
    СпрСкидка = СоздатьОбъект("Справочник.Скидки");
        
        СпрСкидка.НайтиПоНаименованию(Скидка.Наименование);
         СпрСкидка.Процент = 100;
    СпрСкидка.Записать();
      
  КонецПроцедуры // поКнПроверка();

Оффлайн WindFree

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-12-01
  • Сайт: 
  • Профессия: Ученик 1С


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal