helpf.pro
Регистрация
 +1 
Распечатать

1С 7.x : Как из строки Представления Документа получить его Номер и Дату?

Код 1C v 8.х
 // Функция преобразовывает строку
// вида: "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г."
// и возвращает массив содержащий название документа, номер и дату
Функция РазбитьСтрокуДокументаНаНомерИДату(Стр)
Симв1 = Найти(Стр,":");
Симв2 = Найти(Стр,"№");
Симв3 = Найти(Стр,"от");
РезМассив = Новый Массив;
РезМассив.Добавить(СокрЛП(Сред(Стр,Симв1+1, Симв2-Симв1-1)));
РезМассив.Добавить(СокрЛП(Сред(Стр,Симв2+1, Симв3-Симв2-1)));
РезМассив.Добавить(СокрЛП(Сред(Стр,Симв3+2, СтрДлина(Стр)-Симв3)));
Возврат РезМассив;
КонецФункции

//Пример обращения
Реквизит1 = "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г.";
МассивСДанными = РазбитьСтрокуДокументаНаНомерИДату(Реквизит1);
Сообщить("Документ - "+МассивСДанными[0]);
Сообщить("Номер - "+МассивСДанными[1]);
Сообщить("Дата - "+МассивСДанными[2]);

// Результат Будет
// Документ - Счет на оплату
// Номер - 000415
// Дата - 30 июня 2008 г.



Код 1C v 7.x
  // Функция преобразовавает строку
// вида: "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г."
// и возвращает массив содержащий название документа, номер и дату
Функция РазбитьСтрокуДокументаНаНомерИДату(Стр)
Симв1 = Найти(Стр,":");
Симв2 = Найти(Стр,"№");
Симв3 = Найти(Стр,"от");
Список = СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв1+1, Симв2-Симв1-1)));
Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв2+1, Симв3-Симв2-1)));
Список.ДобавитьЗначение(СокрЛП(Сред(Стр,Симв3+2, СтрДлина(Стр)-Симв3)));
Возврат Список;
КонецФункции


//*******************************************
Процедура Сформировать()
Реквизит1 = "Введен на основании: Счет на оплату № 000415 от 30 июня 2008 г.";
СпЗсДанными = РазбитьСтрокуДокументаНаНомерИДату(Реквизит1);
Сообщить("Документ - "+ СпЗсДанными.ПолучитьЗначение(1));
Сообщить("Номер - "+ СпЗсДанными.ПолучитьЗначение(2));
Сообщить("Дата - "+ СпЗсДанными.ПолучитьЗначение(3));
КонецПроцедуры
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 35066
 +1 
Распечатать
Возможно, вас также заинтересует
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ;
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура РасчетШириныКолонок(Табличный
Ввести дату, ввод даты 1
ДатаНапоминания = РабочаяДата; Подсказка = "Введите дату и время"; ЧастьДаты = ЧастиДаты.ДатаВремя; Если ВвестиДату(ДатаНапоминания, Подсказка, ЧастьДаты) Тогда // обработка даты напоминания КонецЕсли Если ВвестиДату(Д, "Введите дату ссуды
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.