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

Автор Тема: Обратится к полю таблицы значений  (Прочитано 3498 раз)

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

Оффлайн Tanya_Lo

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

   ТаблицаДоп=МояФункцияКотораяВыполнетЗапрос(Объект.Ссылка);   
      
   Для Каждого ТекущаяСтрока Из ТаблицаДоп Цикл
      НоваяСтрока = Доп.Добавить();
   //ИСПОЛНИТЕЛЬ
   Если ТекущаяСтрока.ИсполнительДолжность<>ТекущаяСтрока.ИсполнительДолжностьСтарый  тогда
       новаяСтрока.Исполнитель=ТекущаяСтрока.ИсполнительФио;
   конецЕсли;

Но так  как тип у поля "ИсполнительДолжность" - СправочникСсылка - значение не получаю и сравнивать нечего...... Подскажите как его получить???


Оффлайн mixqn

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

если сложности с изменением запроса, покажите его текст

Оффлайн Tanya_Lo

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

Далее хочу вывести в таблице на форме список того - какие документы ДОП относятся к данному документу ДОГОВОР и какие реквизиты были изменены (вывести старое и новое значение).

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

 Выбираю все документы  ДОП - относящие к нужному мне Договору.
 Затем выгружаю Все в Таблицу Значений.
 Анализирую данные и вывожу на экран информацию типа "Было - " + Значение1 + "Стало"+ Значение2

&НаСервере
процедура ТЗзаполнить(Договор)
   ТаблицаДоп=Новый ТаблицаЗначений;
   ТаблицаДоп=ВЫЗОВ_Моей_функции(Объект.Ссылка);   
      
   Для Каждого ТекущаяСтрока Из ТаблицаДоп Цикл
   НоваяСтрока = Доп.Добавить();
   НоваяСтрока.НомерДопСоглашения=ТекущаяСтрока.НомерДопСоглашения;
   НоваяСтрока.ДатаДоп=ТекущаяСтрока.Дата;

   //ИСПОЛНИТЕЛЬ
   Если ТекущаяСтрока.ИсполнительДолжность<>ТекущаяСтрока.ИсполнительДолжностьСтарый тогда
      НоваяСтрока.Исполнитель="Исполнитель было -
                   "+ТекущаяСтрока.ИсполнительДолжностьСтарый
                    +ТекущаяСтрока.ИсполнительФИОСтарый+" стало -"
                    +ТекущаяСтрока.ИсполнительДолжность+" "+текущаяСтрока.ИсполнительФИО;
   конецЕсли;

        аналогично сравниваю другие поля.....

Помогите оптимизировать ЭТО .... ведь я так понимаю можно все и в запросе сделать .... пока не знаю как ....

Оффлайн wise

  • ****
  • Сообщений: 428
  • РЕПУТАЦИЯ: 58
  • КПД: 14%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
автоматизируя ХАОС получите автоматизированный ХАОС...(с)
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают


Теги:
 

"Таблица значений" в результате запроса - 1С

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

Ответов: 8
Просмотров: 751
Последний ответ 15 Июн 2017, 07:53
от mvk843
Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

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

Ответов: 6
Просмотров: 4697
Последний ответ 24 Ноя 2015, 15:38
от welldone
"Проверка мутабельных значений на заполненность не поддерживается"

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

Ответов: 5
Просмотров: 20764
Последний ответ 13 Фев 2011, 17:36
от proofet
Почему реквизит типа "список значений" может оказаться недоступным для изменения

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

Ответов: 2
Просмотров: 6224
Последний ответ 28 Июл 2011, 23:55
от Dethmontt
1C ЗУП 2.5 Помогите с отчетом "Списки сотрудников организации" Объединение значений ячеек

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

Ответов: 2
Просмотров: 1069
Последний ответ 10 Фев 2017, 10:49
от ksander-fars

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
61 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal