Просветите неофита, в какой структуре хранить данные.
Задача заключается в следующем.
Есть заказы от контрагента с несколькими филиалами. Число филиалов не фиксированное.
Каждый филиал может прислать свой заказ на определенную дату, может нет.
Заказы приходят в виде таблицы.
Товар1 Количество
Товар2 Количество
.....
ТоварN Количество
На выходе необходимо получить агрегированный заказ в виде таблицы
Филиал1 Филиал2 ФилиалN
Товар1 5 0 12
Товар2 0 0 13
ТоварN 10 0 0
Т. е. в случае наличия в заявке конкретного филиала этого товара с ненулевым количеством, количество добавляется в соответствующий столбец.
Вопрос не в том, как это сделать. А в какой структуре(если возможно) хранить подобные данные. Табличная часть документа не подходит, т. к. количество столбцов всегда разное...
Задача заключается в следующем.
Есть заказы от контрагента с несколькими филиалами. Число филиалов не фиксированное.
Каждый филиал может прислать свой заказ на определенную дату, может нет.
Заказы приходят в виде таблицы.
Товар1 Количество
Товар2 Количество
.....
ТоварN Количество
На выходе необходимо получить агрегированный заказ в виде таблицы
Филиал1 Филиал2 ФилиалN
Товар1 5 0 12
Товар2 0 0 13
ТоварN 10 0 0
Т. е. в случае наличия в заявке конкретного филиала этого товара с ненулевым количеством, количество добавляется в соответствующий столбец.
Вопрос не в том, как это сделать. А в какой структуре(если возможно) хранить подобные данные. Табличная часть документа не подходит, т. к. количество столбцов всегда разное...
По теме из базы знаний
- Как мы со Стасом завод за 2 месяца автоматизировали
- Как сдать экзамен 1С:Специалист по платформе?
- Молчание "best practices": тестовые и эталонные данные, структура и связность, падения и новая функциональность, и другие неудобные вопросы к сценарному тестированию
- Как из 1С отдать миллионы строк в BI и успеть это сделать быстро
- Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(31) agrustny, В конкретном случае таблица выглядит так.
ГипермаркетОзерки 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетКолпино 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетГатрчина 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
И таких строк может быть 29. Допустим. 2734555 Яблоки я засуну в справочник с привязкой к контрагент-филиал. Но остальные данные произвольные... Это и называется дублирование.
И ерничать не надо. 3 нормальная форма подразумевает простую вещь, не ключевые столбцы не должны зависеть друг от друга. Что реализовать с одной табличной, как-то сложно ;)
ГипермаркетОзерки 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетКолпино 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетГатрчина 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
И таких строк может быть 29. Допустим. 2734555 Яблоки я засуну в справочник с привязкой к контрагент-филиал. Но остальные данные произвольные... Это и называется дублирование.
И ерничать не надо. 3 нормальная форма подразумевает простую вещь, не ключевые столбцы не должны зависеть друг от друга. Что реализовать с одной табличной, как-то сложно ;)
(36) Вот Вы уже и накосячили, как предупреждал Вас (35):
ГипермаркетОзерки 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетКолпино 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетГатрчина 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
В результате на выходе у Вас будут Тыблоки, Грейпфрукты, Тыборги и Арониенбаумы
Набивают то узбеки, в лучшем случае - макаки.
Согласно пожеланиям (38) я завязываю.
Потратьте неделю, пройдите курсы 1С-Азы прогр
ГипермаркетОзерки 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетКолпино 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
ГипермаркетГатрчина 2734555 Яблоки Калибр 60+ Подложка белая 50кг. 30р.
В результате на выходе у Вас будут Тыблоки, Грейпфрукты, Тыборги и Арониенбаумы
Набивают то узбеки, в лучшем случае - макаки.
Согласно пожеланиям (38) я завязываю.
Потратьте неделю, пройдите курсы 1С-Азы прогр
Достаточно сделать обработку для загрузки заказов из файла, я так понял что из excel?
Там просто пробежаться по файлу, сформировать ТаблицуЗначений и потом ее обойти и создать столько документов и с такими данными которые нужно. Зачем вы придумываете велосипед с треугольными колесами?
Там просто пробежаться по файлу, сформировать ТаблицуЗначений и потом ее обойти и создать столько документов и с такими данными которые нужно. Зачем вы придумываете велосипед с треугольными колесами?
Спасибо,всем кто откликнулся.
Я почему и спрашиваю, что, возможно, у меня мысль движется не в правильном направлении...
Конфигурация самописная.
Заказы грузятся из файла. В данном случае html.
Делать отдельную заявку на каждый филиал не хочется, т. к. после загрузки всех заказов от филиалов к каждому товару вводится комментарий, упаковка, калибры и т. д., и делать одно и то же в каждой заявке бессмысленно.
Я почему и спрашиваю, что, возможно, у меня мысль движется не в правильном направлении...
Конфигурация самописная.
Заказы грузятся из файла. В данном случае html.
Делать отдельную заявку на каждый филиал не хочется, т. к. после загрузки всех заказов от филиалов к каждому товару вводится комментарий, упаковка, калибры и т. д., и делать одно и то же в каждой заявке бессмысленно.
Делать отдельную заявку на каждый филиал не хочется, т. к. после загрузки всех заказов от филиалов к каждому товару вводится комментарий, упаковка, калибры и т. д., и делать одно и то же в каждой заявке бессмысленно.
Если упаковка, калибры и т.д. жестко привязаны к товару, то может стоить их добавить в справочник? А комментарий тут уже зависит от ситуации, можно и в документе оставить.
P.S. И все-таки рекомендую глянуть одним глазом на документ ЗаказПокупателя.
Прикрепленные файлы:
(10) Andrew189100, а если появится новый филиал, то изменять код? Посмотрите все-таки, как решена эта же задача в документе УстановкаЦенНоменклатуры. Или, если квалификации не хватает (механизм довольно сложный), тот используйте по одному документу на каждый филиал. Загружать их можно по-прежнему, из одного файла, используя обработку, которая будет создавать столько документов, сколько филиалов в файле. В обработке же можно задавать и общие параметры для всех документов - комментарий, упаковка, калибры и т.д.
Все равно удобнее для каждого филиала создавать свой заказ, потому что в будущем возможно захочешь посмотреть что отгружалось и на какой филиал, и можно будет прощще посмотреть. А так это желательно сделать создать филиалы и создать головного контрагента у них, если это сеть то все покупки идут через головной и потом отгружаются по филиалам. Почему документ Заказы покупателя не подходят?
добавлю я все филиалы, как колонки и буду их скрывать если заказов нет
можно не заморачиваться, а оставить файлы (наверняка excel) как есть, зачем загружать? лично я почти всегда придерживаюсь принципа "разделить информацию на максимально возможное количество частей". собрать все до кучи всегда проще, чем выбирать из кучи. вы спросили
Вопрос не в том, как это сделать. А в какой структуре(если возможно) хранить подобные данные.
вам сказали в какой структуре, но под предлогом, что
Делать отдельную заявку на каждый филиал не хочется, т. к. после загрузки всех заказов от филиалов к каждому товару вводится комментарий, упаковка, калибры и т. д.,
и вы остались при своем мнении. возникает вопрос, а зачем тогда спрашивали? ))
Всем спасибо за советы. Сделал все-таки. Загрузка из html файлов. Отдельный файл на каждый филиал.
Т. к. в 1С пока не очень. Пошел знакомым путем работы с РСУБД. 3 табличные части Филиалы, Товары и Таблица связи. Потом распихиваю данные в в Таблицу значений и вывожу на УФ.
Теоретический вопрос. Если связь организовать через регистр сведений с измерениями товары, филиалы и ресурсом цена, даст ли это какое-то преимущество?
Т. к. в 1С пока не очень. Пошел знакомым путем работы с РСУБД. 3 табличные части Филиалы, Товары и Таблица связи. Потом распихиваю данные в в Таблицу значений и вывожу на УФ.
Теоретический вопрос. Если связь организовать через регистр сведений с измерениями товары, филиалы и ресурсом цена, даст ли это какое-то преимущество?
Теоретический вопрос. Если связь организовать через регистр сведений с измерениями товары, филиалы и ресурсом цена, даст ли это какое-то преимущество?
(15) Andrew189100, зачем регистр сведений?
3 табличные части Филиалы, Товары и Таблица связи. Потом распихиваю данные в в Таблицу значений и вывожу на УФ.
Делайте также, 3 таблицы, филиал, цена с номенклатурой, и связи между ними...
P.S. Прошу за откровенность, но фигню вы сделали...
(29),(19) Ну, если быть честными, то таки ДА, ТРИ ТАБЛИЦЫ
1) Справочник Номенклатура
2) Справочник Филиалы
3) ТЧ (6)
Бывает, что люди об одном и том же на разных языках разговаривают. Но что ни говори, терминология 1С для предметной области - очень удачная. Однако где-то неделю нужно к ней привыкать, если совсем "не в теме".
Может теперь все будет хорошо?
1) Справочник Номенклатура
2) Справочник Филиалы
3) ТЧ (6)
Бывает, что люди об одном и том же на разных языках разговаривают. Но что ни говори, терминология 1С для предметной области - очень удачная. Однако где-то неделю нужно к ней привыкать, если совсем "не в теме".
Может теперь все будет хорошо?
(30)Хм... А если 3 ТЧ, то получается 5 таблиц в СУБД
Кстати вопрос: для вывода преставления оно всё равно в справочник номенклатуры и филиалов полезет? (не в курсе просто)
То есть запрос вида:
Будет ли использовать неявные соединения со справочниками филиалы и номенклатура?
Кстати вопрос: для вывода преставления оно всё равно в справочник номенклатуры и филиалов полезет? (не в курсе просто)
То есть запрос вида:
Выбрать
ТЧ.Номенклатура,
ТЧ.Филиал,
ТЧ.Количество
ИЗ
ТЧДокумента как ТЧ
Будет ли использовать неявные соединения со справочниками филиалы и номенклатура?
(34) Sevens, Только филиалы. Вот живой запрос.
ВЫБРАТЬ
Номенклатура.НомерСтроки,
Номенклатура.ШтрихКкод,
Номенклатура.Наименование,
Номенклатура.ВидФасовки,
Номенклатура.Характеристика,
Номенклатура.ЕдИзмр,
Филиал.Наименование КАК Магазин,
ТаблицаСвязи.Количество
ИЗ
Документ.Заказы.Номенклатура КАК Заказы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказы.ТаблицаСвязи КАК ТаблицаСвязи
ПО (ТаблицаСвязи.НомерНоменклатуры = Заказы.НомерСтроки)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказы.Филиалы КАК Филиал
ПО (Филиал.Наименование.Код = ТаблицаСвязи.КодФилиала)
Показать
(22) Sevens, Да вы основы разработки БД потрясаете....
Конечно в данном случае будет быстрее из 3 таблиц. Т. к. в операции сравнения участвуют только числа. Банальная математика, что проще сравнить строку из 30 символов. Т.е минимум 240(в идеале) бит. Или ulong 32 бита. 1С это, конечно, хорошо. Только не надо забывать, что это всего лишь программа написанная на C++
Конечно в данном случае будет быстрее из 3 таблиц. Т. к. в операции сравнения участвуют только числа. Банальная математика, что проще сравнить строку из 30 символов. Т.е минимум 240(в идеале) бит. Или ulong 32 бита. 1С это, конечно, хорошо. Только не надо забывать, что это всего лишь программа написанная на C++
(33) Andrew189100,
интересная позиция, только почему-то вы придерживаетесь принципов заложенных в СУБД, а принципы заложенные в 1С не имеют значения. если они вас не устраивают, зачем тогда используете 1С. напишите свою программу на С++ со своими принципами.
к сожалению, из-за вашего непонимания принципов 1С довольно простая задача разрослась уже до популярной темы.
1С это, конечно, хорошо. Только не надо забывать, что это всего лишь программа написанная на C++
интересная позиция, только почему-то вы придерживаетесь принципов заложенных в СУБД, а принципы заложенные в 1С не имеют значения. если они вас не устраивают, зачем тогда используете 1С. напишите свою программу на С++ со своими принципами.
к сожалению, из-за вашего непонимания принципов 1С довольно простая задача разрослась уже до популярной темы.
(38) jigourt, 1С, это прежде всего бизнес-логика. И покупают ее не из-за того, что это вершина софтостроительства, а, как-раз из наработанной бизнес-логики в соответствии с законодательством. Пока бизнес-процесс "продажи" пождразумевает связь контрагент-товар. А не контрагент-Контрагентфилиал-товар.
О каких принципах можно говорить, если нет самого предмета.
У нас в комплексной так и ведется учет. Каждый филиал - отдельный контрагент.
Ладно. Закрывать тему надо. Т. к. разговор уже не туда ушел. Спасибо всем, кто пытался помочь...
О каких принципах можно говорить, если нет самого предмета.
У нас в комплексной так и ведется учет. Каждый филиал - отдельный контрагент.
Ладно. Закрывать тему надо. Т. к. разговор уже не туда ушел. Спасибо всем, кто пытался помочь...
(43) 1С - это прежде всего платформа для описания бизнес-логики.
И 1С выбирают не "из-за наработанной бизнес-логики в соответствии с законодательством" (тут вообще спорный вопрос, на сколько это реально купить типовую 1С и не допиливать её под себя), а из-за возможности подкорректировать программу под свою бизнес-логику, а не наоборот (+ соотношение трудозатрат/цены на такое изменение программного продукта).
Кстати, в (37) запрос не корректный, не хватает связи по ссылке. + Туда же вопрос про оптимальность. Если вы в запросе поставите условие , как думаете на сколько он будет оптимальным? Ведь сначала отработают связи и только после этого накладывается условие где (это к тому что запрос из 3х ТЧ работает быстрее чем из одной);)
И 1С выбирают не "из-за наработанной бизнес-логики в соответствии с законодательством" (тут вообще спорный вопрос, на сколько это реально купить типовую 1С и не допиливать её под себя), а из-за возможности подкорректировать программу под свою бизнес-логику, а не наоборот (+ соотношение трудозатрат/цены на такое изменение программного продукта).
Кстати, в (37) запрос не корректный, не хватает связи по ссылке. + Туда же вопрос про оптимальность. Если вы в запросе поставите условие
ГДЕ ССылка = &Ссылка
Номенклатура это обычная строка. Хранить ее в справочнике нет никакого смысла, т. к. это чистно внтуриклиентская штука. Она используется исключительно для маркировки товара и больше нигде не участвует. В моем случае она состоит. Из Наименование, ШтрихКод, Цена, Вид фасовки, Комментарий.
Причем, Вид Фасовки и Комментарий могут различаться в зависимости от магазина...
Наименование и ШтрихКод могут совпадать у контрагентов.
Если делать через справочник, получаетеся что номенклатуру нужно привязывать к Контрагент-Филиал.
Ч
Причем, Вид Фасовки и Комментарий могут различаться в зависимости от магазина...
Наименование и ШтрихКод могут совпадать у контрагентов.
Если делать через справочник, получаетеся что номенклатуру нужно привязывать к Контрагент-Филиал.
Ч
Никто ничего не набивает. Эти данные импортируются из html файла. Далее менеджер только комментирует(как раз для таджиков) что брать и во что фасовать.
Можно конечно и комментарий в справочник засунуть. Что-то типа:"Без загнива, подрезаем кончики, вес минимум 400гр." И то же самое. Только вес изменить на 400-500гр.
Можно конечно и комментарий в справочник засунуть. Что-то типа:"Без загнива, подрезаем кончики, вес минимум 400гр." И то же самое. Только вес изменить на 400-500гр.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот