|
Флажки в табличном поле при опр условии | ☑ | ||
---|---|---|---|---|
0
Гоша М
20.04.18
✎
11:22
|
Ребят помогите пожалуйста,я создал новоую булевуюколонку в таблицу значений, в обработке "Состояние обеспечения заказа", мне нужно сделать так чтобы в эту колонку ставился флажок, если поставщик прислал номер счета для оплаты,понял что нужно сделать примерно так, влезть в процедуру обработки заказов, и перебрать все заказы, если в заказе счет выстовлен, тогда в мою колонку отметку, помогите , как это сделать
|
|||
1
Гоша М
20.04.18
✎
13:23
|
Платформа 1С:Предприятие 8.3, типовая конфигурация Управление торговлей 11, обработка "Состояние Обеспечения заказа", сделал булевую колонку, по умолчанию выставил ложно,
|
|||
2
catena
20.04.18
✎
13:26
|
Гога, вы бы хоть какой-то код показали. Лениво народу писать для вас все с нуля.
|
|||
3
Гоша М
20.04.18
✎
13:34
|
БылОтборПоНоменклатуре = УстановленОтборПоНоменклатуре;
ПолеНоменклатура = Новый ПолеКомпоновкиДанных("Номенклатура"); УстановленОтборПоНоменклатуре = Не ОбеспечениеКлиентСервер.ПроверитьНаличиеНастройки(КомпоновщикНастроек, ПолеНоменклатура, ""); ЭтоСостояниеОбеспеченияЗаказов = Не Параметры.ВызовИзФормыЗаказа И Параметры.Заказы.Количество() = 0; УстановленОтборПоНоменклатуре = УстановленОтборПоНоменклатуре Или ЗначениеЗаполнено(ОтборНоменклатура) И ЭтоСостояниеОбеспеченияЗаказов; УстановленОтборПоНоменклатуре = УстановленОтборПоНоменклатуре Или ТекущийЗаказ <> Неопределено; Если БылОтборПоНоменклатуре И Не УстановленОтборПоНоменклатуре Тогда ЗаказыРаскрытые.Очистить(); КонецЕсли; Состояние = СостояниеОбеспеченияЗаказов(); ОбновитьСтрокиТаблицыТовары(Состояние.Потребности); Итоги = Новый Структура("СтатусыИспользуются", Ложь); СписокКолонокНовый = ЗаполнитьДатыОбеспеченияПотребностей(Состояние.ОстаткиИобороты, Состояние.ГрафикПоступления, Итоги); ОбновитьКолонкиТаблицыТовары(СписокКолонокНовый); ЗаполнитьКолонкиСостояниеИРекомендацииТаблицыТовары(); Элементы.ГруппаСтатусУпаковка.Заголовок = ?(Итоги.СтатусыИспользуются, НСтр("ru = 'Статус/Ед. изм.'"), НСтр("ru = 'Ед. изм.'")); Элементы.СгруппироватьМатериалы.Видимость = ДоступнаГруппировкаТоваров; Элементы.ЕстьОтбор.Видимость = ЕстьОтбор(КомпоновщикНастроек.ПользовательскиеНастройки.Элементы); Для каждого СтрокаТаблицаЗаказа из ТаблицаЗаказа Цикл Если КоличествоПоВсемСкладам КонецЦикла; |
|||
4
Гоша М
20.04.18
✎
13:36
|
последний цикл пока только набросок
|
|||
5
Admin_Net_1C
20.04.18
✎
13:41
|
(3) в СтрокаТаблицаЗаказа есть ссылка на документ заказа?
|
|||
6
Гоша М
20.04.18
✎
13:48
|
Это вы про последний цикл спрашиваете
|
|||
7
Admin_Net_1C
20.04.18
✎
13:49
|
(6) логично
|
|||
8
Гоша М
20.04.18
✎
13:50
|
Кажется нет
|
|||
9
Гоша М
20.04.18
✎
13:51
|
последний цикл, это пока набросок для того чтобы перебрать строки ТаблицыЗаказа
|
|||
10
Admin_Net_1C
20.04.18
✎
13:52
|
(9) что в переменной ТаблицыЗаказа ?
|
|||
11
Гоша М
20.04.18
✎
13:54
|
пока ничего, это название таблицы в которой колонки и строки
|
|||
12
Admin_Net_1C
20.04.18
✎
14:10
|
(0) судя по всему, Вы пытаетесь изменить процедуру ОбновитьСостояниеНаСервере...
Для того чтобы получить ссылку на заказ, Вам нужно обойти циклом все строки реквизита формы "Товары". Как это сделать, можно посмотреть в функции ЗаполнитьДатыОбеспеченияПотребностей, там есть цикл обхода: ... Для Каждого Заказ Из Товары.ПолучитьЭлементы() Цикл ... Внутри цикла, в переменной Заказ, Вы сможете получить ссылку на документ заказа. Далее, на основании имеющейся ссылки, реализуете свою логику: "...если в заказе счет выстовлен, тогда в мою колонку отметку.." |
|||
13
ice777
20.04.18
✎
14:18
|
(0) Ничего не понял.
но привести вид к флажку - это в свойствах колонки табличного поля. |
|||
14
Гоша М
20.04.18
✎
14:36
|
(12) да пытаюсь изменить, эту процедуру ОбновитьСостояниеНаСервере, насчет цикла обхода строк из функции ЗаполнитьДатыОбеспеченияПотребностей, это он?
Для Каждого Заказ Из Товары.ПолучитьЭлементы() Цикл Если Параметры.ВызовДляСтрокиПродукции И Не УстановленОтборПоНоменклатуре И Заказ.НомерСтрокиПродукция <> Параметры.РеквизитыЗаказа.НомерСтрокиПродукция Тогда Продолжить; КонецЕсли; |
|||
15
Admin_Net_1C
20.04.18
✎
14:38
|
(14) а там есть другой ? (Да, оно)
|
|||
16
Admin_Net_1C
20.04.18
✎
14:38
|
(14)(15) всмысле цикл )
|
|||
17
Гоша М
20.04.18
✎
14:39
|
ДА еще 1
|
|||
18
Гоша М
20.04.18
✎
14:39
|
щас покажу
|
|||
19
Гоша М
20.04.18
✎
14:40
|
вот вся функция
Функция ЗаполнитьДатыОбеспеченияПотребностей(ОстаткиИОбороты, ГрафикПоступления, Итоги) Работа = Перечисления.ТипыНоменклатуры.Работа; СписокКолонокНовый = Новый СписокЗначений(); ПараметрыОтбораОбособленные = Новый Структура("Номенклатура, Характеристика, Склад, Назначение"); ПараметрыОтбораРабот = Новый Структура("Номенклатура, Характеристика, Назначение, Подразделение"); ТаблицаОбособленныхПотребностей = ТаблицаОбособленныхПотребностей(); //Обособленные потребности обрабатываются отдельно. ПолностьюВНаличии = Истина; Для Каждого Заказ Из Товары.ПолучитьЭлементы() Цикл Если Параметры.ВызовДляСтрокиПродукции И Не УстановленОтборПоНоменклатуре И Заказ.НомерСтрокиПродукция <> Параметры.РеквизитыЗаказа.НомерСтрокиПродукция Тогда Продолжить; КонецЕсли; ПараметрыОтбора = Новый Структура("Номенклатура, Характеристика, Склад"); Для Каждого Потребность Из Заказ.ПолучитьЭлементы() Цикл Если ТребуетсяДинамическоеРаспределениеОстатков(Потребность.ТипНоменклатуры, Потребность.ВариантОбеспечения) Тогда НоваяСтрока = ТаблицаОбособленныхПотребностей.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Потребность); НоваяСтрока.Идентификатор = Потребность.ПолучитьИдентификатор(); Иначе ЗаполнитьЗначенияСвойств(ПараметрыОтбора, Потребность); ТаблицаОстатков = ОстаткиИобороты.Товары.НайтиСтроки(ПараметрыОтбора); ГрафикПоступленияТовара = ГрафикПоступления.НайтиСтроки(ПараметрыОтбора); Если ГрафикПоступленияТовара.Количество() > 0 Тогда ТаблицаОстатков = СкорректироватьТаблицуОстатковГрафикомПоступления( ОстаткиИобороты.Товары.Скопировать(ТаблицаОстатков), ГрафикПоступленияТовара); КонецЕсли; ДатыОбеспечения = ДатыОбеспеченияПотребности(Потребность, ТаблицаОстатков); ПослеЗаполненияДатОбеспечения(Потребность, СписокКолонокНовый, ПолностьюВНаличии, ДатыОбеспечения); КонецЕсли; КонецЦикла; ОбновитьИтогиПоЗаказу(Заказ, Итоги); КонецЦикла; ЗаполнитьДатыОбеспеченияОбособленныхПотребностей( ТаблицаОбособленныхПотребностей, СписокКолонокНовый, ПолностьюВНаличии, ОстаткиИОбороты); Если ПолностьюВНаличии Тогда //для картинки обеспечения "в целом по заказу" ВставитьЭлементВСписокЗначений(СписокКолонокНовый, НачалоДня(ТекущаяДатаСеанса())); КонецЕсли; Возврат СписокКолонокНовый; КонецФункции |
|||
20
Admin_Net_1C
20.04.18
✎
14:47
|
(19) см. (12) и дальше сам...
|
|||
21
Гоша М
20.04.18
✎
14:55
|
а как мне внутри цикла получить ссылку, просто прописать
СсылкаНаЗаказ = Заказ.Ссылка |
|||
22
Гоша М
20.04.18
✎
15:05
|
или по вот этому шаблону
СправочникСсылка = Справочники.ИмяСправочника.НайтиПоНаименованию() если для то для моего случая он как будет выглядить? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |