Имя: Пароль:
1C
1С v8
v8: Заполнение колонки в ТЗ - как?
0 bUbA
 
19.06.13
17:12
В регистр накопления добавил измерение Организация, теперь чтобы не перепроводить все документы выгрузил все данные регистра в ТЗ. Колонка Организация естественно пустая. Нужно её теперь заполнить. Подскажите как это сделать?
1 ДенисЧ
 
19.06.13
17:13
ТаблицаЗначений.ЗаполнитьЗначения (ValueTable.FillValues)
ТаблицаЗначений (ValueTable)
ЗаполнитьЗначения (FillValues)
Синтаксис:

ЗаполнитьЗначения(<Значение>, <Колонки>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Значение, которым необходимо заполнить строки таблицы.
<Колонки> (необязательный)

Тип: Строка.
Список имен колонок, разделенных запятыми, по которым производится заполнение строк таблицы значений.
Если параметр не указан, или передана пустая строка, будет заполнена вся таблица значений.
Описание:

Заполняет все строки таблицы значений указанным значением.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

ТаблицаЦен.ЗаполнитьЗначения(Рубли, "Валюта");
2 bUbA
 
19.06.13
17:22
если я заполняю колонку по справочнику организации, то как можно из этого справочника достать необходимую мне организацию, чтобы ей заполнить колонку?
3 salvator
 
19.06.13
17:23
(2) Найти по реквизиту "ИНН" к примеру.
4 ДенисЧ
 
19.06.13
17:23
(2) Как угодно. Хоть на форме выбери, хоть по наименованию, хоть по коду...
5 bUbA
 
19.06.13
17:27
Организация = Справочники.Организации.ОсновнаяОрганизация.Наименование;
тз.ЗаполнитьЗначения(Организация, "Организация");    
тз.ВыбратьСтроку();


сделал так, но строки всё равно пустые получаются, хотя судя по отладчику, всё заполняется...
6 salvator
 
19.06.13
17:28
(5) .Наименование убери
7 salvator
 
19.06.13
17:29
+(6) у тебя колонка имеет тип "справочникссылка.организации", а ты туда строку пытаешься засунуть
8 bUbA
 
19.06.13
17:33
спасибо! сейчас колонка заполняется, как теперь можно эту тз записать в регистр, но теперь с заполненной колонкой?
9 salvator
 
19.06.13
17:36
(8) Метод Загрузить()
10 bUbA
 
19.06.13
17:51
(9) ну всё сделал, и вроде бы заполняется и загружается всё, но в этой же обработке отдельной кнопкой вынес всё тот же запрос, чтобы проверить после загрузки, записались ли данные или нет, и там уже эта колонка снова пустая... что ж опять не так? может не так проверяю...
11 bUbA
 
19.06.13
17:51
или ничего не записывается
12 mikecool
 
19.06.13
17:53
ой щас пи..ц регистру наступит...
беги, дядь Мить!
13 bUbA
 
19.06.13
17:54
(12) я в тестовой базе сижу)
14 Aprobator
 
19.06.13
17:54
... в регистр накопления добавил ИЗМЕРЕНИЕ Организация.... это с каким регистром сие действие требуется?
15 Aprobator
 
19.06.13
17:55
(10) тип измерения проверь. Может промахнулся и нефига там не Справочник.Организации?
16 bUbA
 
19.06.13
17:56
(14) а что не так?
17 bUbA
 
19.06.13
17:56
(15) Тип СправочникСсылка.Организации
18 salvator
 
19.06.13
17:57
1. Проверь заполнение колонки в ТЗ. Точно заполнилась организация? Если да, то
2. Глазами посмотри в регистр. Пустая?
Тогда давай код как загружал ТЗ в регистр
19 Aprobator
 
19.06.13
17:57
просто интересно. Как бы измерение Организация связано с регламентированным учетом обычно. Вот и интересно из какого регистра управленческого учета потребовалось сделать регистр регламентированного учета?
20 Aprobator
 
19.06.13
17:58
или самопись какая?
21 bUbA
 
19.06.13
17:59
(19) это для идентичности баз разных фирм
22 mikecool
 
19.06.13
17:59
Регистр = СоздатьНаборЗаписей()
ТЗ = Регистр.Выгрузить
ТЗ.Заполнить(Организация, "Организация")
Регистр.Загрузить(ТЗ)
Регистр.Записать
23 bUbA
 
19.06.13
18:01
у меня так получилось

Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ПродажиТоваров.Организация,
                  |    ПродажиТоваров.Товар,
                  |    ПродажиТоваров.Партия,
                  |    ПродажиТоваров.Склад,
                  |    ПродажиТоваров.Контрагент,
                  |    ПродажиТоваров.ЕдиницаИзмерения,
                  |    ПродажиТоваров.Менеджер,
                  |ПродажиТоваров.СтавкаНДС,
                  |ПродажиТоваров.ТипЦены,
                  |    ПродажиТоваров.СуммаПрейскурантная,
                  |    ПродажиТоваров.НДС,
                  |ПродажиТоваров.СуммаОтпускная,
                  |    ПродажиТоваров.Количество
                  |ИЗ
                  |    РегистрНакопления.ПродажиТоваров КАК ПродажиТоваров";
                 
   тз = Запрос.Выполнить().Выгрузить();
   
   Организация = Справочники.Организации.ОсновнаяОрганизация;
   тз.ЗаполнитьЗначения(Организация, "Организация");    
   
   Рег = РегистрыНакопления.ПродажиТоваров;
   НаборЗаписей = Рег.СоздатьНаборЗаписей();
   НаборЗаписей.Загрузить(тз);
   тз.ВыбратьСтроку();
24 Aprobator
 
19.06.13
18:02
ик - Регистр накопления грузанулся без отбора по регистратору?
25 bUbA
 
19.06.13
18:02
судя по (22) я его не записал, правильно понимаю?
26 salvator
 
19.06.13
18:02
(23) Набор кто будет записывать?
27 Aprobator
 
19.06.13
18:04
(26) да кто ж его даст записать при таком раскладе то? Не период движения не регистратор. Это только на вскидку.
28 Aprobator
 
19.06.13
18:05
(25) и слава богу.
29 bUbA
 
19.06.13
18:05
(27) да, только что появилась эта ошибка
30 kiruha
 
19.06.13
18:09
Вместо запроса используй Прочитать() метод набора записей -
все нужное там уже будет
Ну и отбор по регистратору
и отключить итоги
31 Aprobator
 
19.06.13
18:15
(30) +100500. Тупо запросом отбираются все регистраторы делавшие движения по данному регистру. Дальше - дело техники.
32 Aprobator
 
19.06.13
18:16
по поводу итогов - хз. Регистр как то очень сильно похож на оборотный.
33 kiruha
 
19.06.13
18:16
Ага, но важно
Рег.УстановитьИспользованиеИтогов(Ложь);
34 kiruha
 
19.06.13
18:17
если не отключить будет после каждой записи пересчет итогов
35 bUbA
 
19.06.13
18:21
если я всё таки делаю это запросом, то и отбор по регистратору нужно в запросе устанавливать?
36 kiruha
 
19.06.13
18:25
Вероятно лучше все же книжку почитать
Как то совсем глухо
37 Aprobator
 
19.06.13
18:26
отбор в запросе - это надо было до пятницы придержать.
38 bUbA
 
19.06.13
18:28
НЗ=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НЗ.Отбор.Регистратор.Установить(док.Ссылка);
НЗ.Прочитать();
       
Движение=НЗ.Добавить();
Движение.Регистратор=док.Ссылка;
Движение.Активность=Истина;
Движение.СчетДт=ПланыСчетов.Хозрасчетный.ТоварыПереданныеНаКомиссию;
Движение.Период=док.Дата;
Движение.Организация=док.Организация;
НЗ.Записать();

этот пример может подойти?
39 kiruha
 
19.06.13
18:37
Ну нет времени читать - тогда пробуй и смотри что получается
40 bUbA
 
19.06.13
18:40
(39) ну а где можно про это прочитать?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс