Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Perceff
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 110
1

Автоматическое заполнение поля "Комментарий" документа "заказ покупателя"

09.06.2015, 13:56. Просмотров 1089. Ответов 3
Метки нет (Все метки)

Всем здравствуйте!
Помогите, пожалуйста, решить такую задачку:
С сайта (на Битриксе) выгружаются заказы покупателя, необходимые мне данные из заказа записываются в свойства этого заказа. Нужно вытащить часть этих свойств и записать одной строкой в поле "Комментарий" заказа. Например, есть свойства: ФИО, телефон, e-mail. Поле "Комментарий" должно выглядеть: № документа; ФИО; телефон; e-mail.
Процедура должна выполнятся при записи документа если документ имеет определенный префикс(ы) или заполнено свойство "Сайт".
пока все что смог осилить, это вытащить в таблицу нужные свойства по конкретному заказу (делал через консоль запросов):
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ЗначенияСвойствОбъектов.Свойство.Наименование,
|   ЗначенияСвойствОбъектов.Значение
|ИЗ
|   РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
|   (ЗначенияСвойствОбъектов.Свойство.Наименование = &ФИО
|           ИЛИ ЗначенияСвойствОбъектов.Свойство.Наименование = &Телефон
|           ИЛИ ЗначенияСвойствОбъектов.Свойство.Наименование = &ЭлПочта
|           ИЛИ ЗначенияСвойствОбъектов.Свойство.Наименование = &Комментарий)
|   И ЗначенияСвойствОбъектов.Объект = &Заказ";
 
Запрос.УстановитьПараметр("Телефон", );
Запрос.УстановитьПараметр("ФИО", );
Запрос.УстановитьПараметр("Комментарий", );
Запрос.УстановитьПараметр("Заказ", );
Запрос.УстановитьПараметр("ЭлПочта", );
Результат = Запрос.Выполнить();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 13:56
Ответы с готовыми решениями:

Внешняя обработка заполнения документа "Заказ покупателя"
Всем опять здравствуйте! Я опять вернулась к этой проблеме, потому что она...

Для документа "ПродажаТоваров" на форму списка добавить "ПолеВвода"
Для документа "ПродажаТоваров" на форму списка добавить "ПолеВвода" с типом...

Заполнение табличной части документа "Инвентарных номеров"
Здравствуйте многоуважаемые форумчане. Обращаюсь к Вам за очередной помощью....

1С 8.3 Розница 2.1.4.9 "Текущая цена розницы" и "Остаток" в форме элемента "Номенклатура"
Есть ли готовое решение, можно через внешнюю форму нужно контроль "Текущая цена...

На форму списка товаров добавить "ТабличноеПоле" с типом значений "ДеревоЗначений"
1С.8.0 На форму списка товаров добавить "ТабличноеПоле" с типом значений...

3
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,595
Записей в блоге: 1
Завершенные тесты: 1
09.06.2015, 18:59 2
1C
1
2
3
4
выборка= Результат.выбрать();
 
Пока выборка.Следующий() Цикл
   Сообщить(Выборка.СвойствоНаименование + " - "+Выборка.Значение);
0
Perceff
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 110
10.06.2015, 12:45  [ТС] 3
Спасибо за подсказку, это конечно не совсем то, но с Вашей и метода Тыка помощью, часть задачи получилась:
код алгоритма:
1C
1
2
3
4
5
6
7
8
9
10
11
12
//данный код сформирован автоматически, но скорее всего он Вам пригодится
сч = 1;
комментарий = "";
Для Каждого СтрокаРезультата Из РезультатТаблица Цикл
   //алгоритм обработки строки результата - начало ------>
    Если комментарий = "" Тогда
        комментарий = СтрокаРезультата.Значение;
    Иначе
        комментарий = комментарий + "; "+СтрокаРезультата.Значение;
    КонецЕсли;  
   //алгоритм обработки строки результата - конец <------
     сч = сч + 1;
но только это у меня все работает в консоле запросов с отдельным вводом параметров и отдельным выполнением алгоритма. как теперь это перетащить в модуль и в какое место? В модуле документа есть Процедура
1C
1
2
3
4
5
ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если ОбменДанными.Загрузка  Тогда
        Возврат;
    КонецЕсли;
...
думаю втискиваться надо здесь, но меня смущает, что здесь как раз исключение при загрузке?? и еще не знаю как обратится к полю комментарий в таком варианте вроде не проходит:
1C
1
ЭлементыФормы.ФормаДокумента.Комментарий = комментарий;
и как получить номер документа, чтобы его также записать в поле комментарий
0
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,595
Записей в блоге: 1
Завершенные тесты: 1
10.06.2015, 14:38 4
Цитата Сообщение от Perceff Посмотреть сообщение
и еще не знаю как обратится к полю комментарий
1C
1
Комментарий = "Неожиданно ДА?";
Цитата Сообщение от Perceff Посмотреть сообщение
и как получить номер документа, чтобы его также записать в поле комментарий
1C
1
Комментарий = "Неожиданно ДА? И еще номер "+Номер+" и снова неожиданно ДА?";
Добавлено через 2 минуты
Цитата Сообщение от Perceff Посмотреть сообщение
Спасибо за подсказку, это конечно не совсем то
А кто вам сказал что я вообще собирался вам давать готовый алгоритм?

Я пытался заставить вас подумать что дальше делать с полученными переменными и видимо у меня это получилось =))

Добавлено через 2 минуты
Цитата Сообщение от Perceff Посмотреть сообщение
но меня смущает, что здесь как раз исключение при загрузке??
Пиши до условия на проверку загрузки
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2015, 14:38

Как создать колонку "Цена" и "Количество" в справочнике номенклатура
Подскажите как создать колонку &quot;Цена&quot; и &quot;Количество&quot; в справочнике номенклатура?

Как вызвать функцию формы "Обработки" из "Общего модуля"?
В Обработке реализована некая функция. Как мне вызвать ее из Общего модуля? ...

Ошибка при выполнении проведения документа "Бухгалтерская Операция"
При проведении документа БухгалтерскаяОперация выдает: Поле объекта не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru