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

Автор Тема: Добавить новую запись в регистр сведений  (Прочитано 17878 раз)

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

Оффлайн Tanya_Lo

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-07-19
  • Сайт: 
  • Профессия: Ученик 1С
Есть Регистр Сведений Цены (сделала его независимым).
измерение - товар
ресурс - цена.

Задача такая :
   В расходной накладной при выборе товара в графу "цена” должно заноситься значение из реквизита "ЦенаПродажи” справочника на дату документа. (это сделала, заполняю автоматически при выборе товара)
   Если в накладной значение цены продажи изменяется, то новое значение должно быть записано в периодический реквизит "ЦенаПродажи”. - как это реализовать?
 Подскажите код ...
Я так понимаю при записи - надо проверить изменил ли пользователь Цену продажи по сравнению с актуальной ценой в регистре сведений по товару и если да - по добавить новую строку в регистр??

Вот функция которой получаю цену

функция ПолучитьЦену(АктуальнаяДата, ЭлементНоменклатуры) экспорт
     Отбор=Новый Структура("Товар",ЭлементНоменклатуры);
    ЗначениеРесурса=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);
Возврат ЗначениеРесурса.Цена;
КонецФункции

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


Оффлайн Tanya_Lo

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-07-19
  • Сайт: 
  • Профессия: Ученик 1С
Кто-нибудь!! Ау .. подскажите ....

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1348
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
буквально недавно делал подобное - в договорах контрагентов историю изменения кредитного лимита надо хранить было.
завтра могу куски кода скинуть. сейчас времени нет.

вообще записи в регистр добавляются менеджером записи:
МенеджерЗаписи = РегистрыСведений.<ИмяРегистраСведений>.СоздатьМенеджерЗаписи();

Оффлайн Tanya_Lo

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-07-19
  • Сайт: 
  • Профессия: Ученик 1С
буквально недавно делал подобное - в договорах контрагентов историю изменения кредитного лимита надо хранить было.
завтра могу куски кода скинуть. сейчас времени нет.

вообще записи в регистр добавляются менеджером записи:
МенеджерЗаписи = РегистрыСведений.<ИмяРегистраСведений>.СоздатьМенеджерЗаписи();
Буду ждать "куски кода" )

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Регистры надо самому уметь писать. Как бы. Это не сложные переодические расчеты же.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1348
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
обещанный код:
Процедура ЗаписатьИсториюЛимитовДебиторки(Период, ЛимитДебиторки)

МенеджерЗаписи = РегистрыСведений.ИсторияИзмененийДопустимойСуммыЗадолженности.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ДоговорКонтрагента = Ссылка;
МенеджерЗаписи.Пользователь = ПараметрыСеанса.ТекущийПользователь;
МенеджерЗаписи.ДопустимаяСуммаЗадолженности = ЛимитДебиторки;
МенеджерЗаписи.Период = Период;

МенеджерЗаписи.Записать();

КонецПроцедуры

Процедура ПриЗаписи(Отказ)

Если НЕ Отказ И (ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем) Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИсторияИзмененийДопустимойСуммыЗадолженностиСрезПоследних.ДопустимаяСуммаЗадолженности
|ИЗ
| РегистрСведений.ИсторияИзмененийДопустимойСуммыЗадолженности.СрезПоследних(, ДоговорКонтрагента = &ДоговорКонтрагента) КАК ИсторияИзмененийДопустимойСуммыЗадолженностиСрезПоследних";

Запрос.УстановитьПараметр("ДоговорКонтрагента", Ссылка);

ЕстьОшибки = Ложь;

Попытка
// выполнение запроса в попытке для исключения ошибки прав доступа
Результат = Запрос.Выполнить();
Исключение
ЕстьОшибки = Истина;
КонецПопытки;

Если НЕ ЕстьОшибки Тогда
ТекДата = ТекущаяДата();

Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
// есть данные в истории
Если Выборка.ДопустимаяСуммаЗадолженности <> ДопустимаяСуммаЗадолженности Тогда
// значение изменилось, пишем в регистр
ЗаписатьИсториюЛимитовДебиторки(ТекДата, ДопустимаяСуммаЗадолженности);
КонецЕсли;
Иначе
// данных в истории еще нет - нужно создать первую запись в регистре, если значение ДопустимаяСуммаЗадолженности заполнено
Если ЗначениеЗаполнено(ДопустимаяСуммаЗадолженности) Тогда
ЗаписатьИсториюЛимитовДебиторки(ТекДата, ДопустимаяСуммаЗадолженности);
КонецЕсли;
КонецЕсли;

КонецЕсли;
КонецЕсли;

КонецПроцедуры
Добавлено: 20 Авг 2013, 08:15

у вас будет все 1 в 1, только подставьте свои объекты, регистры, реквизиты и т.п. (т.е. код будет в модуле справочника Номенклатура, регистр будет Цены и т.д.)

Оффлайн Tanya_Lo

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-07-19
  • Сайт: 
  • Профессия: Ученик 1С
Все, разобралась.


Теги:
 

Отличие проводки по регистру сведений от проводки по регистру накопления?

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

Ответов: 2
Просмотров: 5242
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавить поле "Свойство" в "Печать прайс-листа"

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

Ответов: 2
Просмотров: 306
Последний ответ 24 Фев 2018, 14:40
от useronforum
Добавить поле "Комментарий" в "Печать прайс-листа"

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

Ответов: 0
Просмотров: 270
Последний ответ 03 Мар 2018, 16:14
от useronforum
Как добавить столбец "Номенклатура" в таблицу "Реализация товаров и услуг"

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

Ответов: 9
Просмотров: 10894
Последний ответ 19 Ноя 2012, 11:12
от Gunner
Не активны кнопки "Добавить" и "Удалить" дополнительные строки в отчете по НДС

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

Ответов: 2
Просмотров: 314
Последний ответ 25 Янв 2018, 14:50
от kiksi

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
159 Сообщений
alex0402
73 Сообщений
oleg-x
68 Сообщений
AIFrame AIFrame
59 Сообщений
buketov.av buketov.av
41 Сообщений
wise wise
39 Сообщений
KOI8-R
34 Сообщений
ilyay ilyay
29 Сообщений
Alter
28 Сообщений
trialex3
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal