Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:10

Кнопка "Записать"

Автор Воитель, 18 ноя 2011, 13:54

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

Воитель

Здравствуйте
Я плохо знаю 1С, точнее можно сказать что вообще не знаю.

Где пишется код который запускается при нажатии на кнопку "Записать" в номенклатуре.
Хочу данные при нажатии на кнопку, отправлять в mysql.

Андрей Федотов

Существуют обработчики формы:
1) ПередЗаписью() - в нём можно сделать проверку
2) ПриЗаписи()
3) ПослеЗаписи()

Вам видимо нужен обработчик ПослеЗаписи(), т.к. хотите передавать только записанные данные в SQL

Воитель

В интернете нашё вот такой код:
Процедура Перенос()
Т = СоздатьОбъект(«Справочник.Номенклатура»);
Т.ВыбратьЭлементы();
Пока Т.ПолучитьЭлемент() = 1 Цикл
Если Т.ЭтоГруппа() = 1  Тогда
Продолжить;
КонецЕсли;
Стр = «INSERT INTO `tovar` SET `kod`  =»+»"»"+Т.Код+ «»"»+»,  `name`  =»+»"»"+Строка(Т.Наименование)+»"»";
Соединение.Execute(Стр);

Сообщить(«Перенесли – » + Т.Наименование);
КонецЦикла;
КонецПроцедуры

А как мне получить данные которые только что записались?
Я в 1С мало что понимаю.

sergejK74

Это код для 7.7. А вопрос в теме по 8.2. На какой платформе пытаетесь программировать?
Кнопочка Спасибо - слева!

Воитель

Функции ПослеЗаписи не было
Добавил такой код:
Процедура ПослеЗаписи(Отказ)
ТекстСообщения = НСтр("ru = 'Номенклатура уже участвует в товародвижении.
                            |Признак ""Вести учет по сериям"" не может быть изменен!'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "ВестиУчетПоСериям",, Отказ);
КонецПроцедуры


Но что-то сообщение после записи не какое не выводиться

Воитель


sergejK74

Мало функцию написать. ЕЕ еще нужно подцепить к событию формы. Вот здесь картинку посмотри https://forum-baza.ru/index.php?topic=11780.0
Кнопочка Спасибо - слева!

Воитель

Перечитал всю тему  - не понял.
Внутри Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
не нашёл ни какой привязке к форме.

sergejK74

Обрати внимание на картинке слева палитра свойств и к событию при изменении выбран обработчик. Тебе нужно правой кнопкой вызвать палитру свойств формы и для события после записи выбрать твой обработчик.
Кнопочка Спасибо - слева!

Воитель

Пробую.
А почему тогда, когда я в
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

   
Добавил:
ТекстСообщения = НСтр("ru = 'Привет МИР!'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "ЕдиницаХраненияОстатков",, Отказ);


Не только не выводиться сообщение но и перестало сохранять

Код писал на основе того что в Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Было:
// Надо проверить владельца единицы хранения остатков.
Если ЗначениеЗаполнено(ЕдиницаХраненияОстатков)
И ЕдиницаХраненияОстатков.Владелец <> Ссылка Тогда
ТекстСообщения = НСтр("ru = 'Неверно указан владелец единицы хранения остатков!'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "ЕдиницаХраненияОстатков",, Отказ);
КонецЕсли;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск