func NewActiveGroups(p P) *E {
	c := []string{
		"groups.Group_Name IS NOT EMPTY",
		"supporter.Email IS NOT EMPTY",
		"supporter.Email LIKE %@%.%",
		//Left join munges Receive_Email, see SCT-969.
		//"supporter.Receive_Email>0",
	}

	e := NewEnv(p)
	e.Conditions = c
	e.Fields = p.T.Groups.Fields
	e.Headers = p.T.Groups.Headers
	e.Keys = p.T.Groups.Keys
	e.CsvFilename = "groups.csv"
	e.TableName = "supporter(supporter_KEY)supporter_groups(groups_KEY)groups"
	e.CountTableName = "supporter_groups"
	e.PrimaryKey = "groups_KEY"
	return e
}
//NewActiveGroups instantiates an environment for copying Groups and Emails
//to CSV files.
NewActiveGroups instantiates an environment for copying Groups and Emails
to CSV files.
// NewActiveGroups instantiates an environment for copying Groups and Emails // to CSV files .
func NewActiveGroups(p P) *E {
	c := []string{
		"groups.Group_Name IS NOT EMPTY",
		"supporter.Email IS NOT EMPTY",
		"supporter.Email LIKE %@%.%",
	}
	e := NewEnv(p)
	e.Conditions = c
	e.Fields = p.T.Groups.Fields
	e.Headers = p.T.Groups.Headers
	e.Keys = p.T.Groups.Keys
	e.CsvFilename = "groups.csv"
	e.TableName = "supporter(supporter_KEY)supporter_groups(groups_KEY)groups"
	e.CountTableName = "supporter_groups"
	e.PrimaryKey = "groups_KEY"
	return e
}
func NewActiveGroups ( p P ) * E { c := [ ] string { " " , " " , " " , } e := NewEnv ( p ) e . Conditions = c e . Fields = p . T . Groups . Fields e . Headers = p . T . Groups . Headers e . Keys = p . T . Groups . Keys e . CsvFilename = " " e . TableName = " " e . CountTableName = " " e . PrimaryKey = " " return e }
NewActiveGroups instantiates an environment for copying Groups and Emails
to CSV files.
NewActiveGroups instantiates an environment for copying Groups and Emails to CSV files .
//Left join munges Receive_Email, see SCT-969. //"supporter.Receive_Email>0",