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

Автор Тема: Документ реализация  (Прочитано 1800 раз)

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

Оффлайн Xon

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-23
  • Сайт: 
Здравствуйте, Форумчане. Нужна помощь.
Стоит такая задача: сделать документ реализация, который автоматически (при создании/открытии документа) заполняет табличную часть из регистра сведений на текущую дату, либо на ту дату, которую укажет пользователь (регистр сведений  заполняется пользователем и имеет две колонки период и сама номенклатура). На форме имеется только три первые колонки (№, Точка продаж(контрагент) и Адрес) остальные колонки создаются программно (на каждую номенклатуру на дату из регистра сведений своя колонка (ручка, карандаш и т.п.), т.е. сколько пользователь забьет в регистр сведений номенклатуры столько и будет колонок(на текущую дату). В общем с созданием колонок проблем нет, но проблема в том, что нужно всю эту таблицу хранить виртуально (при записи, естественно ничего не сохраняется, кроме первых трех колонок).
Вот код:
Если ДокументОбъект.ЭтоНовый() Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СписокНоменклатурыСрезПоследних.Номенклатура,
| СписокНоменклатурыСрезПоследних.Период,
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| РегистрСведений.СписокНоменклатуры.СрезПоследних(&Дата, ) КАК СписокНоменклатурыСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
| ПО СписокНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура";

Запрос.УстановитьПараметр("Дата", Дата);
 
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Период Тогда
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = Строка("" + Выборка.Номенклатура + ", " + Выборка.Цена + "");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КонецЕсли;
КонецЦикла;
   
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = "Периодичность закупа";
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = "День недели закупа";
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить("Контакты");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить("Сумма");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КонецЕсли;
При повторном открытии документа табличная часть должна собираться в таком же порядке в каком записывал пользователь.
1С 8.2, обычное приложение


Оффлайн DmitriyF

  • *****
  • Сообщений: 729
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Здравствуйте, Форумчане. Нужна помощь.
Стоит такая задача: сделать документ реализация, который автоматически (при создании/открытии документа) заполняет табличную часть из регистра сведений на текущую дату, либо на ту дату, которую укажет пользователь (регистр сведений  заполняется пользователем и имеет две колонки период и сама номенклатура). На форме имеется только три первые колонки (№, Точка продаж(контрагент) и Адрес) остальные колонки создаются программно (на каждую номенклатуру на дату из регистра сведений своя колонка (ручка, карандаш и т.п.), т.е. сколько пользователь забьет в регистр сведений номенклатуры столько и будет колонок(на текущую дату). В общем с созданием колонок проблем нет, но проблема в том, что нужно всю эту таблицу хранить виртуально (при записи, естественно ничего не сохраняется, кроме первых трех колонок).
Вот код:
Если ДокументОбъект.ЭтоНовый() Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СписокНоменклатурыСрезПоследних.Номенклатура,
| СписокНоменклатурыСрезПоследних.Период,
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| РегистрСведений.СписокНоменклатуры.СрезПоследних(&Дата, ) КАК СписокНоменклатурыСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
| ПО СписокНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура";

Запрос.УстановитьПараметр("Дата", Дата);
 
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
Если Дата = Выборка.Период Тогда
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = Строка("" + Выборка.Номенклатура + ", " + Выборка.Цена + "");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КонецЕсли;
КонецЦикла;
   
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = "Периодичность закупа";
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить();
КолонкаТЧ.ТекстШапки = "День недели закупа";
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить("Контакты");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТЧ    = ЭлементыФормы.Товары.Колонки.Добавить("Сумма");
КолонкаТЧ.УстановитьЭлементУправления(Тип("ПолеВвода"));
КонецЕсли;
При повторном открытии документа табличная часть должна собираться в таком же порядке в каком записывал пользователь.
1С 8.2, обычное приложение
А почему нельзя записать данные в регистр при проведении????

Оффлайн Xon

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-23
  • Сайт: 
Вот как-то так должно выглядеть это:

Оффлайн temrmal

  • ***
  • Сообщений: 126
  • РЕПУТАЦИЯ: 15
  • КПД: 12%
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
Честно говоря, читая форум последнее время удивляюсь! Последние ветки своими "идеями" написания и реализации задач просто в ступор вводят. ИЗУЧАЙТЕ ТИПОВЫЕ ПРОГРАММЫ, Прежде чем разрабатывать свои!!!

Автор, во-первых данный механизм реализован в типовых УТ 10.3, УТ 11, Розница 2.0,3.0 и тд. в документе "Установка цен". Во-вторых, задача документа - делать запись в регистр, а не наооборот!!! В-третьих, представь себе если у тебя будет 100 позиций, это что 100 колонок???

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В-третьих, представь себе если у тебя будет 100 позиций, это что 100 колонок???
Не надо так эмоционально. Вообще-то в типовых есть и такие примеры, с динамическим добавлением произвольного числа колонок. Взять ту же установку цен номенклатуры в УТ 10. Там, как раз, очень даже культурненько можно добавить произвольное число колонок "Виды цен". и все прекрасно работает.

Оффлайн temrmal

  • ***
  • Сообщений: 126
  • РЕПУТАЦИЯ: 15
  • КПД: 12%
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
В-третьих, представь себе если у тебя будет 100 позиций, это что 100 колонок???
Не надо так эмоционально. Вообще-то в типовых есть и такие примеры, с динамическим добавлением произвольного числа колонок. Взять ту же установку цен номенклатуры в УТ 10. Там, как раз, очень даже культурненько можно добавить произвольное число колонок "Виды цен". и все прекрасно работает.


Я это выше и написал)))) Но номенклатура по колонкам - это бред. Это не отчет. Это табличная часть документа. А тем более в строках документа указан контрагент

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
В-третьих, представь себе если у тебя будет 100 позиций, это что 100 колонок???
Не надо так эмоционально. Вообще-то в типовых есть и такие примеры, с динамическим добавлением произвольного числа колонок. Взять ту же установку цен номенклатуры в УТ 10. Там, как раз, очень даже культурненько можно добавить произвольное число колонок "Виды цен". и все прекрасно работает.


Виды цен - НЕ аргумент. Их обычно ограниченное количество, а номенклатуры - километр!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Господа, сдается мне, вы не на том акцентируете внимание, ТС явно дал понять, он понимает, чего хочет.
т.е. сколько пользователь забьет в регистр сведений номенклатуры столько и будет колонок(на текущую дату)
Это из той серии, когда легче дать... чем объяснить почему нельзя. ТСу надо только объяснить заказчику, что "оно" будет ехать ОЧЕНЬ медленно.


Теги:
 

не находить контрагента (Выбрать * Из Документ ГДЕ контрагент = "имя контрагента")

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

Ответов: 3
Просмотров: 233
Последний ответ 23 Окт 2017, 23:14
от Ivan94
Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4396
Последний ответ 25 Ноя 2008, 10:43
от DDD
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 9330
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
не могу вывести отображение цен в "подборе" документ "Заявка покупателя" УТ 10.3

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

Ответов: 5
Просмотров: 3905
Последний ответ 05 Окт 2015, 19:22
от Виталий Емельянов
Как программно открыть документ программно

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

Ответов: 5
Просмотров: 19010
Последний ответ 10 Ноя 2010, 14:08
от Lexius

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal