Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Работа со временной табицей. / 15 сообщений из 15, страница 1 из 1
12.11.2009, 11:14
    #36306121
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Здравствуйте!

Опишу кратко цель моей работы:
На форме документа имеется 2 табличных части. Смысл работы такой - Вводится запись в левую таблицу, допустим (пирог), в правой таблице записываем ингредиенты из которых пирог сделан допустим (мука, соль, яблоки). Далее снова запись вводится в левую таблицу и в правой записываются ингредиенты для новой записи.

В результате при выборе записи слева в правой части должны отображаться именно ингредиенты первой записи. (что то напоминает проводник, тыкаешь слева и видно что в папочке лежит)

В левой таблице вводится запись из справочника (номенклатура), там есть код номенклатуры и по нему я связываю с нашими новыми записями в левой таблице.

Решение проблемы вроде есть - при создании документа создаем временную таблицу и в нее пихаем наши ингредиенты, обрабатываем запросом и выводим нам нужные.

Вопросы:
1) Как обратиться к временной таблице из другой процедуры (пробовал из разных процедур пишет что таблица не найдена)

2) Как обновить временную таблицу, мне же надо добавлять туда записи (или это делается как с обычной таблицей? )

3) Если есть варианты проще, предлагайте не откажусь :)

Код на данный момент с использованием временной таблицы (но коряво работает, записи не добавляются...):

Процедура КомплектующиеПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
Если Комплектующие.Количество()>0 Тогда
Для Каждого СтрокаКомплектующие из Комплектующие Цикл
Элемент.ТекущаяСтрока.ДопКод = Элемент.ТекущаяСтрока.Номенклатура.Код;
КонецЦикла;


КонецЕсли;
КонецПроцедуры


Процедура ТаблицаЗагрузкиПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
перем фильтр;


Для Каждого СтрокаТаблицаЗагрузки из ТаблицаЗагрузки Цикл
Элемент.ТекущиеДанные.ДопКод = ЭлементыФормы.Комплектующие.ТекущиеДанные.ДопКод;
КонецЦикла;
КонецПроцедуры

Процедура КомплектующиеПриАктивизацииСтроки(Элемент)
перем фильтр;

ТаблицаЗагрузки.Очистить();


МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;


фильтр=элементыформы.Комплектующие.ТекущаяСтрока;
фильтр=Фильтр.допкод;


Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;


Запрос.Текст = "ВЫБРАТЬ
| КомплектацияНоменклатуры2ТаблицаЗагрузки.Номенклатура,
| КомплектацияНоменклатуры2ТаблицаЗагрузки.Количество,
| КомплектацияНоменклатуры2ТаблицаЗагрузки.ЕдиницаИзмерения
|ПОМЕСТИТЬ Временка
|ИЗ
| Документ.КомплектацияНоменклатуры2.Комплектующие КАК КомплектацияНоменклатуры2Комплектующие
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры2.ТаблицаЗагрузки КАК КомплектацияНоменклатуры2ТаблицаЗагрузки
| ПО КомплектацияНоменклатуры2Комплектующие.ДопКод = КомплектацияНоменклатуры2ТаблицаЗагрузки.ДопКод" ;


Запрос.УстановитьПараметр("КомплектацияНоменклатуры2ТаблицаЗагрузки", ТаблицаЗагрузки);
Запрос.Выполнить();
Запрос.Текст ="ВЫБРАТЬ
| Документ.КомплектацияНоменклатуры2.таблицазагрузки.номенклатура как номенклатура
|ИЗ
| Документ.КомплектацияНоменклатуры2.ТаблицаЗагрузки
|ГДЕ
| Документ.КомплектацияНоменклатуры2.ТаблицаЗагрузки.ДопКод = " + фильтр;



ТабЗагрузки = Запрос.Выполнить().Выгрузить();
МенеджерВременныхТаблиц.Закрыть();


Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл

НоваяСтрокаСпец = ТаблицаЗагрузки.Добавить();
НоваяСтрокаСпец.Номенклатура = Выборка.Номенклатура ;
КонецЦикла ;


КонецПроцедуры

P.S. Таблица слева - Комплектующие, справа - Таблица Загрузки.

Заранее благодарю за советы!
...
Рейтинг: 0 / 0
12.11.2009, 12:00
    #36306270
1C ник
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Ингридиенты какого типа? Тоже элементы справочника номенклатура? В дальнейшем нужно сохранять эту связь? Если так, то самое простое добавить регистр сведений для связи комплекта и входящих комплектующих и в правой таблице указать список регистра сведений с отбором по выбранному комплекту из левой части.

З.Ы. Чтобы в других процедурах использовать временную таблицу, необходимо передавать МВТ параметром в данную процедуру, либо (если все они в одном модуле) сделать мвт глобальной переменной модуля.... хотя, конечно, извращение...
...
Рейтинг: 0 / 0
12.11.2009, 12:07
    #36306299
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Да ингредиенты из справочника, мне нужно только сделать связь между блюдом так сказать и ингредиентами, я ее сделал через ДопКод (т.е. беру код номенклатуры и присваиваю его к ингредиенту и запрос делаю)

А как указать ссылку на МВТ?

P.S. есть книги только по 8.0 там вообще про временные таблицы нет, а в интернете только как их создавать, удалять и вводить данные из внешнего источника. Про обновление ничего нет...

Может есть у кого книги по встроенному языку 8.1 (не chm который в интернете)?
...
Рейтинг: 0 / 0
12.11.2009, 12:09
    #36306306
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm

и хелп от 1С в режиме конфиуратора - украли?
...
Рейтинг: 0 / 0
12.11.2009, 12:13
    #36306319
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Извините не знал, я 3й день с 1с работаю.

Но там тоже нету про обновление временной таблицы, с ней работать как с обычной?
И про вызов ее из других процедур тоже нету...
...
Рейтинг: 0 / 0
12.11.2009, 12:20
    #36306344
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
есть мнение что идет выдумывание некого велосипеда с квадратными колесами... бардак в архитектуре заставляет искать извраты...

оно конечно похвально что за 3 дня уже код видно, но есть смысл почитать "Проф. разработка в 8-ке" главы про структуры и хранение данных.
...
Рейтинг: 0 / 0
12.11.2009, 13:46
    #36306705
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
т.е. уже что то есть подобное а я это заново изобретаю?

я просто искал такую проблему по интернету и удивлен был что ничего нет подобного.
...
Рейтинг: 0 / 0
12.11.2009, 14:16
    #36306806
tester2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Зачем вам для этой задачи работа со временной таблицей? Создайте в конфигурации необходимые стурктуры и работайте с ними.
...
Рейтинг: 0 / 0
12.11.2009, 15:26
    #36307069
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Да мне какой то умный программист посоветовал все сделать через временную таблицу, я думал раз он 1с знает значит ему виднее :)

Мне главно чтобы записи отображались а как сделано не важно, все равно разбираться придется как и что делать...
...
Рейтинг: 0 / 0
12.11.2009, 15:48
    #36307132
1C ник
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Для хранения данных об ингридиентах все равно структуру писать придется - ИМХО, создать регистр сведений и прописать механизмы по его заполнению. (Можно поступить сурово и по франчевски - добавить ТЧ в элемент номенклатуры, но за такое в приличном обществе бьют по пальцам линейкой).
...
Рейтинг: 0 / 0
12.11.2009, 17:27
    #36307366
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
В общем мне разбираться как я понял надо со структурой?

Мне главное чтобы ввод данных, хранение и вывод был нормальный а остальное не существенно :)
И запросы тоже через структуру делать?
...
Рейтинг: 0 / 0
13.11.2009, 09:09
    #36308260
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
чего вы огород городите городите ? )
есть же система спецификций в УПП ?
а конструктор спецификаций?
срисовать слабо?
...
Рейтинг: 0 / 0
15.11.2009, 06:23
    #36311077
Isberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
Так все таки, как передать временную таблицу в другую процедуру?
...
Рейтинг: 0 / 0
15.11.2009, 14:39
    #36311271
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
проблема то в чем? Надо - выгрузить ее из запроса в ТЗ да передать...
...
Рейтинг: 0 / 0
20.11.2009, 22:13
    #36323441
ant2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа со временной табицей.
IsbergЗдравствуйте!

Опишу кратко цель моей работы:
На форме документа имеется 2 табличных части. Смысл работы такой - Вводится запись в левую таблицу, допустим (пирог), в правой таблице записываем ингредиенты из которых пирог сделан допустим (мука, соль, яблоки). Далее снова запись вводится в левую таблицу и в правой записываются ингредиенты для новой записи.



Если еще интересно, посмотри как сделана форма, например, для штатного расписания в конфигурации "Зарплата и управление персоналом". По моему это то что тебе надо, только еще больше упрости. Просмотр и запись. Просто и удобно. Но там все сделано через регистр сведений.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Работа со временной табицей. / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]