Доброго времени суток, господа программисты!
Подскажите момент мне нужна обработка при появлений записей в РС отправлять уведомление по электронной почте.
Вообще то мне сказали сделать это РегламентнымЗаданием но я для теста и для себя все всегда переношу во внешние формы.
Поэтому пишу обработку но столкнулся с небольшими трудностями.
По сути теории я знаю побольше а вот практики не хватает прям сильно. Поэтому иногда происходит что я понимаю с теории но не понимаю как это сделать посредством кода.
Вопрос 1 правильно ли формировать два запроса в одной процедуре? Если у меня таблицы вообще не связаны по логике. Пример простой при появлений новых записей в РС шло уведомление по КИ ФизЛиц. В данном случае записи в регистре сведений попросту не совпадают с записями КонтактнойИнформации в справочнике Физических Лиц.
По сути мне предложили сделать все через новый справочник но я подумал почему не использовать лучше программные средства чем писать проще, но мне хочется больше использовать БСП и общие модули.
По сути обычно я формировал запросы и объединял их и как вложенные запросы и как ВТ. Но тут прям вообще не сходятся данные.
Все тоже самое по запросу 2
Вот теперь рождается вопрос №2
У меня два запроса выполняются в одной процедуре ВыполнитьПоискНужныхЗаписей () Экспорт соответственно на сервере
А вторая Процедура отвечает за ОтправкуУведомлений по почте через БСП РаботаСПочтовымиСообщениями и формирует текст письма.
Собственно сам вопрос как правильно передать значения из одной процедуры в другую? Нужно ли мне установить значения в цикле или правильно задать в процедуре и в цикле. ВыполнитьПоискНужныхЗаписей (Значение1, Значение2) и в цикле указать
Надо ли мне во второй Процедуре задавать те же значения или пер ОтправкуУведомлений (Значение1?)
Или достаточно передать значение из первой процедуры путем указание имени процедуры в данном случае
Адресат = ВыполнитьПоискНужныхЗаписей.АдресЭлектроннойПочты
Как правильно передать значения из одной процедуры в другую.
Подскажите момент мне нужна обработка при появлений записей в РС отправлять уведомление по электронной почте.
Вообще то мне сказали сделать это РегламентнымЗаданием но я для теста и для себя все всегда переношу во внешние формы.
Поэтому пишу обработку но столкнулся с небольшими трудностями.
По сути теории я знаю побольше а вот практики не хватает прям сильно. Поэтому иногда происходит что я понимаю с теории но не понимаю как это сделать посредством кода.
Вопрос 1 правильно ли формировать два запроса в одной процедуре? Если у меня таблицы вообще не связаны по логике. Пример простой при появлений новых записей в РС шло уведомление по КИ ФизЛиц. В данном случае записи в регистре сведений попросту не совпадают с записями КонтактнойИнформации в справочнике Физических Лиц.
По сути мне предложили сделать все через новый справочник но я подумал почему не использовать лучше программные средства чем писать проще, но мне хочется больше использовать БСП и общие модули.
По сути обычно я формировал запросы и объединял их и как вложенные запросы и как ВТ. Но тут прям вообще не сходятся данные.
Запрос = Новый Запрос
Запрос.Текс = бла бла бла
Запрос.Установить.Параметр блабала
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
ПоказатьВсе тоже самое по запросу 2
Вот теперь рождается вопрос №2
У меня два запроса выполняются в одной процедуре ВыполнитьПоискНужныхЗаписей () Экспорт соответственно на сервере
А вторая Процедура отвечает за ОтправкуУведомлений по почте через БСП РаботаСПочтовымиСообщениями и формирует текст письма.
Собственно сам вопрос как правильно передать значения из одной процедуры в другую? Нужно ли мне установить значения в цикле или правильно задать в процедуре и в цикле. ВыполнитьПоискНужныхЗаписей (Значение1, Значение2) и в цикле указать
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Значение1 = ""
КонецЦикла;
Надо ли мне во второй Процедуре задавать те же значения или пер ОтправкуУведомлений (Значение1?)
Или достаточно передать значение из первой процедуры путем указание имени процедуры в данном случае
Адресат = ВыполнитьПоискНужныхЗаписей.АдресЭлектроннойПочты
Как правильно передать значения из одной процедуры в другую.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Скорее всего да, просто куча способов как я понял. Но тут скорее всего и понять принцип как лучше, правильнее использовать для передачи параметров.
Скорее всего нужно так чтоб я мог использовать это и в ВО а потом перенести в глобальный модуль! Поэтому реквизиты ВО отпадают.
Скорее всего нужно так чтоб я мог использовать это и в ВО а потом перенести в глобальный модуль! Поэтому реквизиты ВО отпадают.
(8) Лучше сначала получить все необходимые данные, а потом их обрабатывать. Если два запроса разные по логике, то можно и разбить на два. Пожертвовать производительностью в угоду читабельности думаю можно. Данные можно передать, например, воспользовавшись менеджером временных таблиц, вся зарплата на них работает.
Добрый день, для заказчика главное - чтобы работало.
А для вас - чтобы заказчика все устраивало.
А по логике - чем меньше запросов к базе тем лучше.
В разных источниках пишут по разному, где одна процедура - один запрос, где все в одной - тут можно придерживаться 1С:Предприятие 8. Система стандартов и методик разработки конфигураций - в жизни пригодится
А для вас - чтобы заказчика все устраивало.
А по логике - чем меньше запросов к базе тем лучше.
В разных источниках пишут по разному, где одна процедура - один запрос, где все в одной - тут можно придерживаться 1С:Предприятие 8. Система стандартов и методик разработки конфигураций - в жизни пригодится
(7) Вы правы. Но по сути у меня почему то всегда куча решений в теории, а как обходиться на практики не совсем понимаю. Какой метод применить лучше.
В данном случае как будет лучше передать результаты запроса процедуры1 в процедуру2 и как правильно будет впоследствие указать правильно на команду в клиенте.
Нужно ли задавать параметры процедуры(Значение1, Значение2) и передавать их в процедуру2(Значение1, Значени2?
В данном случае как будет лучше передать результаты запроса процедуры1 в процедуру2 и как правильно будет впоследствие указать правильно на команду в клиенте.
Нужно ли задавать параметры процедуры(Значение1, Значение2) и передавать их в процедуру2(Значение1, Значени2?
(10)
&НаСервере
Процедура ВыполнитьПоискНужныхЗаписей() Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МП_ОчередьЧеков.ЧекККМ.Ссылка КАК Ссылка,
| МП_ОчередьЧеков.ЧекККМ.Дата КАК Дата,
| МП_ОчередьЧеков.ЧекККМ.Номер КАК Номер,
| МП_ОчередьЧеков.ЧекККМ.Ответственный КАК Ответственный
|ИЗ
| РегистрСведений.МП_ОчередьЧеков КАК МП_ОчередьЧеков
|СГРУППИРОВАТЬ ПО
| МП_ОчередьЧеков.ЧекККМ.Дата,
| МП_ОчередьЧеков.ЧекККМ.Ссылка,
| МП_ОчередьЧеков.ЧекККМ.Номер,
| МП_ОчередьЧеков.ЧекККМ.Ответственный";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи1 = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка КАК Ссылка,
| ФизическиеЛицаКонтактнаяИнформация.АдресЭП КАК АдресЭП
|ИЗ
| Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
|ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Тип = &Тип
| И ФизическиеЛицаКонтактнаяИнформация.Вид = &Вид
| И ФизическиеЛицаКонтактнаяИнформация.АдресЭП <> """"""""
| И НЕ ФизическиеЛицаКонтактнаяИнформация.Ссылка.ПометкаУдаления
| И ФизическиеЛицаКонтактнаяИнформация.Ссылка.Наименование = &Наименование";
Запрос.УстановитьПараметр("Наименование", Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван"));
Запрос.УстановитьПараметр("ВидКИЭлПочта", Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Электронная почта"));
Запрос.УстановитьПараметр("ТипКИЭлПочта", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи2 = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи2.Следующий() Цикл
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ОтправитьУведомлениеНаСервере()
УведомлениеОтправлено = ЛОЖЬ;
темаПисьма = "Весят очереди чеков";
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Некто";
СтруктураПолучатель = Новый Структура("Адрес,Представление");
СтруктураПолучатель.Адрес = ВыполнитьПоискНужныхЗаписей.АдресЭП;
СтруктураПолучатель.Представление = ВыполнитьПоискНужныхЗаписей.Ссылка;
времПолучателиСообщения = Новый Массив;
времПолучателиСообщения.Добавить(СтруктураПолучатель);
//СтруктураОтправитель = Новый Структура("Адрес,Представление");
//СтруктураОтправитель.Адрес = УчЗаписьЭлПочты;
//СтруктураОтправитель.Представление = СТРОКА(УчЗаписьЭлПочты); // "Системная учетная запись";
//времАдресаОтвета = Новый Массив;
//времАдресаОтвета.Добавить(СтруктураОтправитель);
времПараметрыПисьма = Новый Структура();
времПараметрыПисьма.Вставить("Кому", ВыполнитьПоискНужныхЗаписей.АдресЭП);
времПараметрыПисьма.Вставить("ПолучателиСообщения", времПолучателиСообщения);
времПараметрыПисьма.Вставить("Тема", темаПисьма);
времПараметрыПисьма.Вставить("Тело", телоПисьма);
времПараметрыПисьма.Вставить("ТипТекста", Перечисления.ТипыТекстовЭлектронныхПисем.ПростойТекст);
ИдентификаторПочтовогоСообщения = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(времПараметрыПисьма);
УведомлениеОтправлено = ИСТИНА;
Возврат УведомлениеОтправлено;
КонецФункции
&НаКлиенте
Функция ОтправитьУведомление(Команда)
ОтправитьУведомлениеНаСервере();
КонецФункции
Показать
(17)
Ну смотрите запрос1 тащит информацию из РС по факту мне нужна лишь запись которая там появляется ничего большего. Туда попадают зависшие ЧекККМ по бонусам.
Мне нужно чтоб как только появляется запись, уведомление о нем рассылалась конкретным людям (Службе поддержки). Решил использовать КИ ФизЛиц меньше заморочек чем с Пользователями.
Вот как логически связать две абсолютно разные таблицы, я пойму если было бы нужно чтоб рассылка шла ответственному лицу или как то привязка была в ЧекККМ но их нет. Поэтому составляю два запроса.
и? Вы же как-то собираетесь их программно обрабатывать.
Ну смотрите запрос1 тащит информацию из РС по факту мне нужна лишь запись которая там появляется ничего большего. Туда попадают зависшие ЧекККМ по бонусам.
Мне нужно чтоб как только появляется запись, уведомление о нем рассылалась конкретным людям (Службе поддержки). Решил использовать КИ ФизЛиц меньше заморочек чем с Пользователями.
Вот как логически связать две абсолютно разные таблицы, я пойму если было бы нужно чтоб рассылка шла ответственному лицу или как то привязка была в ЧекККМ но их нет. Поэтому составляю два запроса.
Снимаю вопрос я разобрался во всем.
Но есть момент мне сказали не использовать БСП РаботаСПочтовымиСообщениями а писать свой код при отправке, если есть кто знает примеры кода или же ветки на форуме попрошу поделиться.
Но есть момент мне сказали не использовать БСП РаботаСПочтовымиСообщениями а писать свой код при отправке, если есть кто знает примеры кода или же ветки на форуме попрошу поделиться.
(21)Вот пример, как отправить email письмо напрямую из УТ 11
УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
ТекстСообщения = Объект.НазваниеПрайса;
Тема = ТекстСообщения;
ИнПочта = Новый ИнтернетПочта;
ИнПрофиль = Новый ИнтернетПочтовыйПрофиль;
ИнПрофиль.ВремяОжидания = 180;
ЗаполнитьЗначенияСвойств(ИнПрофиль, УчетнаяЗапись);
ИнПрофиль.АдресСервераSMTP = УчетнаяЗапись.СерверИсходящейПочты;//"smtp.mail.ru";
ИнПрофиль.АдресСервераPOP3 = УчетнаяЗапись.СерверВходящейПочты;//"pop.mail.ru";
ИнПрофиль.ПользовательSMTP = ИнПрофиль.Пользователь;/
УстановитьПривилегированныйРежим(Истина);
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗапись, "Пароль, ПарольSMTP");
//УстановитьПривилегированныйРежим(Ложь);
ИнПрофиль.Пароль = Пароли.Пароль;
ИнПрофиль.ПарольSMTP = Пароли.ПарольSMTP;
ИнПрофиль.ИспользоватьSSLSMTP = Истина;
ИнПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Отправитель.Адрес = ИнПрофиль.Пользователь;//
Сообщение.Отправитель.ОтображаемоеИмя = "Какое-то имя";
Сообщение.Тема = Тема;
Сообщение.Тексты.Добавить(ТекстСообщения, ТипТекстаПочтовогоСообщения.HTML);
Сообщение.Отправитель = ИнПрофиль.Пользователь;
Для каждого Адрес из Адреса Цикл
Сообщение.Получатели.Добавить(Адрес);
КонецЦикла;
Попытка
ИнПочта.Подключиться(ИнПрофиль);
Исключение
Сообщить("При подключени к серверу произошла ошибка! Проверьте учетные данные профиля почты." + ОписаниеОшибки(), СтатусСообщения.Важное);
КонецПопытки;
Попытка
ИнПочта.Послать(Сообщение);
Сообщить("Письмо отправлено! Адрес: " + Адрес);
Исключение
Сообщить("При отправке возникли проблемы. Письмо не отправлено. Проверьте правильность заполнения профиля и почты." + ОписаниеОшибки(),СтатусСообщения.Важное)
КонецПопытки;
ИнПочта.Отключиться();
Показать
Блин поздно увидел, уже сам разобрался благодаря темам https://forum.infostart.ru/forum9/topic144507/ и https://infostart.ru/1c/articles/715184/
Момент такой, вы используете все таки СистемнаяУчетнаяЗаписьЭлектроннойПочты а мне ее запретили использовать поэтому я обошелся проще прописав прямо
Ну и в таком духе более упростив все.
Завтра мне все надо будет пихать в общий модуль под РеглЗадание но думаю разберусь имея уже рабочий код.
Единственный момент на появление новых записей в РС, запросом тащу информацию, а вот дальше подскажите что лучше будет использовать условные операторы или булево?
Момент такой, вы используете все таки СистемнаяУчетнаяЗаписьЭлектроннойПочты а мне ее запретили использовать поэтому я обошелся проще прописав прямо
АдресСервераSMTP = "smtp.yandex.ru";
ПортSMTP = "465";
Email = "";
Пароль ="";
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.yandex.ru";
Профиль.ПортSMTP = 465;
Ну и в таком духе более упростив все.
Завтра мне все надо будет пихать в общий модуль под РеглЗадание но думаю разберусь имея уже рабочий код.
Единственный момент на появление новых записей в РС, запросом тащу информацию, а вот дальше подскажите что лучше будет использовать условные операторы или булево?
Ребята подскажите момент Создал Запрос посредством конструктора с обработкой результата. После запроса выполняется Цикл Пока
Но из ВыборкаЗаписей мне тащится только 1ая строчка из запроса, а мне нужна вся таблица.
Хочется чтоб ВыборкаДетальныеЗаписи1 давала мне всю таблицу либо все строчки а не только первую!
Но из ВыборкаЗаписей мне тащится только 1ая строчка из запроса, а мне нужна вся таблица.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МП_ОчередьЧеков.ЧекККМ.Дата КАК Дата,
| МП_ОчередьЧеков.ЧекККМ.Номер КАК Номер,
| МП_ОчередьЧеков.ЧекККМ.Магазин КАК Магазин
|ИЗ
| РегистрСведений.МП_ОчередьЧеков КАК МП_ОчередьЧеков
|
|СГРУППИРОВАТЬ ПО
| МП_ОчередьЧеков.ЧекККМ.Дата,
| МП_ОчередьЧеков.ЧекККМ.Номер,
| МП_ОчередьЧеков.ЧекККМ.Магазин";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи1 = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
КонецЦикла;
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " +
ВыборкаДетальныеЗаписи1.Дата;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
ПоказатьХочется чтоб ВыборкаДетальныеЗаписи1 давала мне всю таблицу либо все строчки а не только первую!
(31)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МП_ОчередьЧеков.ЧекККМ.Дата КАК Дата,
| МП_ОчередьЧеков.ЧекККМ.Номер КАК Номер,
| МП_ОчередьЧеков.ЧекККМ.Магазин КАК Магазин
|ИЗ
| РегистрСведений.МП_ОчередьЧеков КАК МП_ОчередьЧеков
|
|СГРУППИРОВАТЬ ПО
| МП_ОчередьЧеков.ЧекККМ.Дата,
| МП_ОчередьЧеков.ЧекККМ.Номер,
| МП_ОчередьЧеков.ЧекККМ.Магазин";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи1 = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Розница 1С";
КонецЦикла;
Показать
(61)
Мне сказали как только идет поступление в РС формировалась письмо с записями всех чеков и отсылалось на почту. Про всякие ограничения копаю сам.
Длину строки темы или тела? Я видел письма с телом в километры и ничего хавал же протокол?
j в почтовых протоколах имеет ограничение на длину строки?
Мне сказали как только идет поступление в РС формировалась письмо с записями всех чеков и отсылалось на почту. Про всякие ограничения копаю сам.
Длину строки темы или тела? Я видел письма с телом в километры и ничего хавал же протокол?
(32)
Замените на
телоПисьма = "";
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
КонецЦикла;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Розница 1С";
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Розница 1С";
КонецЦикла;
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Розница 1С";
КонецЦикла;
Замените на
телоПисьма = "";
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
КонецЦикла;
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС
+ "С уважением," + СИМВОЛЫ.ПС
+ " Розница 1С";
(46)
Если тебя успокоит позорник то я выгружал через Таблицу Значений - но тогда он не понимает темаПисьма = "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
Он выгружает таблицу с Нуллами а при выборке он дает мне значения и кто же из нас позорник?
ОДНО
Если тебя успокоит позорник то я выгружал через Таблицу Значений - но тогда он не понимает темаПисьма = "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
Он выгружает таблицу с Нуллами а при выборке он дает мне значения и кто же из нас позорник?
(56) Ты просто что то кричал насчет чтоб не позорился, а теперь слился с темы, в принципе с тобой сразу все было понятно, обычный тролль который думает что знает 1с и шпиняет новичков, чистые проблемы твоего узкомыслящего менталитета, обычного воспитанния и культурности, где ты вырос!
(66) телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
---- К этой строчке прибавил ее же, т.е. просто задвоил строку.
Решение подсказал бывший начальник. Это же его коммент к вашему коду который я присобачил в цикл)
Правильным решением оказалось.
телоПисьма = "";
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
телоПисьма = телоПисьма + "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + " " + ВыборкаДетальныеЗаписи1.Магазин + Символы.ПС;
КонецЦикла;
ТемаПисьма = "Очередь Чеков";
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС + "С уважением," + СИМВОЛЫ.ПС + " Розница 1С";
Я понял что в цикле надо переменную прибавлять тогда и будет толк. Спасибо конечно за вашу активность и желание помочь.
---- К этой строчке прибавил ее же, т.е. просто задвоил строку.
Решение подсказал бывший начальник. Это же его коммент к вашему коду который я присобачил в цикл)
Правильным решением оказалось.
телоПисьма = "";
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
телоПисьма = телоПисьма + "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + " " + ВыборкаДетальныеЗаписи1.Магазин + Символы.ПС;
КонецЦикла;
ТемаПисьма = "Очередь Чеков";
телоПисьма = телоПисьма + СИМВОЛЫ.ПС + СИМВОЛЫ.ПС + "С уважением," + СИМВОЛЫ.ПС + " Розница 1С";
Я понял что в цикле надо переменную прибавлять тогда и будет толк. Спасибо конечно за вашу активность и желание помочь.
(69)Блин,
и
но это ведь это же одно и тоже(
Ладно, я пас
темаПисьма = "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + ВыборкаДетальныеЗаписи1.Магазин;;
телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
и
телоПисьма = телоПисьма + "Висят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " + ВыборкаДетальныеЗаписи1.Дата + " " + ВыборкаДетальныеЗаписи1.Магазин + Символы.ПС;
но это ведь это же одно и тоже(
Ладно, я пас
(30)
Если этот код вы будете выполнять в цикле телоПисьма у вас после каждого прохода будет обновляться, если хотите добавлять все в одну строку, то делайте
телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
перед началом цикла телоПисьма = "";
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " +
ВыборкаДетальныеЗаписи1.Дата;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
Если этот код вы будете выполнять в цикле телоПисьма у вас после каждого прохода будет обновляться, если хотите добавлять все в одну строку, то делайте
телоПисьма = телоПисьма + темаПисьма + "." + СИМВОЛЫ.ПС;
перед началом цикла телоПисьма = "";
(24)
КонецЦикла;
Переставьте в конец этого отрывка
Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
КонецЦикла;
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " +
ВыборкаДетальныеЗаписи1.Дата;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
КонецЦикла;
темаПисьма = "Весят очереди чеков" + " " + ВыборкаДетальныеЗаписи1.Номер + " от " +
ВыборкаДетальныеЗаписи1.Дата;;
телоПисьма = темаПисьма + "." + СИМВОЛЫ.ПС;
КонецЦикла;
Переставьте в конец этого отрывка
Считаю тему закрытой, нашел решение и разобрался с циклом Пока как правильно перебирать значения! Всем спасибо за внимание и ответы, в любом случае это тоже опыт!
Ну кроме Шайтана Турсынбека который редиска и который опозорился со своими знаниями цикла!
Ну кроме Шайтана Турсынбека который редиска и который опозорился со своими знаниями цикла!
(72) Да я понял, тут таких куча и вообще на форумах 1С. Самоутверждаются наверное, поднимают свою самооценку какие они крутые "спецы" и все знают и все могут, помочь или поделиться знаниями это не для них, а вот поязвить, посарказмировать они горазды. Благо мир состоит не только из них!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот